Skip to main content
QUICK REVIEW

[논문 리뷰] A flexible FPGA accelerator for convolutional neural networks

Kingshuk Majumder, Nema, Shubham|arXiv (Cornell University)|2019. 12. 16.
CCD and CMOS Imaging Sensors참고 문헌 31인용 수 4
한 줄 요약

이 논문은 재구성 필요 없이 다양한 CNN 레이어 형상에 동적으로 적응하는 1D 처리 요소(PE)의 시스톨릭 어레이를 사용하는 유연한 FPGA 기반 CNN 가속기의 설계를 제시한다. 이는 종합적인 데이터 재사용을 통해 비용이 많이 드는 외부 메모리 액세스와 자원 미사용을 최소화하며, 실제 Xilinx VC709 FPGA에서 이론적 피크 성능의 상당한 비율을 유지하는 고성능을 달성한다. TensorFlow와의 완전한 통합은 공동 설계된 소프트웨어 스택을 통해 이루어진다.

ABSTRACT

Though CNNs are highly parallel workloads, in the absence of efficient on-chip memory reuse techniques, an accelerator for them quickly becomes memory bound. In this paper, we propose a CNN accelerator design for inference that is able to exploit all forms of reuse available to minimize off-chip memory access while increasing utilization of available resources. The proposed design is composed of cores, each of which contains a one-dimensional array of processing elements. These cores can exploit different types of reuse available in CNN layers of varying shapes without requiring any reconfiguration; in particular, our design minimizes underutilization due to problem sizes that are not perfect multiples of the underlying hardware array dimensions. A major obstacle in the adoption of FPGAs as a platform for CNN inference is the difficulty to program these devices using hardware description languages. Our end goal is to also address this, and we develop preliminary software support via a codesign in order to leverage the accelerator through TensorFlow, a dominant high-level programming model. Our framework takes care of tiling and scheduling of neural network layers and generates necessary low-level commands to execute the CNN. Experimental evaluation on a real system with a PCI-express based Xilinx VC709 board demonstrates the effectiveness of our approach. As a result of an effective interconnection, the design maintains a high frequency when we scale the number of PEs. The sustained performance overall is a good fraction of the accelerator's theoretical peak performance.

연구 동기 및 목표

  • 다양한 차원의 CNN 레이어 형상에 대해 재구성 없이도 최대한의 片상 메모리 재사용을 통해 FPGA 기반 CNN 가속기의 메모리 제약 성능 문제를 해결한다.
  • 고정된 2D PE 어레이의 한계를 극복하기 위해 임의의 레이어 형상에 적응 가능한 민감한 1D 시스톨릭 코어를 사용한다.
  • 배열 차원의 정확한 배수로 나누어지지 않을 경우 발생하는 자원 미사용 문제를 줄이기 위해 동적 타일링 및 레이어 타일의 매핑을 가능하게 한다.
  • 저수준 FPGA 복잡성을 추상화하기 위해 고수준 프레임워크(예: TensorFlow)와의 원활한 통합을 가능하게 하기 위해 공동 설계된 소프트웨어 스택을 제공한다.
  • 실제 FPGA 하드웨어에서 다양한 수의 처리 요소를 스케일링할 수 있도록 고주파수 및 성능 확장성을 확보한다.

제안 방법

  • 임의의 타일 형상의 CNN 레이어를 위한 복소 연산을 수행할 수 있는 1D 처리 요소(PE) 어레이 기반의 코어 수준 아키텍처를 설계한다.
  • 입력 특징 맵 재사용, 가중치 재사용, 부분 합 재사용, 그리고 입력, 출력 및 채널 차원을 모두 고려한 복합적 데이터 플로우 메커니즘과 맞춤형 인터커넥트를 구현한다.
  • 가속기로의 레이어 매핑을 최적화하기 위해 공동 설계된 소프트웨어 프레임워크 내에서 타일링 및 스케줄링 히우리스틱을 적용하여 외부 메모리 대역폭을 최소화한다.
  • TensorFlow의 XLA 백엔드 및 장치 등록을 개발하여, 저수준 하드웨어 프로그래밍 없이도 FPGA에서 CNN 모델의 엔드 투 엔드 실행을 가능하게 한다.
  • 고수준 합성 및 하드웨어 인식 스케줄링을 활용하여, PE 활용률이 극대화된 상태에서도 높은 클럭 주파수를 유지한다.
  • 고수준 그래프 표현에서 저수준 명령을 생성하여 런타임에 FPGA 가속기를 제어한다.

실험 결과

연구 질문

  • RQ1재구성 없이도 다양한 CNN 레이어 형상에서 입력, 가중치, 부분 합 등의 모든 형태의 데이터 재사용을 효율적으로 활용할 수 있는 FPGA 기반 CNN 가속기는 어떻게 설계할 수 있는가?
  • RQ22D 어레이 대비 1D 시스톨릭 어레이 아키텍처가 비정규적인 레이어 차원으로 인한 자원 미사용을 얼마나 줄일 수 있는가?
  • RQ3민감하고 재구성 가능한 FPGA 가속기가 처리 요소 수를 늘릴수록 높은 성능과 주파수를 유지할 수 있는가?
  • RQ4고수준 딥러닝 프레임워크인 TensorFlow가 공동 설계된 소프트웨어 스택을 통해 저수준 FPGA 가속기와 얼마나 효과적으로 통합될 수 있는가?
  • RQ5이론적 피크 대비 달성 가능한 성능은 얼마이며, 이는 이전의 오픈소스 FPGA CNN 가속기와 비교해 어떻게 되는가?

주요 결과

  • 1D 시스톨릭 어레이 아키텍처는 이론적 피크 성능의 높은 비율을 유지한다. 이는 유사한 하드웨어 환경을 가진 이전에 발표된 오픈소스 FPGA CNN 가속기들보다 현저히 높은 성능을 기록한다.
  • 처리 요소 수를 늘릴수록 높은 클럭 주파수를 유지함으로써 자원 효율적이고 인터커넥트 복잡도로 인한 면적 오버헤드가 최소화됨을 보여준다.
  • 소프트웨어 스택을 통해 TensorFlow를 통해 CNN 모델을 투명하게 실행할 수 있으며, 자동 타일링 및 스케줄링은 공동 설계 플로우에 의해 처리된다.
  • 이 가속기는 652개의 DSP 슬라이스를 사용하며, Zhang et al. [36] (61.2 GFLOPs) 및 Caffeine [35] (488 GOPs)와 비교해도 더 높은 성능을 기록한다. 이는 낮은 정밀도의 int8 연산을 사용한 점을 감안할 때 더욱 높은 성능을 의미한다.
  • 비정규적인 배열 차원 배수 문제로 인한 자원 미사용을 동적 타일 매핑을 통해 줄여, 다양한 레이어 형상에서 모든 PE를 효율적으로 활용할 수 있다.
  • PCI-Express 기반의 Xilinx VC709 FPGA에서의 실험 결과, 외부 메모리 액세스를 줄이고 높은 스루풋을 유지함으로써 설계의 효과성을 입증한다.

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

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

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

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