[論文レビュー] Compiling Neural Networks for a Computational Memory Accelerator
この論文では、マルチコアCMハードウェア上でパイプライン化されたデータフロー実行にニューラルネットワークをコンパイルすることで、エッジにおける効率的なディープラーニング推論を可能にする計算メモリ(CM)アクセラレータ向けのコンパイラスタックを提示している。ポリヘドラルコンパイル技術を用いて、層間のデータ依存関係を尊重する制御論理を生成し、アナログクロスバー配列における再構成オーバーヘッドを最小限に抑えつつ、正しいパイプライン実行を保証する。
Computational memory (CM) is a promising approach for accelerating inference on neural networks (NN) by using enhanced memories that, in addition to storing data, allow computations on them. One of the main challenges of this approach is defining a hardware/software interface that allows a compiler to map NN models for efficient execution on the underlying CM accelerator. This is a non-trivial task because efficiency dictates that the CM accelerator is explicitly programmed as a dataflow engine where the execution of the different NN layers form a pipeline. In this paper, we present our work towards a software stack for executing ML models on such a multi-core CM accelerator. We describe an architecture for the hardware and software, and focus on the problem of implementing the appropriate control logic so that data dependencies are respected. We propose a solution to the latter that is based on polyhedral compilation.
研究の動機と目的
- エッジにおける効率的なディープラーニング推論を目的とした、計算メモリ(CM)アクセラレータ向けの共同設計されたソフトウェアスタックとハードウェアアーキテクチャの設計。
- 複数のCMコアにわたってニューラルネットワーク層をパイプラインで実行する際、データ依存関係を尊重する正しい制御論理を生成する課題に対処すること。
- コンパイラとハードウェアインターフェースを共同設計することで、CMアクセラレータ上でニューラルネットワークを透明かつ高性能に実行可能にする。
- 従来のコンパイラがデータフローサポートに基づくアクセラレータにおけるコア間データフロー依存関係の管理をサポートしていないという制限を克服すること。
提案手法
- 著者らは、アナログ行列ベクトル乗算用のクロスバー配列と、並列化できない演算を処理するための軽量なデジタル処理ユニット(DPU)を備えたマルチコアCMアクセラレータを提案する。
- NN実行をデータフローパイプラインとしてモデル化し、各層を別々のCMコアにマッピングし、反復間のデータ依存関係を分析するためにポリヘドラルコンパイルを用いる。
- 制御論理は、ISLベースの操作のシーケンスにより生成される:書き込みから読み込みへの依存関係(K)の計算、各読み込みに対する最後の有効な書き込みの特定(L)、各出力位置の最大安全実行反復の導出(S)。
- 主な関係Sは、合成関係(K ∘ D′)におけるlexmaxを用いて計算され、各読み込み反復に対して、最新の書き込み反復のみが保持されることを保証する。これにより、安全なパイプライン実行が可能になる。
- コンパイラスタックには、プロトタイプコンパイラ(cmnnc)とCMハードウェアをモデル化するシミュレータが含まれており、エンドツーエンドのコンパイルと検証を可能にする。
- ISL(整数集合ライブラリ)を用いて反復空間、関係、依存関係を表現・操作し、データフロー制約の正確な静的解析を可能にする。
実験結果
リサーチクエスチョン
- RQ1マルチコア計算メモリアクセラレータ上で実行されるニューラルネットワーク層間のデータ依存関係を強制するため、コンパイラが正しいかつ効率的な制御論理をどのように生成できるか。
- RQ2パイプライン化されたデータフローサポートに基づくアクセラレータアーキテクチャにおいて、データフロー依存関係を表現・分析する最も効果的な方法は何か。
- RQ3ポリヘドラルコンパイル技術を、既存のMLコンパイラがネイティブにサポートしないデータフローアクセラレータ用の制御ステートマシンを生成するために適応できるか。
- RQ4ハードウェアとソフトウェアスタックを共同設計することで、アナログクロスバーを備えたCMアクセラレータ上で再構成オーバーヘッドを最小限に抑え、推論スループットを最大化できるか。
主な発見
- 提案されたポリヘドラルベースの制御生成手法は、CMコア間ですべてのデータ依存関係が尊重されるように、パイプライン化されたニューラルネットワーク層の安全な実行順序を正しく計算した。
- この手法により、PCMベースのCMアクセラレータ上で効率的かつ単一の設定による推論が可能になり、各層後にクロスバーを再プログラミングする高コストな再構成を回避できた。
- ISLとlexmax操作の使用により、書き込み-読み込み依存関係の正確な静的解析が可能となり、ステートマシン用の最小限かつ正しい制御論理が得られた。
- このアプローチはCMに限定されず、他のデータフローアーキテクチャにも一般化可能であり、将来的なアクセラレータとそのソフトウェアスタックの共同設計の基盤を提供する。
- プロトタイプコンパイラ(cmnnc)とシミュレータは、CMアクセラレータ上でニューラルネットワークのエンドツーエンドのコンパイルと実行を実証し、本手法の実現可能性を検証した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。