[論文レビュー] Interstellar: Using Halide's Scheduling Language to Analyze DNN Accelerators
この論文では、Halideのスケジューリング言語を用いて、データフローとメモリ階層の選択をループ変換として表現することで、DNNアクセラレータのマイクロアーキテクチャを形式的にモデル化・分析するフレームワークInterstellarを提案する。Halideを拡張してハードウェア生成を可能とし、アクセラレータ間の公平な比較を可能にしたことで、著者らは適切なループブロッキングにより、多くのデータフロー設定が近似的に最適なエネルギー効率を達成できることを示した—特にCNNでは最大4.2倍の向上を達成した。一方、メモリ階層の最適化がエネルギー効率に最も大きな影響を与えることが分かった。
We show that DNN accelerator micro-architectures and their program mappings represent specific choices of loop order and hardware parallelism for computing the seven nested loops of DNNs, which enables us to create a formal taxonomy of all existing dense DNN accelerators. Surprisingly, the loop transformations needed to create these hardware variants can be precisely and concisely represented by Halide's scheduling language. By modifying the Halide compiler to generate hardware, we create a system that can fairly compare these prior accelerators. As long as proper loop blocking schemes are used, and the hardware can support mapping replicated loops, many different hardware dataflows yield similar energy efficiency with good performance. This is because the loop blocking can ensure that most data references stay on-chip with good locality and the processing units have high resource utilization. How resources are allocated, especially in the memory system, has a large impact on energy and performance. By optimizing hardware resource allocation while keeping throughput constant, we achieve up to 4.2X energy improvement for Convolutional Neural Networks (CNNs), 1.6X and 1.8X improvement for Long Short-Term Memories (LSTMs) and multi-layer perceptrons (MLPs), respectively.
研究の動機と目的
- DNNアクセラレータの設計空間を形式化し、マイクロアーキテクチャ的選択をループ変換として表現すること。
- 統一されたコンパイラー駆動フレームワークを用いて、既存のDNNアクセラレータを公平かつ体系的に比較すること。
- 特にメモリ階層とループブロッキングに注目し、エネルギー効率および性能に最も大きな影響を与えるアーキテクチャ的選択を同定すること。
- Halideのスケジューリングプリミティブを用いて、与えられたDNNに対して近似的に最適なアクセラレータ設計を効率的に探索する最適化ツールを開発すること。
提案手法
- ハードウェア生成を可能とするために、Halideのスケジューリング言語を拡張し、ローカル通信やメモリ割り当てといったハードウェア固有のプリミティブを追加する。
- DNN計算における七段階のループネストを基盤として、すべてのDNNアクセラレータのデータフローとメモリ階層を変換としてモデル化する。
- Halideのスケジュールと計算を分離したモデルを活用し、スケジュールのみを変更することで多様なハードウェアマッピングを探索する。
- FPGAやASIC評価を想定し、HalideスケジュールをRTLにコンパイルするハードウェア合成ツールチェーンを実装する。
- 経験的観察に基づき設計空間を縮約する自動最適化ツールを開発する:データフローをC|Kに固定し、隣接するレベル間のメモリサイズ比を4〜16に制限する。
- スループットを一定に保ちながら、消費電力と面積モデルを用いて設計を評価することで、エネルギー効率の向上要因を明確に分離する。
実験結果
リサーチクエスチョン
- RQ1既存のすべての密なDNNアクセラレータを、Halideのスケジューリング言語におけるループ変換を用いて形式的に分類可能か?
- RQ2適切なループブロッキングが適用された場合、異なるデータフロー選択がエネルギー効率にどの程度影響を与えるか?
- RQ3特にレジスタファイルやバッファサイズを含むメモリ階層構成が、DNNアクセラレータのエネルギー効率にどのように影響を与えるか?
- RQ4体系的かつコンパイラー駆動のフレームワークにより、多様なアーキテクチャを対象にDNNアクセラレータ設計を公平に比較・最適化可能か?
- RQ5DNNアクセラレータにおけるエネルギー効率に、データフローとメモリ階層のどちらが相対的により大きな影響を与えるか?
主な発見
- 適切なループブロッキングにより高いデータ局所性とリソース利用効率が確保され、ブロッキングが最適な場合、多くのデータフロー選択がエネルギー効率においてほぼ同等の性能を示す。
- 最適なループブロッキングが適用された場合、多数のデータフロー設定が類似した性能とエネルギー効率を達成する。これは、大多数のデータ参照がオンチップ上に留まるためである。
- メモリ階層設計がエネルギー効率に最も大きな影響を与える。より深い階層とより小さなレジスタファイルが、より優れた結果をもたらす。
- 最適化されたハードウェア構成では、第一および第二レベルのレジスタファイルにそれぞれ16 Bおよび128 Bを設定し、256 KBのダブルバッファドグローバルSRAMを採用。これにより、CNNで最大4.2倍のエネルギー効率向上を達成した。
- 自動最適化ツールは、VGG-16、GoogleNet、MobileNetに対してそれぞれ最大3.5倍、2.7倍、4.2倍のエネルギー効率向上を達成した。MLPでは最大1.8倍の向上を示した。
- 小さなレジスタファイルであっても、より大きなチップとより深いメモリ階層を持つ設計は、DRAMアクセスの削減により、より優れた性能を示した。VGG-16では1.85 TOPs/Wのエネルギー効率を達成した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。