Skip to main content
QUICK REVIEW

[論文レビュー] DNNVM : End-to-End Compiler Leveraging Heterogeneous Optimizations on FPGA-based CNN Accelerators

Yu Xing, Shuang Liang|arXiv (Cornell University)|Feb 20, 2019
Advanced Neural Network Applications参考文献 37被引用数 9
ひとこと要約

DNNVM は、CNN 推論を高速化するために、グラフ、ループ、データレイアウト最適化を統合するエンドツーエンドのFPGAコンパイラである。最適化をグラフレベルの変換としてモデル化し、ヒューリスティックな部分グラフ同型写像アルゴリズムを用いることで、DNNVM は、基本的な実装および最先端の性能を上回る最大 1.26 倍のスループットを達成し、Xilinx FPGA 上で VGG(2.82 TOPs/s)および ResNet50(1.38 TOPs/s)で高い性能を発揮しながら、リソース使用量を低く抑えている。

ABSTRACT

The convolutional neural network (CNN) has become a state-of-the-art method for several artificial intelligence domains in recent years. The increasingly complex CNN models are both computation-bound and I/O-bound. FPGA-based accelerators driven by custom instruction set architecture (ISA) achieve a balance between generality and efficiency, but there is much on them left to be optimized. We propose the full-stack compiler DNNVM, which is an integration of optimizers for graphs, loops and data layouts, and an assembler, a runtime supporter and a validation environment. The DNNVM works in the context of deep learning frameworks and transforms CNN models into the directed acyclic graph: XGraph. Based on XGraph, we transform the optimization challenges for both the data layout and pipeline into graph-level problems. DNNVM enumerates all potentially profitable fusion opportunities by a heuristic subgraph isomorphism algorithm to leverage pipeline and data layout optimizations, and searches for the best choice of execution strategies of the whole computing graph. On the Xilinx ZU2 @330 MHz and ZU9 @330 MHz, we achieve equivalently state-of-the-art performance on our benchmarks by naïve implementations without optimizations, and the throughput is further improved up to 1.26x by leveraging heterogeneous optimizations in DNNVM. Finally, with ZU9 @330 MHz, we achieve state-of-the-art performance for VGG and ResNet50. We achieve a throughput of 2.82 TOPs/s and an energy efficiency of 123.7 GOPs/s/W for VGG. Additionally, we achieve 1.38 TOPs/s for ResNet50 and 1.41 TOPs/s for GoogleNet.

研究の動機と目的

  • FPGA を用いた CNN 加速器における性能と効率のギャップを、最適でないデータレイアウトとパイプラインスケジューリングの要因として解消すること。
  • 多様な CNN モデルに対応するための FPGA カーネルの手動チューニングの複雑さを軽減し、複数の抽象レベルにわたる最適化を自動化すること。
  • 統合されたコンパイラスタックを用いて、リソース制限のある FPGA でも高スループットかつエネルギー効率の良い推論を実現すること。
  • 大容量のオンチップメモリに依存せずに、VGG や ResNet50 といった標準的な CNN モデルで最先端の性能を達成すること。

提案手法

  • DNNVM は、CNN モデルをフレームワーク非依存の中間グラフ表現である XGraph にコンパイルする。
  • データレイアウト最適化とパイプライン最適化を、グラフレベルの問題として定式化することで、統合的な統合可能性の探索を可能にする。
  • ヒューリスティックな部分グラフ同型写像アルゴリズムを用いて、層や演算の間で有益な可能性がある統合パターンをすべて列挙する。
  • ループタイリング、データレイアウト、演算統合の共同最適化を実行し、並列性とデータ局所性を最大化する。
  • アセンブラは最適化されたスケジューリングからカスタムハードウェアカーネルを生成し、ランタイム環境は動的モデルロードと実行をサポートする。
  • 正しさと多様な CNN アーキテクチャにおける性能を保証するための検証フレームワークをシステムに統合する。

実験結果

リサーチクエスチョン

  • RQ1FPGA を用いた CNN 加速器のコンパイラスタックにおいて、データレイアウト、ループタイリング、演算統合の異種最適化を体系的かつ包括的に探索する方法は何か?
  • RQ2グラフレベルのモデリングが、CNN コンパイルにおける最適実行戦略の探索空間をどの程度縮小できるか?
  • RQ3統合されたコンパイラインfra は、大容量オンチップメモリを必要とせずに、VGG や ResNet50 といった複雑なモデルで最先端の性能を達成できるか?
  • RQ4リソース制限のある FPGA において、提案手法は既存のコンパイラと比較してスループットとエネルギー効率の点で優れているか?
  • RQ5手動で最適化された実装と比較して、自動化された統合とスケジューリングによる性能向上はどの程度か?

主な発見

  • Xilinx ZU9@330 MHz において、DNNVM は VGG で 2.82 TOPs/s のスループットと 123.7 GOPs/s/W のエネルギー効率を達成し、新たな最先端水準を樹立した。
  • ResNet50 では、1.38 TOPs/s のスループットを達成し、同じ FPGA プラットフォームで最先端の性能を実現した。
  • GoogLeNet では、異種最適化により、基本的な実装と比較して最大 1.26 倍のスループット向上を達成した。
  • 従来の FPGA を用いた CNN 加速器と比較して、ハードウェアリソース消費量を削減しながら、性能を維持または向上させた。
  • ヒューリスティックな部分グラフ同型写像アルゴリズムの使用により、組み合わせ的爆発を回避しつつ、統合の機会を効率的に探索できた。
  • コンパイラスタックは複数のディープラーニングフレームワークに移植可能であり、多様な CNN モデルをカスタム FPGA 硬HWに自動マッピングする機能を備えている。

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

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

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

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