# MLプロファイリング ## 定義 MLプロファイリング(ML Performance Profiling)は、機械学習ワークロードの実行性能を計測・可視化し、最適化の手がかりを提供する手法・ツール群の総称である。ホスト(CPU)側とデバイス(GPU/TPU 等アクセラレーター)側の両方を対象とし、フレームワーク層からコンパイラ中間表現(MLIR/HLO)・ハードウェアカウンターに至るまでの多段抽象を横断的に観測する。([[@2026__MLSys2026__XProf - An Open, Scalable and Extensible Profiling System for the Modern ML Stack]]) 現代の ML スタックのプロファイリングには、一般的な分散システム観測とは異なる 5 つの固有課題がある: 1. **スケーラビリティ**: 数千チップ・大量データの分散 ML クラスターへの対応 2. **発見可能性**: CPU-デバイス間の複雑な ML スタック全体の把握 3. **説明可能性**: フレームワーク/Python ↔ MLIR ↔ ハードウェアカウンターの抽象化ギャップの橋渡し 4. **適応性**: AI チップの多様化とソフトウェアの共進化への追従 5. **忠実度**: 観測者効果(計装がワークロード自体を変化させる問題)の最小化 ([[@2026__MLSys2026__XProf - An Open, Scalable and Extensible Profiling System for the Modern ML Stack]] slides §2) ## 主要ツール・手法 ### ホスト(CPU)側ツール - **入力パイプライン分析**: データ前処理のボトルネック特定 - **高レベルオペレーショントレーシング**: フレームワーク API 呼び出しの可視化 - **TraceMe 計装**: 開発者定義のロックフリー・アトミック計装点 ### デバイス(アクセラレーター)側ツール - **[[Rooflineモデル]]**: ハードウェアの演算上限と帯域幅上限を比較し、計算バウンドか帯域幅バウンドかを判定 - **HLO Op プロファイル**: XLA コンパイル済みオペレーション単位の性能計測 - **メモリビューアー**: 動的メモリ使用量と最大メモリ消費の可視化 - **パフォーマンスカウンター**: ハードウェアイベントカウンターの直接計測 ### クロスレイヤーツール - **トレースビューアー**: ホスト・デバイス・デバイス間通信を時系列タイムラインで表示 - **グラフビューアー**: XLA HLO グラフ構造の可視化 ## オーバーヘッドと観測者効果 ML プロファイリングの核心課題は観測者効果(Observer Effect)の最小化にある。XProf の TraceMe は以下の設計で 0.3% 未満のオーバーヘッドを実現する: - **遅延相関(Deferred Correlation)**: 計装時はデータをスレッドローカルバッファに蓄積し、処理は後に分離して実行 - **ロックフリー・アトミック設計**: 計装点での競合排除 - **キロバイトオーダーのトレース量**: 大量データを生成せず帯域幅消費を最小化 ([[@2026__MLSys2026__XProf - An Open, Scalable and Extensible Profiling System for the Modern ML Stack]]) ## 横断的知見 - (単一ソース。2 番目のソース ingest 後に横断的知見を追記予定) ## 未解決の問い - ML プロファイリングと一般的な分散システム観測(Dapper/OpenTelemetry 系トレーシング)はどこまで統合できるか。ML トレーニングのステップ単位イベントとリクエスト単位のマイクロサービストレースを同一パイプラインで扱う試みはあるか。 - Roofline Model はフラッシュメモリ・HBM(High Bandwidth Memory)など新世代メモリアーキテクチャにどう適応するか。アテンション計算の IO バウンドな特性がモデルの適用範囲を変えているか。 - LLM 学習・推論特有のプロファイリング課題は何か。バッチ処理・動的シェイプ・KV キャッシュのようなパターンが Roofline モデルの静的解析前提をどう崩すか。 - PJRT C API のサードパーティ拡張は標準化されているか。Intel GPU・Amazon Trainium でのプロファイリング結果が TPU/NVIDIA GPU と比較可能なメトリクスを生成できるか。 - 電力・熱の計測を ML プロファイリングに統合する取り組みはどこまで進んでいるか。XProf のケーススタディ(熱変動 10°C 削減)のような最適化事例は再現可能か。 ## 関連 - ソース: [[@2026__MLSys2026__XProf - An Open, Scalable and Extensible Profiling System for the Modern ML Stack]] - 概念: [[Rooflineモデル]] / [[分散トレーシング]] / [[テレメトリ]] / [[GPU観測性]] - エンティティ: [[OpenXLA]] / [[Robert Hundt]] / [[Google]] - 関連 MOC: [[Systems for ML - MOC]] ## 出典 - [[@2026__MLSys2026__XProf - An Open, Scalable and Extensible Profiling System for the Modern ML Stack]](slides §2 課題定義、§3 コレクション、§4 シンボル化、§5 分析、§6 多段可視化、§7 核心革新、§8 TraceMe、§9 XLA 統合、§10 拡張性、§11 オーバーヘッド評価、§12 ケーススタディ)