PMLE · LESSON 3

セクション3:プロトタイプから ML モデルへの拡張約21% · 3項目

コスト・複雑さ・レイテンシを考えたモデルの構築、モデルの学習、学習のハードウェアと分散学習を学びます。

3.1要件を考えたモデルの構築

コスト・複雑さ・レイテンシ・スケーラビリティを考えたモデルの構築(ARIMA・DNN・LLM、AutoML・BigQuery ML・Pipelines、デプロイの戦略、解釈可能性の要件)

概念

モデルは、要件(精度・レイテンシ・コスト・解釈可能性・スケーラビリティ)から選びます。時系列には ARIMA などの統計モデル、複雑な非構造化データには DNN、言語の多様なタスクには LLM が候補です。開発の手段は、手間の少ない順に BigQuery ML・AutoML、柔軟なカスタム学習、Pipelines での自動化です。規制などで判断の説明が必要なら、解釈しやすいモデルや Explainable AI を使います。

仕組み・手順

  1. 要件の優先順位(精度・速度・費用・説明)を決める
  2. まず単純なモデルや BigQuery ML・AutoML で基準を作る
  3. 必要に応じてカスタムの DNN や LLM に進む
  4. 解釈可能性の要件があればモデルの種類と説明の手段を確認する

業務での例

与信の審査で説明が必須のため、まず解釈しやすいブーストツリーを作り、Explainable AI で特徴量の寄与を示せることを確認する。

紛らわしい点・試験の注意

ミニクイズ

Q1. 解釈可能性が法規制で強く求められる与信のモデルで、まず検討するアプローチとして最も適切なものはどれか。

  1. 説明は不要とし、予測の結果だけを顧客に通知する
  2. 解釈しやすいモデルを選び、Explainable AI で理由を示す
  3. LLM に自由に理由を作文させ、そのまま顧客に送る
  4. 最も精度の高い深いネットワークを選び、理由の説明は省略する
答えと解説を見る

正解:B 解釈しやすいモデルを選び、Explainable AI で理由を示す

線形モデル・決定木、または特徴量のアトリビューション。

Q2. ファインチューニングを検討すべきでない状況として最も適切なものはどれか。

  1. プロンプトが長くなりすぎ、コストとレイテンシを下げたい
  2. 毎日変わる在庫の情報を、回答に反映させたい
  3. 社内の専門の文体を、モデルに一貫して身につけさせたい
  4. 大量の例がある専門の分類のタスクの精度を上げたい
答えと解説を見る

正解:B 毎日変わる在庫の情報を、回答に反映させたい

頻繁に変わる事実は RAG やツールで扱う。

参考リンク

3.2モデルの学習

モデルの学習(Cloud Storage・BigQuery のデータの整理、取り込み、カスタム学習・GKE の Kubeflow・AutoML・Tabular Workflows、学習の失敗の対処、ハイパーパラメータのチューニング、基盤モデルのファインチューニング)

概念

学習のデータは Cloud Storage(ファイル:TFRecord・画像など)や BigQuery(表)に整理します。学習の方法には、独自のコンテナやスクリプトを使うカスタム学習、GKE の Kubeflow、AutoML、表のデータの Tabular Workflows があります。ハイパーパラメータのチューニング(Vizier を使ったベイズ最適化など)で最適な設定を探し、学習の失敗(メモリ不足・データの不整合・発散)の原因をログで調べます。基盤モデルは教師ありのチューニングなどで調整できます。

仕組み・手順

  1. データの形式と保存場所を学習の方法に合わせる
  2. 事前構築のコンテナで足りなければカスタムのコンテナを使う
  3. ハイパーパラメータのチューニングのジョブで探索する
  4. チェックポイントを保存し、失敗や中断から再開できるようにする

業務での例

画像の分類を事前構築の PyTorch のコンテナでカスタム学習し、チューニングのジョブで学習率とバッチのサイズを探索する。

紛らわしい点・試験の注意

ミニクイズ

