[論文レビュー] Optimizing Memory-Access Patterns for Deep Learning Accelerators
本稿では、カスタムアクセラレータ上のディープラーニングワークロードにおけるメモリアクセスを最小化するため、グローバルでポリヘドラルモデルに基づく最適化フレームワークを提案する。冗長なデータ移動を排除し、メモリバンク間でのテンソルの一貫性あるマッピングにより、AWS Inferentiaチップ上でオンチップおよびオフチップメモリコピーをそれぞれ最大76%および37%削減する。
Deep learning (DL) workloads are moving towards accelerators for faster processing and lower cost. Modern DL accelerators are good at handling the large-scale multiply-accumulate operations that dominate DL workloads; however, it is challenging to make full use of the compute power of an accelerator since the data must be properly staged in a software-managed scratchpad memory. Failing to do so can result in significant performance loss. This paper proposes a systematic approach which leverages the polyhedral model to analyze all operators of a DL model together to minimize the number of memory accesses. Experiments show that our approach can substantially reduce the impact of memory accesses required by common neural-network models on a homegrown AWS machine-learning inference chip named Inferentia, which is available through Amazon EC2 Inf1 instances.
研究の動機と目的
- ソフトウェア管理のスクラッチパッドを備えたアクセラレータにおいて、非効率なメモリアクセスが引き起こす性能ボトルネックを解消すること。
- 個々のオペレータごとにメモリアクセスを最適化するが、オペレータ間のデータ移動の機会を無視する既存のコンパイラの制限を克服すること。
- グローバル最適化を通じて、冗長なメモリコピーを体系的に削減し、オンチップメモリ帯域幅の利用を最大化すること。
- AWS Inferentiaのようなドメイン特化アクセラレータ上で、複数のオペレータにわたるデータレイアウトの一貫性ある管理を可能にすることで、ディープラーニングモデルの効率的実行を実現すること。
提案手法
- テンソルアクセスをアフィン関数として表現するポリヘドラルモデルを活用し、データ依存関係およびメモリアクセスパターンの形式的解析を可能にする。
- アフィン関数の合成とインデックス空間のマッピングを用いて、冗長なロード・ストアペアを同定・削除することで、データ移動の削減を実現する。
- リバースアフィンマッピングを用いて、中間テンソルからのロード操作を元のテンソルに変換し、中間領域のストレージを排除する。
- データ依存関係に基づいて、メモリバンクマッピングをオペレータ間で伝搬するための固定点反復を採用し、バンク割り当ての一貫性を保証する。
- 外側のテンソル次元を異なるメモリバンクにマッピングし、内側の次元を同じバンク内の要素にマッピングすることで、連続的アクセスをサポートし、並列性を最大化する。
- 連続するオペレータ間で、バンクマッピング要件に矛盾が生じた場合にのみ、明示的なメモリコピーを導入する。
実験結果
リサーチクエスチョン
- RQ1複数のオペレータにわたるグローバルなメモリアクセスパターンの最適化は、ディープラーニングアクセラレータにおける冗長なデータ移動を削減できるか?
- RQ2ポリヘドラルモデルは、ドメイン特化アクセラレータにおけるオペレータ間メモリアクセス最適化を実現するためにどの程度有効か?
- RQ3ローカルなオペレータ単位のマッピングと比較して、グローバルなメモリバンクマッピングはオンチップおよびオフチップメモリコピーをどの程度削減できるか?
- RQ4中間テンソルのストレージを排除することで、実世界のディープラーニングモデルにどのようなパフォーマンスインパクトが生じるか?
主な発見
- Parallel WaveNetでは、124組のロード・ストアペアのうち123組が削除され、中間テンソルのストレージが146 MB中145 MB削減された。
- データ移動の削減により、Parallel WaveNetではオンチップメモリコピーが10%、オフチップメモリコピーが11%削減された。
- グローバルなメモリバンクマッピングにより、ResNet-50ではローカルマッピングと比較してオンチップデータコピーが76%、オフチップコピーが37%削減された。
- バンク間データ移動を最小限に抑え、オペレータ間でデータ局所性を維持することで、メモリ帯域幅の利用効率が顕著に向上した。
- 本最適化は実ハードウェアでも有効であり、EC2 Inf1インスタンスで利用可能なAWS Inferentiaチップ上で実証された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。