Skip to main content
QUICK REVIEW

[논문 리뷰] DNNVM : End-to-End Compiler Leveraging Heterogeneous Optimizations on FPGA-based CNN Accelerators

Yu Xing, Shuang Liang|arXiv (Cornell University)|2019. 02. 20.
Advanced Neural Network Applications참고 문헌 37인용 수 9
한 줄 요약

DNNVM는 CNN 추론을 가속화하기 위해 그래프, 루프, 데이터 레이아웃 최적화를 통합하는 엔드 투 엔드 FPGA 컴파일러이다. 최적화를 그래프 수준의 변환으로 모델링하고 휴리스틱 부분그래프 동형성 알고리즘을 사용함으로써, DNNVM은 단순한 구현 대비 최대 1.26배의 성능 향상을 달성하고, Xilinx FPGA에서 VGG(2.82 TOPs/s)와 ResNet50(1.38 TOPs/s)에서 최신 기술 수준의 성능을 기록하며 자원 사용을 줄였다.

ABSTRACT

The convolutional neural network (CNN) has become a state-of-the-art method for several artificial intelligence domains in recent years. The increasingly complex CNN models are both computation-bound and I/O-bound. FPGA-based accelerators driven by custom instruction set architecture (ISA) achieve a balance between generality and efficiency, but there is much on them left to be optimized. We propose the full-stack compiler DNNVM, which is an integration of optimizers for graphs, loops and data layouts, and an assembler, a runtime supporter and a validation environment. The DNNVM works in the context of deep learning frameworks and transforms CNN models into the directed acyclic graph: XGraph. Based on XGraph, we transform the optimization challenges for both the data layout and pipeline into graph-level problems. DNNVM enumerates all potentially profitable fusion opportunities by a heuristic subgraph isomorphism algorithm to leverage pipeline and data layout optimizations, and searches for the best choice of execution strategies of the whole computing graph. On the Xilinx ZU2 @330 MHz and ZU9 @330 MHz, we achieve equivalently state-of-the-art performance on our benchmarks by naïve implementations without optimizations, and the throughput is further improved up to 1.26x by leveraging heterogeneous optimizations in DNNVM. Finally, with ZU9 @330 MHz, we achieve state-of-the-art performance for VGG and ResNet50. We achieve a throughput of 2.82 TOPs/s and an energy efficiency of 123.7 GOPs/s/W for VGG. Additionally, we achieve 1.38 TOPs/s for ResNet50 and 1.41 TOPs/s for GoogleNet.

연구 동기 및 목표

  • 서브옵티멀한 데이터 레이아웃과 파ip라이닝 스케줄링으로 인한 FPGA 기반 CNN 가속기의 성능 및 효율성 격차를 해소하기 위해.
  • 다양한 CNN 모델에 대해 수작업으로 FPGA 커널을 튜닝하는 복잡성을 줄이기 위해, 여러 추상화 수준에서 최적화를 자동화하기 위해.
  • 통합된 컴파일러 스택을 통해 자원 제약이 있는 FPGA에서 고처리량, 에너지 효율적인 추론을 가능하게 하기 위해.
  • 큰 片상 메모리에 의존하지 않고도 표준 CNN 모델인 VGG와 ResNet50에서 최신 기술 수준의 성능을 달성하기 위해.

제안 방법

  • DNNVM는 CNN 모델을 프레임워크에 종속되지 않은 중간 그래프 표현인 XGraph로 컴파일한다.
  • 데이터 레이아웃과 파이프라인 최적화를 그래프 수준의 문제로 정의함으로써 융합 기회를 종합적으로 탐색할 수 있도록 한다.
  • 휴리스틱 부분그래프 동형성 알고리즘이 레이어와 연산 간에 잠재적으로 유익한 융합 패턴을 모두 열거한다.
  • 루프 타일링, 데이터 레이아웃, 연산 융합의 공동 최적화를 수행하여 병렬성과 데이터 국소성을 극대화한다.
  • 어셈블러는 최적화된 스케줄에서 맞춤형 하드웨어 커널을 생성하고, 런타임 환경은 동적 모델 로딩과 실행을 지원한다.
  • 시스템은 다양한 CNN 아키텍처에서 정확성과 성능을 보장하기 위한 검증 프레임워크를 포함한다.

실험 결과

연구 질문

  • RQ1FPGA 기반 CNN 가속기의 컴파일러 스택에서 데이터 레이아웃, 루프 타일링, 연산 융합의 이종 최적화를 체계적으로 탐색할 수 있는 방법은 무엇인가?
  • RQ2그래프 수준의 모델링이 CNN 컴파일링에서 최적 실행 전략을 위한 검색 공간을 줄이는 데 미치는 영향은 무엇인가?
  • RQ3통합된 컴파일러 인프라는 큰 片상 메모리를 요구하지 않고도 VGG와 ResNet50와 같은 복잡한 모델에서 최신 기술 수준의 성능을 달성할 수 있는가?
  • RQ4자원 제약이 있는 FPGA에서 기존 컴파일러와 비교해 성능과 에너지 효율성 측면에서 제안된 방법의 성능은 어떠한가?
  • RQ5수동 최적화 대비 자동 융합 및 스케줄링으로부터 얻는 성능 향상은 얼마나 되는가?

주요 결과

  • Xilinx ZU9@330 MHz에서 DNNVM은 VGG에 대해 2.82 TOPs/s의 처리량과 123.7 GOPs/s/W의 에너지 효율성을 기록하여 새로운 최신 기술 수준을 수립했다.
  • ResNet50에 대해서는 DNNVM이 1.38 TOPs/s의 처리량을 달성하여 동일한 FPGA 플랫폼에서 최신 기술 수준의 성능을 나타냈다.
  • GoogLeNet에 대해서는 이종 최적화 덕분에 단순한 구현 대비 최대 1.26배의 성능 향상을 기록했다.
  • 성능을 유지하거나 향상시키면서도 이전의 FPGA 기반 CNN 가속기 대비 하드웨어 자원 소비를 감소시켰다.
  • 휴리스틱 부분그래프 동형성 알고리즘의 사용으로 조합 폭발 없이 융합 기회를 효율적으로 탐색할 수 있었다.
  • 컴파일러 스택은 여러 딥러닝 프레임워크 간 이식 가능하며, 다양한 CNN 모델을 맞춤형 FPGA 하드웨어로 자동 매핑할 수 있도록 지원한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.