Skip to main content
QUICK REVIEW

[論文レビュー] An OpenCL(TM) Deep Learning Accelerator on Arria 10

Utku Aydonat, Shane O’Connell|arXiv (Cornell University)|Jan 13, 2017
Advanced Neural Network Applications参考文献 13被引用数 17
ひとこと要約

この論文では、IntelのArria 10 FPGAを対象としたOpenCLベースの深層学習アクセラレータ(DLA)を提案する。中間特徴マップのオンチップストリームバッファキャッシュを用いて外部メモリ帯域幅を最小限に抑え、Winograd変換を活用してFLOPsを削減することで、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推論におけるメモリ帯域幅ボトルneckを克服するため、外部メモリアクセスを低減すること。
  • 既存のソリューションと比較して、FPGAアクセラレートドCNNのエネルギー効率とGFLOPS性能を向上させること。
  • 完全なアーキテクチャをFPGA上にデプロイ可能とするため、全層(特に全結合層を含む)を加速すること。
  • 高級GPU(例:TitanX)と同等のパフォーマンス/ワット性能を実証すること。
  • FPGAベースのDLAアーキテクチャに適したスケーラブルで解析的に最適化された設計手法を提供すること。

提案手法

  • DLAは、中間特徴マップをオンチップストリームバッファにキャッシュすることで、外部メモリ帯域幅を1桁低減する。
  • 全結合層ではバッチ処理を採用し、さらにオフチップメモリアクセスを最小限に抑える。
  • 60%以上のDSP利用率を達成するためのベクトル化されたデータ処理を活用し、ハードウェア効率を最大化する。
  • 畳み込み処理にWinograd変換を適用し、乗加算演算の数を削減する。
  • 与えられたFPGAとCNNに対してリソース使用量とスループットを解析的に最適化するための設計スペース探索モデルを用いる。
  • 全システムをArria 10 FPGA向けにポータブルかつ高水準プログラマブル性を確保するため、OpenCLで実装する。

実験結果

リサーチクエスチョン

  • RQ1オンチップキャッシュによる特徴マップのキャッシュは、FPGAベースのCNNアクセラレータにおける外部メモリ帯域幅を顕著に低減できるか?
  • RQ2Winograd変換は、FPGAアクセラレートド畳み込み処理における計算複雑性をどの程度低減できるか?
  • RQ3完全にパイプライン化されたマルチレイヤー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を達成した。
  • 中間特徴マップのオンチップストリームバッファキャッシュにより、外部メモリ帯域幅が1桁低減された。
  • Winograd変換により畳み込み処理における乗加算演算数が削減され、より高い計算効率が実現した。
  • 設計は60%以上のDSP利用率を達成し、先行するFPGA CNNアクセラレータと比較して顕著に高いハードウェアリソース効率を実現した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。