Skip to main content
QUICK REVIEW

[논문 리뷰] Snowflake: A Model Agnostic Accelerator for Deep Convolutional Neural Networks

Vinayak Gokhale, Aliasger Zaidy|arXiv (Cornell University)|2017. 08. 08.
Advanced Neural Network Applications인용 수 11
한 줄 요약

Snowflake는 동적 트레이스 기반 메모리 액세스와 더블 버퍼링을 활용하여 다양한 현대 딥러닝 모델에서 91% 이상의 계산 효율성을 달성하는 모델에 종속되지 않는 FPGA 기반의 CNN 가속기이다. 이는 Xilinx Zynq XC7Z045 장치에서 250 MHz에서 256개의 MAC 유닛을 사용하여 128 G-ops/s의 최대 처리량을 달성하고, AlexNet을 100 FPS, GoogLeNet을 36.4 FPS, ResNet-50을 17 FPS로 처리한다.

ABSTRACT

Deep convolutional neural networks (CNNs) are the deep learning model of choice for performing object detection, classification, semantic segmentation and natural language processing tasks. CNNs require billions of operations to process a frame. This computational complexity, combined with the inherent parallelism of the convolution operation make CNNs an excellent target for custom accelerators. However, when optimizing for different CNN hierarchies and data access patterns, it is difficult for custom accelerators to achieve close to 100% computational efficiency. In this work, we present Snowflake, a scalable and efficient accelerator that is agnostic to CNN workloads, and was designed to always perform at near-peak hardware utilization. Snowflake is able to achieve a computational efficiency of over 91% on modern CNN models. Snowflake, implemented on a Xilinx Zynq XC7Z045 SoC is capable of achieving a peak throughput of 128G-ops/s and a measured throughput of 100 frames per second and 120 G-ops/s on the AlexNet CNN model, 36 frames per second and 116G- ops/s on the GoogLeNet CNN model and 17 frames per second and 122 G-ops/s on the ResNet-50 CNN model. To the best of our knowledge, Snowflake is the only implemented system capable of achieving over 91% efficiency on modern CNNs and the only implemented system with GoogLeNet and ResNet as part of the benchmark suite.

연구 동기 및 목표

  • 다양한 네트워크 아키텍처에서 발생하는 비정규적인 데이터 액세스 패턴으로 인한 커스텀 CNN 가속기의 낮은 계산 효율성 문제를 해결한다.
  • 재구성 필요 없이 다양한 CNN 워크로드에서 높은 활용도를 유지할 수 있는 확장성 있고 모델에 종속되지 않는 가속기를 설계한다.
  • 지능적인 메모리 액세스 스케줄링을 통해 DRAM 지연을 효과적으로 숨기면서 최고 성능에 가까운 하드웨어 활용도를 달성한다.
  • 일반적으로 이전의 가속기 연구에서 벤치마크되지 않은 복잡한 현대 CNN들인 GoogLeNet과 ResNet-50과 같은 모델에서 실시간 추론을 가능하게 한다.
  • FPGA 플랫폼에서 높은 효율성과 처리량을 달성하여 FPGA 기반 CNN 가속기의 새로운 기준을 설정한다.

제안 방법

  • 공간적 예측과 무결성 기반의 트레이스 기반 메모리 액세스 스케줄링 메커니즘을 도입하여 가중치와 활성화 값을 사전에(prefetch) 로드하여 유휴 사이클을 최소화한다.
  • 더블 버퍼링을 구현하여 계산과 DRAM 데이터 전송을 겹치도록 하여 DRAM 지연을 효과적으로 숨긴다.
  • 다양한 워크로드를 지원하기 위해 256개의 MAC 유닛을 포함한 여러 계산 클러스터로 구성된 확장 가능한 아키텍처를 사용한다.
  • 특정 네트워크 아키텍처에서 벗어나 일반화된 구조를 통해 다양한 CNN에 쉽게 배포할 수 있도록 모델에 종속되지 않는 설계를 한다.
  • 프로그래밍 가능한 논리와 제어 논리용 프로세싱 유닛을 갖춘 Xilinx Zynq XC7Z045 SoC를 사용하여 맞춤형 하드웨어 가속을 수행한다.
  • 단일 레이어가 아닌 전체 네트워크 추론을 기반으로 한 성능 모델링과 벤치마킹을 수행하여 현실적인 효율 측정을 보장한다.

실험 결과

연구 질문

  • RQ1모델에 종속되지 않는 CNN 가속기가 AlexNet, GoogLeNet, ResNet-50와 같은 다양한 현대 CNN 아키텍처에서 일관되게 높은 계산 효율성을 달성할 수 있는가?
  • RQ2면적 또는 전력 효율성에 손상이 가지 않도록 트레이스 기반 프리패칭과 더블 버퍼링을 통해 CNN 가속기에서 DRAM 지연을 얼마나 효과적으로 숨길 수 있는가?
  • RQ3단일 레이어가 아닌 전체 네트워크에서 평가했을 때, 커스텀 FPGA 기반 가속기의 계산 효율성이 이전의 ASIC 및 FPGA 가속기와 비교해 어떻게 되는가?
  • RQ4단일 재구성 가능한 하드웨어 설계를 통해 복잡하고 고매개변수 CNN에서 고처리량과 저지연을 동시에 달성할 수 있는가?
  • RQ5대규모 CNN에서 최고 성능에 가까운 성능을 달성하면서도 높은 효율성을 유지할 수 있도록 FPGA 기반 가속기를 확장하는 것이 가능한가?

주요 결과

  • Snowflake는 AlexNet에서 95%, GoogLeNet에서 91%, ResNet-50에서 95%의 계산 효율성을 기록하여 이들 모델에서 이전에 실현된 모든 가속기들을 초월한다.
  • Xilinx Zynq XC7Z045에서 Snowflake는 AlexNet에서 120 G-ops/s와 100 FPS, GoogLeNet에서 116.4 G-ops/s와 36.4 FPS, ResNet-50에서 122 G-ops/s와 17 FPS의 성능을 달성한다.
  • 동일한 장치에서 Snowflake는 최대 처리량 128 G-ops/s를 기록하며, 효과적인 DRAM 지연 숨기기 덕분에 측정된 성능가장 최고 성능에 매우 가까운 수준을 유지한다.
  • Snowflake는 GoogLeNet과 ResNet-50를 동시에 벤치마크한 최초의 실현된 가속기로, 이전의 벤치마크인 AlexNet이나 VGG보다 더 복잡한 모델을 대상으로 한다.
  • 더블 버퍼링과 트레이스 기반 스케줄링 덕분에 DRAM 지연이 있거나 없거나에 관계없이 일관된 성능과 효율성을 유지한다.
  • 동일한 FPGA에서 768개의 MAC 유닛(3개의 계산 클러스터)을 사용하도록 Snowflake를 확장하면 최대 성능 384 G-ops/s를 달성할 수 있으며, 이는 일관된 효율성을 유지하면서 고처리량 서버 워크로드를 지원할 수 있게 한다.

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

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

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

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