Skip to main content
QUICK REVIEW

[논문 리뷰] An OpenCL(TM) Deep Learning Accelerator on Arria 10

Utku Aydonat, Shane O’Connell|arXiv (Cornell University)|2017. 01. 13.
Advanced Neural Network Applications참고 문헌 13인용 수 17
한 줄 요약

이 논문은 Intel의 Arria 10 FPGA를 대상으로 한 OpenCL 기반 딥러닝 가속기(DLA)를 제안하며, 중간 활성화맵을 캐시하는 차등 스트림 버퍼 기법과 윈오드럼 변환을 활용해 외부 메모리 대역폭을 최소화함으로써 AlexNet에서 1020장/초의 성능과 23 img/s/W의 에너지 효율성을 달성한다. 이 DLA는 이전 FPGA 구현 대비 10배 높은 처리량과 8.4배 높은 GFLOPS 성능을 보이며, NVIDIA의 TitanX GPU 수준의 에너지 효율성을 확보한다.

ABSTRACT

Convolutional neural nets (CNNs) have become a practical means to perform vision tasks, particularly in the area of image classification. FPGAs are well known to be able to perform convolutions efficiently, however, most recent efforts to run CNNs on FPGAs have shown limited advantages over other devices such as GPUs. Previous approaches on FPGAs have often been memory bound due to the limited external memory bandwidth on the FPGA device. We show a novel architecture written in OpenCL(TM), which we refer to as a Deep Learning Accelerator (DLA), that maximizes data reuse and minimizes external memory bandwidth. Furthermore, we show how we can use the Winograd transform to significantly boost the performance of the FPGA. As a result, when running our DLA on Intel's Arria 10 device we can achieve a performance of 1020 img/s, or 23 img/s/W when running the AlexNet CNN benchmark. This comes to 1382 GFLOPs and is 10x faster with 8.4x more GFLOPS and 5.8x better efficiency than the state-of-the-art on FPGAs. Additionally, 23 img/s/W is competitive against the best publicly known implementation of AlexNet on nVidia's TitanX GPU.

연구 동기 및 목표

  • 외부 메모리 액세스를 최소화함으로써 FPGA 기반 CNN 추론에서 발생하는 메모리 대역폭 병목 문제를 해결하기 위해.
  • 기존 솔루션 대비 FPGA 기반 CNN의 에너지 효율성과 GFLOPS 성능을 향상시키기 위해.
  • 완전히 연결된 레이어를 포함한 AlexNet 아키텍처를 FPGA에 전체적으로 구현하기 위해.
  • TitanX와 같은 고성능 GPU와의 에너지 효율성 경쟁력을 입증하기 위해.
  • FPGA 기반 DLA 아키텍처를 위한 확장 가능하고 분석적으로 최적화된 설계 방법론을 제공하기 위해.

제안 방법

  • DLA는 중간 활성화맵을 캐시하기 위해 片상 스트림 버퍼를 사용하여 외부 메모리 대역폭을 한 단계 낮춘다.
  • 완전히 연결된 레이어에서 배치 처리를 적용하여 추가로 외부 메모리 액세스를 최소화한다.
  • 60% 이상의 DSP 활용도를 확보한 벡터화된 데이터 처리를 통해 하드웨어 효율성을 극대화한다.
  • 컨볼루션 연산의 수를 줄이기 위해 윈오드럼 변환을 적용한다.
  • 주어진 FPGA와 CNN에 대해 자원 사용량과 처리량을 분석적으로 최적화하기 위해 설계 공간 탐색 모델을 사용한다.
  • 모든 시스템을 Arria 10 FPGA에서의 이식성과 고수준 프로그래머빌리티를 확보하기 위해 OpenCL로 구현한다.

실험 결과

연구 질문

  • RQ1FPGA 기반 CNN 가속기에서 활성화맵을 片상 캐시함으로써 외부 메모리 대역폭을 상당히 감소시킬 수 있는가?
  • RQ2FPGA 기반 컨볼루션에서 윈오드럼 변환은 계산 복잡도를 어느 정도 감소시킬 수 있는가?
  • RQ3완전히 파ip라인화된 다층 CNN 가속기로 고성능 GPU 수준의 성능과 에너지 효율성을 달성할 수 있는가?
  • RQ4메모리 최적화와 알고리즘 변환의 조합이 FPGA에서 GFLOPS와 처리량을 어떻게 향상시키는가?
  • RQ5Arria 10 FPGA에서 처리량을 극대화하기 위해 자원 활용도와 벡터화의 최적 조합은 무엇인가?

주요 결과

  • DLA는 Arria 10 1150 FPGA에서 303 MHz로 구동할 때 AlexNet 벤치마크에서 1020장/초의 성능을 달성한다.
  • 시스템은 23 img/s/W의 에너지 효율성을 보이며, NVIDIA의 TitanX GPU와 동일한 수준이다.
  • DLA는 1382 GFLOPS를 달성하여 이전 최고 수준의 FPGA 구현 대비 10배 높은 처리량과 8.4배 높은 GFLOPS 성능을 확보한다.
  • 활성화맵의 片상 스트림 버퍼 캐시를 통해 외부 메모리 대역폭이 한 단계 감소한다.
  • 윈오드럼 변환은 컨볼루션에서 승산-누적 연산 수를 줄여 더 높은 계산 효율성을 가능하게 한다.
  • 설계는 60% 이상의 DSP 활용도를 확보하여 이전 FPGA 기반 CNN 가속기 대비 뚜렷이 향상된 하드웨어 자원 효율성을 확보한다.

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

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

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

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