模擬問題集 › GCP-PMLE › 練習問題 7

GCP-PMLE 練習問題 7|プロトタイプから ML モデルへのスケーリング

Professional Machine Learning Engineer・無料公開(全 200 問中 15 問を無料公開中)

問題
あなたは、カスタム PyTorch コンテナを使用して Gemini Enterprise Agent Platform 上で ResNet-50 のコンピュータ ビジョン モデルをトレーニングしています。トレーニング ジョブは、汎用マシンタイプと 1 基の NVIDIA A100 GPU で構成されています。トレーニング中にリソース使用率のグラフを監視したところ、GPU 使用率が不安定で、短い間隔で頻繁に 0% まで低下する一方、CPU 使用率は常に 90% を超えていることがわかりました。トレーニング時間を短縮するために GPU 使用率を最大化したいと考えています。どうすればよいですか。

選択肢と解説

  • 1
    GPU メモリを使い切るまでトレーニングのバッチサイズを大きくする。
  • ✓
    DataLoader ユーティリティを更新して num_workers パラメータを増やし、pin_memory を有効にする。
  • 3
    GPU 数の多いマシンタイプに切り替え、トレーニング コードに torch.nn.parallel.DistributedDataParallel 戦略を実装する。
  • 4
    自動混合精度(AMP)を有効にして行列乗算を高速化する。

解説

【正解】B

【0からの解説】
①前提知識:深層学習のトレーニングでは、CPU が画像の読み込み・デコード・データ拡張などの前処理を行ってミニバッチを作り、それを GPU に転送して GPU が順伝播・逆伝播を計算します。CPU 側のデータ供給(入力パイプライン)が遅いと、GPU は次のバッチを待つ間アイドル状態になります。PyTorch の DataLoader では、num_workers を増やすと複数のワーカープロセスで並列にデータを読み込み・前処理でき、pin_memory=True にするとページロック(固定)メモリにバッチを置くことで CPU から GPU への転送が高速化され、非同期転送も可能になります。
②症状の整理:GPU 使用率が頻繁に 0% に落ちる一方、CPU 使用率は常に 90% 超。これは GPU の計算能力が不足しているのではなく、CPU 側のデータ供給が追いつかず GPU が待たされている「入力パイプラインのボトルネック」の典型的な兆候です。目標は GPU 使用率の最大化によるトレーニング時間短縮です。
③正解の理由:DataLoader の num_workers を増やしてデータの読み込み・前処理を並列化し(ワーカーの数は vCPU 数を目安に調整)、pin_memory を有効にしてホストからデバイスへの転送を高速化すれば、GPU に途切れなくバッチが供給され、GPU のアイドル時間が減ってトレーニング時間が短縮されます。ボトルネックそのものに直接対処する施策です。なお CPU がすでに飽和している場合は、vCPU 数の多いマシンタイプへの変更も併せて検討します。

【誤りの選択肢】
A:バッチサイズを大きくすると 1 ステップで CPU が準備すべきデータ量も増えるため、CPU 側のボトルネックは解消されません。GPU の待ち時間の割合はほとんど変わらず、根本原因に対処していません。
C:GPU を増やしても、データを供給する CPU 側が追いつかない状態は変わらず、むしろ待たされる GPU が増えるだけです。コストが増えるうえ、分散トレーニングのコード変更も必要で、GPU 使用率はさらに下がる可能性があります。
D:AMP は GPU 上の行列演算を高速化する手法ですが、ボトルネックは GPU の計算ではなく CPU のデータ供給です。GPU の計算が速くなるほど待ち時間の割合が増え、GPU 使用率はかえって低下します。

【参考】
Cloud Profiler を使用してモデルのトレーニング パフォーマンスをプロファイリングする: ノートブック
Gemini Enterprise Agent Platform サーバーレス トレーニングのコンピューティング リソースを構成する
← 練習問題 6練習問題 8 →
GCP-PMLE の模擬問題集は全 200 問

本番形式の練習テスト 4 回を、試験モード/演習モードで受験できます。 全問に解説付き、ドメイン別の弱点分析にも対応。模試プラン(月額 ¥980)からご利用いただけます。

GCP-PMLE の模試を受ける料金プランを見る

GCP-PMLE の無料公開問題

問題 1問題 2問題 3問題 4問題 5問題 6問題 7問題 8問題 9問題 10問題 11問題 12問題 13問題 14問題 15