無限ノック › MLA 練習問題一覧 › 問題
MLAMLモデルの開発

あるMLエンジニアがSageMakerでTensorFlowを使った画像分類モデルのトレーニングを実施しています。モデルアーキテクチャとハイパーパラメータは既に最適化済みであり、ml.p3.2xlargeインスタンスのGPUメモリ使用率も80%以上と適切な水準にあります。しかし、1エポックあたりのトレーニング時間が長く、開発イテレーションが遅いことが課題です。トレーニングコードのアーキテクチャを変更せずに、GPUの計算効率を向上させてトレーニング時間を短縮する最も適切なアプローチはどれですか?

A
SageMaker Training Compilerをトレーニングジョブ設定で有効化し、TensorFlowモデルをGPUに最適化された計算グラフに自動コンパイルする
✓ 正解
Training Compiler は TensorFlow・PyTorch を XLA などでコンパイルし、GPU 向け最適化を自動適用します。コード変更なしにトレーニング速度を最大 50%改善できます。
B
ml.p3.2xlargeからml.p3.8xlargeに変更して利用可能なGPU数を4倍に増やす
インスタンスサイズ変更はコストを増やすだけであり、既存コードがデータ並列処理に対応していなければ複数 GPU を自動活用できません。
C
SageMaker Debuggerのシステムプロファイリングを有効化してGPUボトルネックを特定し、プロファイリング結果をもとにコードを手動最適化する
Debugger プロファイリングはボトルネック特定に有用ですが、最適化自体にはエンジニアによる手動コード変更が必要です。
D
SageMaker Data Parallel Library(データ並列処理ライブラリ)を導入してトレーニングデータを複数インスタンスに分散させる
Data Parallel Library は有効な高速化手法ですが、トレーニングスクリプトへの専用 API 組み込みが必須であり、コード変更要件に反します。

解説

SageMaker Training CompilerはTensorFlow・PyTorchなどのMLフレームワークのモデルをXLA(Accelerated Linear Algebra:線形代数演算を高速化するコンパイラ技術)等を用いてGPU向けの最適化された計算グラフに自動コンパイルする機能で、コードの変更なしにトレーニング速度を最大50%改善できる。GPUメモリ使用率は十分なためコンパイル最適化が最適な選択肢となる。B: インスタンスサイズ変更はGPU数を増やすが、既存コードがデータ並列処理に対応していない限り複数GPUを自動活用できないためコスト増加のみを招く。C: Debuggerプロファイリングはボトルネック特定には有用だが、最適化自体はエンジニアによるコードの手動変更が必要となり「コードを変更しない」という要件を満たさない。D: Data Parallel Libraryは有効な高速化手法だが、トレーニングスクリプトに専用APIの組み込みが必要であり、コードの変更を伴う。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでMLAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← MLA の問題一覧に戻る