03_要点と暗記

セクション4 要点と暗記 — モデルのサービングとスケール

🎯 暗記版。意思決定ツリー、対比表、頻出シナリオ。


🌳 推論方式選定ツリー

1. レイテンシ要件は?
   ├─ 数 ms〜100ms → オンライン推論
   └─ 数分〜時間 OK → バッチ推論

2. オンライン推論ならインフラは?
   ├─ ML 標準、最も簡単 → Agent Platform Inference
   ├─ 軽量モデル + スパイク + アイドル長 → Cloud Run
   ├─ 複雑な構成 / KServe / Triton → GKE
   ├─ 基盤モデルそのまま → Model Garden (MaaS)
   └─ エッジデバイス → TFLite / Edge TPU

3. バッチ推論ならどう走らせる?
   ├─ データが BigQuery → BigQuery ML / ML.PREDICT
   ├─ ML モデルが Model Registry にある → Batch Prediction Job
   └─ ストリーミング ETL + 推論 → Dataflow

🌳 ロールアウト戦略選定ツリー

新モデルを本番へ:
├─ ビジネス指標で勝者決定したい → A/B テスト
├─ リスク最小・段階拡大 → カナリア(5% → 25% → 50% → 100%)
├─ 本番影響ゼロで性能比較 → シャドウデプロイ
├─ 即ロールバック必須 → ブルー/グリーン
└─ インフラ更新 → ローリング

🌳 ハードウェア選定(推論)

モデルサイズと QPS は?
├─ 軽量 ML (< 100MB) → CPU
├─ 中規模 NN / 小 LLM → L4 GPU
├─ 大規模 LLM (Gemini Pro 級) → A100/H100/TPU v5e
├─ 推論コスト最優先 → L4 / TPU v5e
└─ エッジ・モバイル → Edge TPU / TFLite / Gemini Nano

🃏 暗記カード

Q A
Agent Platform Inference の旧名は? Vertex AI Prediction / Endpoints
Model Registry の役割は? モデルの 中央カタログ・バージョン管理・系統
Endpoint の traffic_split で何ができる? 複数 DeployedModel に % でトラフィック分割
A/B / カナリア / シャドウの違い A/B = 同時比較、カナリア = 段階拡大、シャドウ = 本番影響なし
Feature Store Online Store のレイテンシ目安 ms 級
パブリック vs プライベートエンドポイント パブリック = インターネット可、プライベート = PSC/VPC 内のみ
Cloud Run の min-instances=0 のデメリットは? コールドスタート(数秒)
軽量モデル + スパイク + アイドル長 → 何を選ぶ? Cloud Run
推論用コスト最適 GPU は? L4
推論用コスト最適 TPU は? TPU v5e
Edge デプロイの前処理として必須なのは? 量子化 (INT8 / Float16)
LLM 推論の高スループット OSS は? vLLM / Triton
動的バッチング / Continuous batching は何のため? LLM 推論のスループット向上
バッチ推論を BQ で完結させる関数 ML.PREDICT
シャドウデプロイの最大の利点 本番に 一切影響を出さず 新モデル性能を測れる
エッジ向け Gemini モデル名 Gemini Nano

📊 対比表

推論基盤の比較

Agent Platform Inference Cloud Run GKE Model Garden
マネージド度 ◎ (MaaS)
スケールゼロ △ (min=0 可)
GPU ○ (新)
カスタム構成 ×
第一候補 標準 ML 推論 軽量・スパイク 複雑構成 基盤モデルそのまま

A/B vs カナリア vs シャドウ

A/B テスト カナリア シャドウ
目的 勝者選定 安全な切替 性能観測
トラフィック 例 50/50 5% → 段階拡大 100% 旧 + 並行で新へ複製
ユーザー影響 あり (両方使う) 小 (新は少量) なし
統計分析 必須 任意 あり

バッチ vs オンライン推論

バッチ オンライン
レイテンシ 数分〜時間 ms〜100ms
コスト 高(常時起動)
用途 夜間スコアリング・レポート チャット・推薦・検知
Google サービス Batch Prediction Job, BQML Endpoint, Cloud Run, GKE

推論用 GPU 比較

T4 L4 A100 H100
メモリ 16GB 24GB 40/80GB 80GB
主用途 軽量推論 生成 AI 推論 LLM 訓練・大型推論 最新 LLM 訓練
コスト 最低 最高

🔥 頻出シナリオ → 即答パターン

シナリオ 即答
夜間バッチスコアリング、コスト最優先 Batch Prediction Job or ML.PREDICT
ECサイトのリアルタイム推薦 (< 100ms) Endpoint + Feature Store Online
新モデルを段階展開、リスク回避 カナリア (5% → 25% → 100%)
新モデルの性能を本番影響ゼロで測る シャドウデプロイ
軽量モデル + アイドル時間長い Cloud Run min=0
100B LLM の高スループット A100/H100/TPU v5e + vLLM
機密データの推論エンドポイント Private Endpoint (PSC)
IoT カメラで物体検出 Edge TPU (Coral)
モバイルアプリでオフライン翻訳 TFLite or Gemini Nano
複数モデルバージョンを同時運用 Endpoint の traffic_split
TF と PyTorch を同 Endpoint で 異なるカスタムコンテナで DeployedModel
Gemini 推論コストを 50% 下げたい Flash + プロンプトキャッシング + Batch API
コールドスタートを短縮 min_replicas ≥ 1 + イメージ最適化
推論前に複雑な前処理 Custom Container 内で実装
訓練/推論の前処理一致 TFT or Feature Store
同 Endpoint 内で複数モデル比較 (50/50) A/B テスト

⚠️ ひっかけ警報

  1. 「リアルタイム要件があるのにバッチ」 → 推論方式の取り違え、必ずレイテンシ要件を読む
  2. 「アイドルが長いのに Endpoint min=1」 → Cloud Run の方がコスト効率良いケース多い
  3. 「機密データを Public Endpoint」 → Private Service Connect でプライベートエンドポイントへ
  4. 「ロールアウトに毎回全置換」 → カナリアやブルー/グリーンで安全に
  5. 「Feature Store なしでオンライン特徴量を BigQuery から毎回」 → レイテンシ要件満たせない
  6. 「100B LLM を T4 で推論」 → メモリ不足、A100/H100 or TPU v5e
  7. 「Edge デプロイで量子化スキップ」 → サイズ・速度の両面で必須
  8. 「複数モデル切替のため Endpoint を都度作り直す」 → 同 Endpoint の traffic_split で十分
  9. 「カナリアとシャドウを混同」 → カナリア = ユーザー影響あり (少量)、シャドウ = なし
  10. 「バッチ予測でも Endpoint デプロイ必須」 → Model から直接 batch_predict 可能

📝 一行サマリー

オンラインは Endpoint + Feature Store、バッチは Batch Prediction or BQML。ロールアウトはカナリアが安全、影響ゼロならシャドウ。LLM は L4/TPU v5e + vLLM + プロンプトキャッシングでコスト最適。