PMLE · LESSON 4

セクション4:モデルの配信とスケーリング約20% · 2項目

バッチ推論とオンライン推論、モデルの配信とスケーリングを学びます。

4.1バッチ推論とオンライン推論

バッチ推論とオンライン推論(Agent Platform・Model Garden・Cloud Run・GKE)、事前構築済み・カスタムのコンテナ、Model Registry、A/B テスト・カナリア、推論の前処理・後処理

概念

バッチ推論は大量のデータをまとめて予測し、結果を BigQuery や Cloud Storage に出力します(即時性が不要な場合)。オンライン推論はエンドポイントでリクエストごとに低遅延で予測します。配信の基盤には Agent Platform のエンドポイント、Model Garden からのデプロイ、Cloud Run、GKE があります。事前構築のコンテナかカスタムのコンテナを使い、Model Registry でモデルの版を管理します。A/B テストやカナリアで新しいモデルを一部のトラフィックで試します。

仕組み・手順

  1. 即時性の要件でバッチかオンラインかを決める
  2. Model Registry にモデルと版を登録する
  3. エンドポイントでトラフィックを分割し、カナリアで新しい版を試す
  4. 推論の前処理・後処理をコンテナやパイプラインで一貫させる

業務での例

毎晩の全顧客の解約スコアはバッチ推論で BigQuery に出力し、Web の推薦はオンラインのエンドポイントで 100 ミリ秒以内に返す。

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

ミニクイズ

Q1. Model Registry を使う利点として最も適切なものはどれか。

  1. 学習のデータの PII を、自動的に検出してマスキングする
  2. ノートブックの共同編集のコメントを、版ごとに保存する
  3. モデルの学習の損失関数を、自動で最適化して書き換える
  4. モデルの版と別名を管理し、どの版が本番かを明確にできる
答えと解説を見る

正解:D モデルの版と別名を管理し、どの版が本番かを明確にできる

「default」などのエイリアスで本番の版を指す。

Q2. トラフィックの分割の機能の用途として最も適切なものはどれか。

  1. 1 つのリクエストを、文字数で分割して別々に処理する
  2. ネットワークの帯域を、社員ごとに均等に分ける
  3. 同じエンドポイントの複数のモデルにリクエストを割合で振り分ける
  4. 学習のデータを、学習用と検証用に自動で分ける
答えと解説を見る

正解:C 同じエンドポイントの複数のモデルにリクエストを割合で振り分ける

カナリアや A/B テストを実現する。

参考リンク

4.2オンライン配信のスケーリング

オンライン配信のスケーリング(Feature Store、パブリック・プライベートのエンドポイント、CPU・GPU・TPU・エッジ、スループットに応じたスケーリング、本番向けのチューニング)

概念

オンラインの配信は、Feature Store から最新の特徴量を低遅延で取得し、パブリックまたはプライベートのエンドポイント(VPC の中から呼ぶ)で提供します。ハードウェアは CPU・GPU・TPU、端末で動かすエッジから選びます。最小・最大のレプリカ数と自動スケーリングでスループットに合わせ、モデルの最適化(量子化など)とマシンのタイプの調整で本番向けにチューニングします。

仕組み・手順

  1. レイテンシとスループットの目標を決める
  2. オンラインの特徴量は Feature Store から取得する
  3. 社内からだけ呼ぶならプライベートのエンドポイントを使う
  4. 最小のレプリカ数と自動スケーリングでピークに備える

業務での例

セール時の 10 倍のアクセスに備え、最小のレプリカを 2、最大を 20 にして自動スケーリングし、GPU のマシンでレイテンシを確保する。

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

ミニクイズ

Q1. オンライン配信で Feature Store を使う利点として最も適切なものはどれか。

  1. モデルの重みを、ミリ秒の単位で自動的に再学習する
  2. 推論のリクエストを、自動で別のリージョンに転送する
  3. エンドポイントの利用料金を、必ず無料にする
  4. 最新の特徴量を低レイテンシで取得できる
答えと解説を見る

正解:D 最新の特徴量を低レイテンシで取得できる

オンラインストアから最新の値を取り出す。

Q2. GPU の配信で利用効率を上げる方法として最も適切なものはどれか。

  1. 1 つの GPU に 1 リクエストだけを常に割り当て、残りは待たせる
  2. GPU のメモリを、毎回のリクエストで解放して再確保する
  3. リクエストをまとめて処理(バッチング)し、GPU の並列性を生かす
  4. GPU は推論に使えないので、学習の時だけ使う
答えと解説を見る

正解:C リクエストをまとめて処理(バッチング)し、GPU の並列性を生かす

動的なバッチングでスループットを上げる。

参考リンク

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

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