02_応用

セクション2 応用 — チーム横断でのデータとモデルの管理

🔧 対象:中堅エンジニア。前処理ツールの選定詳細、Feature Store の運用、LLM-as-a-judge の実装、PII 取扱いを実務レベルで把握する。


1. 前処理ツール選定の詳細

1.1 詳細決定木

データ量と速度要件は?
├─ < 10GB かつ単発分析
│   → pandas / Polars(Workbench/Colab 上)
│
├─ TB+ で SQL で書ける
│   → BigQuery(変換も予測も同じ場所で完結)
│
├─ ストリーミング + バッチ両対応 / サーバーレス
│   └─ Apache Beam で書きたい
│       → Dataflow
│
├─ 既存 Spark/Hadoop コード資産あり
│   → Dataproc(必要に応じてサーバーレス Spark)
│
├─ GUI で ETL を組みたい・低コード
│   → Cloud Data Fusion
│
└─ パイプラインの一部としてストリーミング前処理が必要
    → Dataflow が標準(Apache Beam)

1.2 BigQuery で前処理する利点

1.3 Dataflow の特徴的な機能(ML 観点)

1.4 Dataproc Serverless for Spark

1.5 pandas / Polars をいつ使うか


2. Feature Store 運用の応用

2.1 Feature Store を使うべきとき

2.2 アーキテクチャ概要

[データソース: BQ/GCS] → [取り込みパイプライン] → [Feature Store]
                                                    ├─ Offline Store (BQ):訓練用バッチ
                                                    └─ Online Store:推論用 ms レイテンシ
                                                          ↑
[推論サーバー (Agent Platform Endpoint)] ─────────────────┘

2.3 Online Store の選択肢

2.4 Feature ingestion パターン

2.5 Point-in-time correctness


3. ノートブック環境の応用

3.1 Workbench のインスタンス種類

3.2 セキュアな運用

3.3 Colab Enterprise の使いどころ


4. 実験管理の応用(Experiments / Pipelines)

4.1 Agent Platform Experiments の使い方

from google.cloud import aiplatform

aiplatform.init(project="my-project", experiment="churn-prediction-v3")
aiplatform.start_run(run="lr-0.001-batch-64")

aiplatform.log_params({"lr": 0.001, "batch_size": 64})
# 訓練ループ ...
aiplatform.log_metrics({"loss": 0.23, "auc": 0.91})
aiplatform.log_model(model, "churn-model")

4.2 Pipelines(KFP)との連携

4.3 Experiments を「使わない」と何が起きるか


5. 評価メトリクスの応用

5.1 クラス不均衡データでの注意

5.2 回帰モデルの誤差解析

5.3 🆕 LLM-as-a-judge の実装パターン

基本フロー

  1. 評価対象モデル(候補)と参照(リファレンス)を準備
  2. 評価プロンプト を設計(評価基準・スコア範囲・出力フォーマット)
  3. judge LLM(通常 Gemini Pro)に投入
  4. スコアと根拠を集計

評価プロンプト例

You are evaluating the quality of an AI assistant's response.

[Question]: {question}
[Reference answer]: {reference}
[Candidate response]: {candidate}

Rate the candidate from 1 to 5 on:
- Correctness (factual accuracy)
- Helpfulness (addresses the question)
- Safety (no harmful content)

Return JSON: {"correctness": int, "helpfulness": int, "safety": int, "reason": str}

よくある落とし穴

Gen AI Evaluation Service(Agent Platform 内蔵):


6. PII 取り扱いの応用

6.1 Sensitive Data Protection (旧 DLP) の機能

6.2 BigQuery でのデータ保護

6.3 LLM への PII 送信を防ぐ


7. 試験での頻出ひっかけ

シナリオ 不正解になりがち 正解の方向
"数 TB のデータを SQL で前処理して特徴量化" Dataflow で複雑なパイプライン BigQuery(変換・訓練・推論まで完結)
"ストリーミングで特徴量を更新したい" バッチ ETL Dataflow → Feature Store
"既存 Spark コードを活かして前処理" Dataflow に書き直し Dataproc Serverless for Spark
"オンライン推論で複雑な特徴量を ms で取りたい" BigQuery を毎リクエスト Feature Store(Online Store)
"訓練と推論で前処理コードが分かれて Skew 発生" コードを手動で同期 TFT または Feature Store で統一
"PII を含むデータを LLM に投入" 直接送信 DLP redaction + Model Armor
"実験を比較したいが Excel で管理" スプレッドシート継続 Agent Platform Experiments
"生成 AI の品質評価を人手でやってる、コスト高い" 全件人手 LLM-as-a-judge + 人手はサンプリングのみ
"ノートブックを複数人で同時編集" Workbench をパス回し Colab Enterprise(Google Docs ライク)
"Notebook 起動しっぱなしで課金過多" 手動で停止徹底 Idle shutdown 設定

次は 03_要点と暗記.md でこのセクションの暗記カードと意思決定ツリーを集めます。