Skip to main content
QUICK REVIEW

[論文レビュー] Accelerating CNN inference on FPGAs: A Survey

Kamel Abdelouahab, Maxime Pelcat|arXiv (Cornell University)|May 26, 2018
Advanced Neural Network Applications参考文献 47被引用数 102
ひとこと要約

FPGAベースのCNN推論アクセラレータの包括的な調査で、アルゴリズム変換(GEMM、Winograd、FFT)、データパス最適化、近似計算、およびCNNをFPGAハードウェアへ効率的にマップするための設計空間探索戦略を詳述する。

ABSTRACT

Convolutional Neural Networks (CNNs) are currently adopted to solve an ever greater number of problems, ranging from speech recognition to image classification and segmentation. The large amount of processing required by CNNs calls for dedicated and tailored hardware support methods. Moreover, CNN workloads have a streaming nature, well suited to reconfigurable hardware architectures such as FPGAs. The amount and diversity of research on the subject of CNN FPGA acceleration within the last 3 years demonstrates the tremendous industrial and academic interest. This paper presents a state-of-the-art of CNN inference accelerators over FPGAs. The computational workloads, their parallelism and the involved memory accesses are analyzed. At the level of neurons, optimizations of the convolutional and fully connected layers are explained and the performances of the different methods compared. At the network level, approximate computing and datapath optimization methods are covered and state-of-the-art approaches compared. The methods and tools investigated in this survey represent the recent trends in FPGA CNN inference accelerators and will fuel the future advances on efficient hardware deep learning.

研究の動機と目的

  • FPGAベースのCNN推論アクセラレータの最先端を要約し、一般的な最適化戦略を特定する。
  • 畳み込み層と全結合層がアルゴリズム変換とデータパス設計を通じてFPGA上で加速される方法を分析する。
  • 性能とエネルギー効率に影響を与えるメモリアクセスパターンとキャッシュ戦略を検討する。
  • FPGAコンテキストにおける近似計算とモデル/データ最適化へのアプローチを比較する。
  • FPGA CNN実装の設計空間トレードオフ(ループ展開、タイル化、ハードウェア生成)に関する指針を提供する。

提案手法

  • ハードウェアマッピングの課題を理解するために、CNN推論ワークロードと並列性パターンをレビューする。
  • FPGA上で畳み込み層とFC層を加速するために使用されるアルゴリズム最適化を分類・説明する(GEMM、Winograd、FFT)。
  • データパス最適化技術(シストリック配列、SIMDアクセラレータ、ループ展開/タイル化、キャッシュ)を説明する。
  • FPGAアクセラレータの設定における設計空間探索手法(Rooflineに基づく総当たり探索およびヒューリスティクス)を議論する。
  • FPGA CNNアクセラレータの実装に用いられるデータパスとハードウェア生成アプローチ(HLS/OpenCL、RTL、DSL)を調査する。

実験結果

リサーチクエスチョン

  • RQ1CNNレイヤをFPGAにマッピングする際の主要なアルゴリズム変換は何か、そしてそれらが性能とメモリ使用量にどのように影響するか?
  • RQ2データパス最適化とループ変換は、リソース制約のあるFPGAデバイス上でどのように効率的なCNN推論を実現するか?
  • RQ3メモリ帯域幅とオンチップバッファはFPGAのCNNスループットとエネルギー効率にどのような役割を果たすか?
  • RQ4設計空間探索手法はCNNワークロード向けのFPGAアクセラレータの設定をどのように導くか?
  • RQ5スケーラブルなFPGA CNN実装をサポートするハードウェア生成(HLS/OpenCL/RTL)の傾向は何か?

主な発見

  • GEMMベース、Winograd、FFT変換はCNNレイヤをFPGAアクセラレータへマッピングするための中心的な技術であり、それぞれスループットとメモリアクセスにトレードオフを持つ。
  • ループ展開とタイル化を含むデータパス最適化は、計算とメモリのバランスを取り、オンチップバッファに収まるようにするために重要である。
  • メモリ帯域幅とキャッシュ階層は主要なボトルネックであり、効果的なオンチップバッファは外部メモリトラフィックとエネルギーを大幅に削減する。
  • 設計空間探索は、多くの場合Rooflineに基づく探索で、FPGAのリソース制限内でスループットを最大化するようなループ展開/タイルパラメータを選択するのに不可欠である。
  • さまざまなFPGA実装(HLS/OpenCLおよびRTL)は、バッチ間でフィルターを再利用したり、層を融合したりすることで顕著な性能向上を示している。

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

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

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

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