Q1. ハイパーパラメータのチューニングで Vizier を使う利点として最も適切なものはどれか。

  1. 学習のデータを自動で増やし、ラベルを付け直す
  2. モデルのパラメータ(重み)を手作業で 1 つずつ設定する
  3. ベイズ最適化などで、少ない試行で良い組み合わせを探せる
  4. すべての組み合わせを必ず総当たりで試し、計算を最大にする
答えと解説を見る

正解:C ベイズ最適化などで、少ない試行で良い組み合わせを探せる

Agent Platform のハイパーパラメータチューニングは Vizier を使う。

Q2. BigQuery にある数億行のデータで、カスタム学習のジョブを動かす。データの読み込みとして最も適切なものはどれか。

  1. BigQuery Storage Read API などで、学習のジョブから直接効率よく読み込む
  2. BigQuery の結果を CSV で Cloud Storage に書き出し、1 つのファイルとして読む
  3. BigQuery のデータを Cloud SQL に移し、JDBC で読み込む
  4. 学習のジョブの中で、BigQuery の REST API の tabledata.list でページごとに読む
答えと解説を見る

正解:A BigQuery Storage Read API などで、学習のジョブから直接効率よく読み込む

データセットとして BigQuery を指定することもできる。 【他の選択肢】1 つの CSV は大きすぎて並列に読めない。tabledata.list は大量の読み込みに遅い。Cloud SQL への移動は手間と費用がかかる。

参考リンク

3.3学習のハードウェアと分散学習

学習のハードウェア(CPU・GPU・TPU、データ並列・モデル並列の分散学習)

概念

CPU は汎用で小さなモデル、GPU は並列の演算で深層学習全般、TPU は Google が開発した行列演算に特化したアクセラレータで、大規模な行列演算の多いモデル(TensorFlow・JAX・PyTorch/XLA)に向きます。分散学習には、データを分けて複数の装置で同じモデルを学習するデータ並列と、1 台に収まらない大きなモデルを分割するモデル並列があります。

仕組み・手順

  1. モデルの大きさとフレームワークからハードウェアを選ぶ
  2. データが大きく学習を速くしたいならデータ並列
  3. モデルが 1 台のメモリに収まらないならモデル並列
  4. 利用率を監視して、無駄な大きさのハードウェアを避ける

業務での例

大規模な言語モデルのファインチューニングで、モデルが 1 つの GPU に収まらないため、モデル並列で複数の GPU に分割する。

紛らわしい点・試験の注意

ミニクイズ

Q1. データ並列の分散学習の説明として最も適切なものはどれか。

  1. 各ワーカーが別のデータを処理し、勾配を集約する
  2. 学習を 1 台で行い、推論だけを複数台に分散する
  3. 同じデータを各ワーカーが別のモデルで学習し、最良を選ぶ
  4. モデルの層を分割して、異なるデバイスに配置する
答えと解説を見る

正解:A 各ワーカーが別のデータを処理し、勾配を集約する

モデルが 1 台に載るならデータ並列が基本。

Q2. 社内の用語に合わせて大きな言語モデルを調整したい。GPU の予算は限られる。LoRA などのパラメータ効率のよいチューニングの利点として最も適切なものはどれか。

  1. モデルのすべての重みを学習し直すため、精度が上がりやすい
  2. 調整したモデルは、推論の時に元のモデルの重みが不要になる
  3. 学習のデータがなくても、モデルを専門化できる
  4. 少数の追加のパラメータを学習し、計算とストレージを節約できる
答えと解説を見る

正解:D 少数の追加のパラメータを学習し、計算とストレージを節約できる

アダプタ(小さな重み)だけを学習する。 【他の選択肢】学習にはデータが要る。LoRA のアダプタは元のモデルの重みと組み合わせて使う。すべての重みを学習し直すのはフルのファインチューニング。

参考リンク

レッスンは当サイトがGoogle Cloud 認定の公開ページと試験ガイドをもとに独自に作成したもので、試験の内容を保証するものではありません。製品の仕様は変わることがあるため、参考リンク先の最新情報を確認してください。

ご利用上の注意(非公式・独自問題・合格保証なし)