セクション5 要点と暗記 — ML パイプラインの自動化とオーケストレーション
🎯 暗記版。意思決定ツリー、対比表、頻出シナリオ。
🌳 オーケストレータ選定ツリー
何を動かす?
├─ ML パイプライン専用(KFP / TFX)
│ → Agent Platform Pipelines(第一候補・サーバーレス)
│
├─ ETL + ML / 複雑な依存 / 既存 Airflow 資産
│ → Managed Service for Apache Airflow(旧 Cloud Composer)
│
├─ 分散 ML / 強化学習 / 大規模ハイパラチューニング
│ → Ray on Agent Platform 🆕
│
└─ 軽量 API 呼び出し / 数ステップのフロー
→ Cloud Workflows
🌳 再訓練ポリシー選定ツリー
データ変化の特性は?
├─ 安定 + 緩やか → スケジュール(日次/週次)
├─ 急変 + 環境変化 → ドリフト検知駆動(Model Monitoring → Pipelines)
├─ KPI 直接モニタしたい → 精度劣化トリガー
├─ 季節要因 → ビジネスイベント駆動
└─ 緊急 → オンデマンド(手動)
ベスト:スケジュール + ドリフト検知のハイブリッド
🌳 MLOps 成熟度ツリー
Level 0:手動(ノートブック → 手動デプロイ)
Level 1:ML パイプライン自動化(パイプラインで自動訓練 + 自動デプロイ)
Level 2:CI/CD/CT(コード変更で パイプライン自体 も自動更新 + CT)
🃏 暗記カード
| Q |
A |
| Agent Platform Pipelines は何の互換? |
Kubeflow Pipelines (KFP) v2 / TFX |
| Cloud Composer の新名称は? |
Managed Service for Apache Airflow |
| 🆕 分散 ML / RL を Agent Platform 上で動かすには? |
Ray on Agent Platform |
| 軽量 API オーケストレーションのサービスは? |
Cloud Workflows |
| データ品質を自動検証する OSS は? |
TFDV (TensorFlow Data Validation) |
| モデル評価の OSS は? |
TFMA (TensorFlow Model Analysis) |
| 訓練/推論の前処理を共有する手法2つ |
TFT (TensorFlow Transform) / Feature Store |
| MLOps Level 2 の特徴は? |
CI/CD + CT が完全自動化 |
| CT は何の略? |
Continuous Training |
| Cloud Build の主な用途は? |
コード変更 → 自動テスト → ビルド → デプロイ |
| KFP のキャッシュは何で判定? |
入力ハッシュ |
| パイプラインのスケジュール起動は? |
Cloud Scheduler or Pipeline 自体の schedule 機能 |
| GCS 新ファイルでパイプライン起動 |
Eventarc → Pipelines |
| Pub/Sub からパイプライン起動 |
Cloud Function or Eventarc → Pipelines |
| Ray の RL ライブラリは? |
RLlib |
| Ray の HPT ライブラリは? |
Ray Tune |
📊 対比表
オーケストレータ
|
Pipelines |
Airflow |
Ray |
Workflows |
| マネージド |
◎ サーバーレス |
◎ |
○ |
◎ サーバーレス |
| 言語 |
Python (KFP) |
Python (Airflow) |
Python (Ray) |
YAML |
| ML 専用 |
◎ |
△ (汎用) |
◎ (分散) |
× |
| 系統管理 (lineage) |
◎ |
△ |
△ |
× |
| ETL Operator |
△ |
◎ |
△ |
△ |
| 第一候補シナリオ |
ML パイプライン |
ETL+ML |
RL / HPT / 分散 |
API 連携 |
TFT vs Feature Store
|
TFT |
Feature Store |
| 仕組み |
Transform graph を訓練時に出力 |
中央保管庫から取得 |
| フレームワーク |
TF 主体 |
フレームワーク非依存 |
| オンライン推論 |
推論コンテナに組込み |
API 取得(ms 級) |
| 第一候補 |
TF パイプラインで完結 |
複数モデルで特徴量共有 |
MLOps レベル比較
|
Level 0 |
Level 1 |
Level 2 |
| 訓練 |
手動 |
自動 (パイプライン) |
自動 + CT |
| デプロイ |
手動 |
自動 |
自動 |
| パイプライン更新 |
手動 |
手動 |
自動 (CI/CD) |
| 適する組織 |
個人 / 小規模 |
中規模 |
大規模 / 多モデル |
🔥 頻出シナリオ → 即答パターン
| シナリオ |
即答 |
| ML パイプラインを最も簡単に |
Agent Platform Pipelines |
| 既存 Airflow 資産を移行 |
Managed Service for Apache Airflow |
| RL / 数千試行 HPT |
Ray on Agent Platform |
| 数ステップの API オーケストレーション |
Cloud Workflows |
| 訓練/推論前処理の skew 防止 |
TFT or Feature Store |
| データ品質を訓練前に自動検証 |
TFDV ステップ |
| 新モデルが旧より悪ければデプロイ阻止 |
モデル検証ステップで条件分岐 (TFMA) |
| ドリフト検知で自動再訓練 |
Model Monitoring → Pub/Sub → Pipelines (CT) |
| コード push で自動再訓練 |
Cloud Build → Pipelines (CI/CD/CT) |
| パイプラインの失敗ステップだけ再走 |
KFP v2 キャッシュ + 部分再実行 |
| 安定したデータ + 緩やか変化 |
スケジュール再訓練 |
| 急変するデータ |
ドリフトトリガー再訓練 |
| LLM の分散ファインチューニング |
Ray + DeepSpeed/FSDP |
| パイプラインを GCS 新ファイルで起動 |
Eventarc → Pipelines |
| MLOps 成熟度を Level 2 へ |
CI/CD/CT 完全自動化 |
⚠️ ひっかけ警報
- 「Cloud Composer」 という古い名称が問題文に → 新名称は Managed Service for Apache Airflow
- 「複雑な ETL + ML を Pipelines で全部書く」 → Airflow の Operator 群の方が向く
- 「RL を Pipelines で並列ロールアウト」 → Ray on Agent Platform が適切
- 「Cloud Workflows で大規模 ML 訓練オーケストレーション」 → Workflows は軽量フロー向き、Pipelines/Airflow 推奨
- 「TFT or Feature Store を使わずに skew を防げる」 → 不可。必ずどちらかで前処理を統一
- 「再訓練はスケジュールのみで十分」 → 急変するデータならドリフト検知も必須
- 「CT なしでも MLOps Level 2」 → CT は Level 2 の必須要素
- 「KFP のキャッシュは時刻で判定」 → 入力ハッシュ
- 「Cloud Build はビルドだけ、デプロイは別」 → デプロイまで一貫して書ける
- 「モデル検証ステップなしで本番デプロイ」 → 退行リスク。必ず合格判定を入れる
📝 一行サマリー
ML パイプラインは Pipelines、ETL+ML は Airflow、分散 ML/RL は Ray、軽量 API は Workflows。前処理 skew は TFT/Feature Store。再訓練はスケジュール+ドリフト検知のハイブリッド。MLOps Level 2 は CI/CD/CT が全部回る状態。