[論文レビュー] Across-Stack Profiling and Characterization of Machine Learning Models on GPUs.
本論文は、分散トレーシングと反復的測定を活用してプロファイルのオーバーヘッドを最小限に抑えることで、ハードウェア/ソフトウェアスタック全体にわたる機械学習モデルのパフォーマンスを包括的かつ階層的に把握するXSPというスタック間プロファイリングフレームワークを提案する。65の最先端モデルにおける正確な遅延特性の特定を可能にし、スタックレベルの相関関係により従来では捉えにくかったイン sight を明らかにする。
There has been a rapid proliferation of machine learning/deep learning (ML) models and wide adoption of them in many application domains. This has made profiling and characterization of ML model performance an increasingly pressing task for both hardware designers and system providers, as they would like to offer the best possible system to serve ML models with the target latency, throughput, cost, and energy requirements while maximizing resource utilization. Such an endeavor is challenging as the characteristics of an ML model depend on the interplay between the model, framework, system libraries, and the hardware (or the HW/SW stack). Existing profiling tools are disjoint, however, and only focus on profiling within a particular level of the stack, which limits the thoroughness and usefulness of the profiling results. This paper proposes XSP - an across-stack profiling design that gives a holistic and hierarchical view of ML model execution. XSP leverages distributed tracing to aggregate and correlates profile data from different sources. XSP introduces a leveled and iterative measurement approach that accurately captures the latencies at all levels of the HW/SW stack in spite of the profiling overhead. We couple the profiling design with an automated analysis pipeline to systematically analyze 65 state-of-the-art ML models. We demonstrate that XSP provides insights which would be difficult to discern otherwise.
研究の動機と目的
- MLのハードウェア/ソフトウェアスタックにわたる不完全で断片的なパフォーマンスプロファイリングの課題に対処し、遅延、スループット、コスト、エネルギー効率の最適化を制限する要因を解消すること。
- モデル、フレームワーク、ライブラリ、ハードウェアといった複数のスタックレイヤーからのプロファイリングデータを相関させることで、MLモデル実行の統合的で階層的な視覚的把握を提供すること。
- 反復的測定アプローチにより、すべてのスタックレイヤーでの遅延測定の高精度を維持しながら、プロファイリングのオーバーヘッドを低減すること。
- プロファイリングと自動分析パイプラインを統合することで、多様なMLモデルの体系的分析を可能にすること。
- 従来の孤立したプロファイリングツールでは検出が難しい、スタック全体にわたるパフォーマンスボトルネックや相関関係を特定すること。
提案手法
- XSPは、モデル、ディープラーニングフレームワーク、システムライブラリ、GPUハードウェアを含む、MLスタックの異なるレイヤーからのパフォーランスデータを統合・相関させるために分散トレーシングを活用する。
- プロファイリングのオーバーヘッドを最小限に抑えつつ、各スタックレイヤーでの遅延を正確に捉えるために、段階的で反復的な測定戦略を実装する。
- 各スタックレイヤーで既存のプロファイリングツールと統合し、トレースIDを用いてデータを同期することで、クロスレイヤー相関を可能にする。
- 集約されたデータを処理する自動分析パイプラインが、65の最先端MLモデルにおけるパフォーマンス特性を抽出する。
- 最小限のランタイム干渉で動的プロファイリングを実現し、実世界の実行挙動を正確に再現することを保証する。
- 実行をスタックレイヤーのコンponentsに分解し、それらがエンドツーエンド遅延に与える寄与度を測定することで、階層的分析を可能にする。
実験結果
リサーチクエスチョン
- RQ1MLスタック全体にわたるパフォーマンスプロファイリングを統合し、モデル実行の包括的視覚的把握を実現するにはどうすればよいか?
- RQ2プロファイリングのオーバーヘッドが正確性に与える影響は何か? また、測定の忠実性を損なわず、それを最小限に抑えるにはどうすればよいか?
- RQ3ハードウェアおよびソフトウェアレイヤーにわたるMLモデルの分析において、どのようなパフォーマンスボトルネックや相関関係が顕在化するか?
- RQ4異なるMLモデルはスタック全体にわたる遅延分布においてどのように異なるのか? どのようなパターンを特定できるか?
- RQ5孤立したプロファイリングでは捉えきれないが、スタック間プロファイリングによって明らかになるシステム最適化のインサイトは何か?
主な発見
- XSPは、プロファイリングのオーバーヘッドを最小限に抑えながら、ハードウェア/ソフトウェアスタックのすべてのレイヤーで正確な遅延測定を実現した。
- フレームワークレベルのオペレーションとGPUカーネル実行の間の相関関係が、従来のプロファイリングでは見えにくかった、複数のスタックレイヤーにまたがるパフォーマンスボトルネック(例:カーネル起動オーバーヘッド、メモリ転送の非効率)を明らかにした。
- スタック間相関により、孤立したプロファイリングでは見えない、フレームワークレベルの操作とGPUカーネル実行の間の相関関係が特定された。
- 自動分析パイプラインは、65の最先端モデルに共通するパフォーマンスパターンを同定した。具体的には、計算対メモリ比の変動や、オペレータレベルの遅延分布のパターンが明らかになった。
- XSPは、従来のプロファイリングツールでは検出が難しい、カーネル統合やメモリアクセスの最適化といった最適化機会を発見可能にした。
- 反復的測定アプローチにより、実世界のワークロード下でも高い正確性を維持でき、本フレームワークのシステム設計およびチューニングにおける信頼性を裏付けた。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。