[論文レビュー] SMAUG: End-to-End Full-Stack Simulation Infrastructure for Deep Learning Workloads
SMAUG は、RTL を必要とせず、フルシステム SoC シミュレータ (gem5-Aladdin) 内で DNN ワークロードのエンドツーエンド、サイクル正確なシミュレーションを可能にする、新しい深層学習フレームワークである。これは、アクセラレータのマイクロアーキテクチャを変更せずに、データ移動、ソフトウェアスタックのオーバーヘッド、SoC-アクセラレータインターフェースの最適化により、エンドツーエンドの推論遅延を最大 5× 速めることを可能にする。
In recent years, there has been tremendous advances in hardware acceleration of deep neural networks. However, most of the research has focused on optimizing accelerator microarchitecture for higher performance and energy efficiency on a per-layer basis. We find that for overall single-batch inference latency, the accelerator may only make up 25-40%, with the rest spent on data movement and in the deep learning software framework. Thus far, it has been very difficult to study end-to-end DNN performance during early stage design (before RTL is available) because there are no existing DNN frameworks that support end-to-end simulation with easy custom hardware accelerator integration. To address this gap in research infrastructure, we present SMAUG, the first DNN framework that is purpose-built for simulation of end-to-end deep learning applications. SMAUG offers researchers a wide range of capabilities for evaluating DNN workloads, from diverse network topologies to easy accelerator modeling and SoC integration. To demonstrate the power and value of SMAUG, we present case studies that show how we can optimize overall performance and energy efficiency for up to 1.8-5x speedup over a baseline system, without changing any part of the accelerator microarchitecture, as well as show how SMAUG can tune an SoC for a camera-powered deep learning pipeline.
研究の動機と目的
- RTL の利用可能でない段階での、フルスタック DNN パフォーマンスの包括的かつ早期評価を可能にするシミュレーションインfraの不足に対処すること。
- アクセラレータの計算以外の要因、特にデータ移動とソフトウェアスタックのオーバーヘッドに起因する顕著なパフォーマンスボトルネックを同定・定量すること。
- DNN 推論用のアクセラレータ、SoC、ソフトウェアスタックを共同設計するための、柔軟性・高速性・拡張性に優れたフレームワークを研究者に提供すること。
- データレイアウト変換、マルチアクセラレータスケジューリング、SoC インターフェース効率性といったシステムレベル要因の最適化を可能にすること。
提案手法
- SMAUG は gem5-Aladdin に基づいて構築されており、RTL を必要とせず、異種 SoC のサイクル正確なフルシステムシミュレーションを可能にする。
- Python API を提供し、DNN アーキテクチャの定義を可能にし、広範なオペレータおよびネットワークトポロジーをサポートする。
- 演算子のタイリング、マルチスレッドスケジューリング、同期、CPU、アクセラレータ、メモリ間のデータ移動を管理する完全なソフトウェアスタックを備える。
- 動作モデルを介したカスタムハードウェアアクセラレータのプラグアンドプレイ統合を可能にし、アクセラレータマイクロアーキテクチャの迅速な探索を可能にする。
- 複数のアクセラレータ、メモリ階層、システムレベルの競合を含む、複雑な SoC トポロジのシミュレーションをサポートする。
- データ移動や CPU 処理のオーバーヘッドを含む、アクセラレータおよびシステムレベルの活動の正確なパフォーマンスおよびエネルギーモデリングを可能にする。
実験結果
リサーチクエスチョン
- RQ1実世界のワークロードにおいて、エンドツーエンド DNN 推論遅延のうち、アクセラレータの計算処理とデータ移動、ソフトウェアスタックのオーバーヘッドに起因する割合はそれぞれどの程度か?
- RQ2データレイアウト変換、SoC インターフェース設計、マルチアクセラレータスケジューリングといったシステムレベル要因が、全体の DNN 推論パフォーマンスに与える影響は何か?
- RQ3アクセラレータのマイクロアーキテクチャを変更せずに、ソフトウェアおよびシステムレベルの最適化によってエンドツーエンドパフォーマンスをどの程度向上できるか?
- RQ4フルスタックでサイクル正確なシミュレーションをサポートするシミュレーションフレームワークは、DNN アクセラレータの高速かつ効果的なハードウェア・ソフトウェア共同設計を可能にするか?
主な発見
- 平均して、エンドツーエンド推論遅延のうち、アクセラレータの計算処理に費やされる時間は 25% にとどまり、データ移動が 34%、CPU 処理がソフトウェアスタックで 42% を占める。
- SoC-アクセラレータインターフェースとソフトウェアスタック管理の最適化により、SMAUG はアクセラレータマイクロアーキテクチャを変更せずに、エンドツーエンド推論遅延を最大 5× 速めることができる。
- カメラ駆動のディープラーニングパイプラインにおいて、SMAUG は最適化されたデータフローとアクセラレータ利用率を実現するためのシステムレベルチューニングを可能にする。
- RTL や HLS の要件を回避することで、SMAUG はアクセラレータおよび SoC の迅速なデザインスペース探索を実現する高速なシミュレーション速度を達成する。
- 事例研究では、データレイアウトの改善、スケジューリング、インターフェース効率性の向上といったシステムレベル最適化により、1.8–5× の高速化が可能であることが示された。
- SMAUG は、ソフトウェアおよびシステムレベルのボトル neck が主要なパフォーマンス制約要因であり、それらを同定・解決するには包括的かつフルスタックのシミュレーションが不可欠であることを示している。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。