MLAMLソリューションの監視、メンテナンス、セキュリティ
機械学習チームがSageMaker Training Jobでml.p3.8xlargeインスタンス(NVIDIA V100 GPU × 4基搭載)を使用してコンピュータビジョンモデルをトレーニングしています。しかし、トレーニング完了時間が同規模モデルの一般的な目安と比べて約3倍かかっており、コストが過大になっています。GPUボトルネック(低GPU使用率・データローダー遅延・Pythonオペレーションのオーバーヘッド)を自動診断し、具体的な改善推奨事項を得る最も効率的なアプローチはどれですか?
AAmazon CloudWatchのGPUUtilizationメトリクスを監視し、使用率が50%以下になった際にSNSアラートを受け取り手動でボトルネックを調査する
CloudWatch アラートはリアルタイム監視に有用ですが、どの処理がボトルネックかという詳細診断はできません。
BSageMaker Debuggerのプロファイリング機能を有効化し、ProfilerReport組み込みルールを使用してCPU/GPUボトルネック・データローダー遅延・Pythonオペレーションのプロファイルレポートを自動生成する
✓ 正解
SageMaker Debuggerのプロファイリング機能は、トレーニングジョブ実行中にCPU/GPU使用率・メモリ使用率・I/Oスループット・Python関数の実行時間・フレームワーク内オペレーション時間を自動収集します。ProfilerReport組み込みルールがGPU使用率の低下・ホスト側CPUでの処理過多(StepBottleneck)・データローダー待機時間などを自動検出し、具体的な改善推奨を含むHTMLレポートを生成します。
CトレーニングスクリプトにcProfiler(Python標準プロファイラ)とNVIDIA nvprof(GPUプロファイラ)を組み込み、詳細なプロファイリングデータをS3に出力して手動分析する
カスタムプロファイラは cProfiler(Pythonの処理速度計測ツール)や nvprof(NVIDIAのGPU処理計測ツール)で詳細分析は可能ですが実装コストが高く、Debuggerの自動分析と比べて非効率です。
DSageMaker Experimentsでトレーニングジョブを複数回実行し、エポックごとの損失値の収束速度を比較して間接的にボトルネックを推定する
Experiments 比較は損失収束の比較にしかならず、ハードウェアレベルのボトルネック診断はできません。
解説
SageMaker Debuggerのプロファイリング機能は、トレーニングジョブ実行中にCPU/GPU使用率・メモリ使用率・I/Oスループット・Python関数の実行時間・フレームワーク内オペレーション時間を自動収集します。ProfilerReport組み込みルールがGPU使用率の低下・ホスト側CPUでの処理過多(StepBottleneck)・データローダー待機時間などを自動検出し、具体的な改善推奨を含むHTMLレポートを生成します。
選択肢Aの CloudWatch アラートはリアルタイム監視に有用ですが、どの処理がボトルネックかという詳細診断はできません。
選択肢Cのカスタムプロファイラは cProfiler(Pythonの処理速度計測ツール)や nvprof(NVIDIAのGPU処理計測ツール)で詳細分析は可能ですが実装コストが高く、Debuggerの自動分析と比べて非効率です。
選択肢Dの Experiments 比較は損失収束の比較にしかならず、ハードウェアレベルのボトルネック診断はできません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでMLAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →