セクション2 基礎 — チーム横断でのデータとモデルの管理
📘 対象:新人エンジニア。ML 開発の準備工程(探索 → 前処理 → ノートブック → 実験管理)を一通り知る。
1. ML 向けデータの探索と前処理
1.1 データの種類と取扱い
| データ種別 | 例 | Google Cloud での保存場所 |
|---|---|---|
| 構造化(テーブル) | CSV / Parquet / DB 出力 | BigQuery / Cloud SQL / Spanner |
| 半構造化 | JSON / Avro | BigQuery(ネスト/繰り返し)/ GCS |
| テキスト | 文書 / ログ / レビュー | GCS / BigQuery |
| 画像 / 音声 / 動画 | jpg / mp3 / mp4 | GCS(ML 訓練の標準) |
| 時系列 | センサーログ | BigQuery / Bigtable |
1.2 前処理ツールの早見表
データ規模 ローカル(GB級) ← BigQuery(TB+) → Dataflow(PB級) → Dataproc Spark(既存資産)
↑ ↑ ↑ ↑
pandas/ SQL ストリーミング レガシー Spark
Polars +バッチ 既存ジョブ移行
| ツール | 適する場面 |
|---|---|
| pandas / Polars | GB 級・ローカル PoC・ノートブック内 |
| BigQuery (SQL) | TB+・SQL で書ける変換・集計 |
| Dataflow (Apache Beam) | バッチ+ストリーミング両対応・サーバーレス |
| Dataproc (Spark/Hadoop) | 既存 Spark/Hadoop 資産の移行・複雑な変換 |
| Cloud Data Fusion | GUI で ETL を組みたい |
1.3 PII(個人を特定できる情報)の取り扱い
- Sensitive Data Protection(旧 Cloud DLP):PII を検出してマスキング・トークン化・暗号化
- BigQuery の ポリシータグ で列レベル制御
- CMEK でデータ暗号化キーを自社管理
- VPC Service Controls で境界を作って外部送信を防ぐ
2. Agent Platform Feature Store
2.1 何をするものか
- 訓練と推論の両方で同じ特徴量を 一貫して使うための保管庫
- オンライン(ms級レイテンシ)とオフライン(バッチ)の両方を提供
- 特徴量の メタデータ・系統・バージョン を管理
2.2 なぜ必要か
- Training-Serving Skew 防止:同じ前処理コードを訓練と推論で共有
- 特徴量の再利用:チーム間で同じ特徴量を使い回せる
- オンライン推論の低レイテンシ:DB をたたかずに ms で特徴量取得
2.3 主要概念
| 用語 | 説明 |
|---|---|
| Entity Type / Feature Group | 特徴量の論理グループ(例: user, product) |
| Feature | 1つの特徴量(例: user.avg_purchase_30d) |
| Feature Value | 特定エンティティ × 時刻の値 |
| Online Store | リアルタイム取得用(低レイテンシ) |
| Offline Store | 訓練データ生成用(BigQuery バックエンド) |
3. ノートブック環境
3.1 Agent Platform Workbench
- マネージドな Jupyter インスタンス(自社で GCE 立てる必要なし)
- インスタンスタイプ・GPU を選んで起動
- GitHub と連携、JupyterLab で開発
- VPC SC 内に配置可能
3.2 Colab Enterprise
- サーバーレスな Colab(インスタンス管理不要)
- ペアプロ・コメント・共有が Google Docs ライク
- ノートブックの自動保存・履歴管理
- 企業のセキュリティポリシー(VPC SC / CMEK)に対応
3.3 使い分け
| Workbench | Colab Enterprise | |
|---|---|---|
| インスタンス管理 | 必要(起動・停止) | 不要 |
| カスタムイメージ | 可 | 限定的 |
| GPU 選択 | 細かく可能 | 限定的 |
| 協業 | 限定的 | Google Docs ライク |
| いつ使う | 長期プロジェクト・GPU 細かく要 | アドホック・チーム共有 |
3.4 セキュリティのベストプラクティス
- サービスアカウント を使い、ユーザー資格情報を埋め込まない
- シングルユーザーモード で起動(共有禁止)
- VPC SC で境界、Private Google Access で内部のみ通信
- CMEK で永続ディスク暗号化
- Idle shutdown で課金浪費を防止
4. ML フレームワーク
| フレームワーク | 強み | Google Cloud 連携 |
|---|---|---|
| PyTorch | 研究で標準、動的グラフ、Hugging Face エコシステム | Workbench / Custom Training / Model Garden |
| TensorFlow | 本番デプロイ、TF Serving、TFX | 同上 + TFX が AI Platform Pipeline と統合 |
| JAX | 高速・関数型・TPU との相性最高 | 大規模 LLM 訓練で採用増 |
| scikit-learn | 軽量・古典 ML | カスタムコンテナで Custom Training |
| XGBoost / LightGBM | テーブルデータの精度最強 | Custom Training / Tabular Workflows |
| Hugging Face | LLM / NLP のレシピと事前学習モデル | Workbench / Custom Training |
5. 実験管理(Experiments / ML Metadata)
5.1 Agent Platform Experiments
- 実験 (Experiment) = 同じ目的の比較対象群(例: "解約予測モデルの比較")
- 実行 (Run) = 1回の訓練(パラメータ・メトリクス・成果物を記録)
- 可視化:パラメータ vs メトリクスの並列比較プロット
5.2 何を記録するか
- ハイパーパラメータ(learning_rate / batch_size / etc.)
- メトリクス(loss / accuracy / AUC / RMSE / etc.)
- アーティファクト(モデルファイル・データセットスナップショット)
- 環境(コードバージョン・ライブラリバージョン)
5.3 ML Metadata
- 実験・モデル・データセットの 系統 (lineage) を管理
- "このモデルはどの訓練データから生まれた?" を辿れる
- Pipelines と統合され、パイプライン実行のメタデータも自動収集
6. モデル評価の基礎
6.1 予測モデルの評価メトリクス(復習)
分類:
- Accuracy:全体の正解率(クラス不均衡で誤りやすい)
- Precision:陽性予測のうち実際に陽性だった割合(誤検知を減らしたいとき)
- Recall:実際の陽性のうち検知できた割合(取りこぼしを減らしたいとき)
- F1:Precision と Recall の調和平均
- AUC-ROC / AUC-PR:閾値非依存(不均衡データは PR)
- Confusion Matrix:詳細な誤り分析
回帰:
- RMSE:大きな誤差を重視
- MAE:外れ値に頑健
- MAPE:相対誤差(スケール非依存)
- R²:決定係数
6.2 🆕 生成 AI の評価
| アプローチ | 説明 | 用途 |
|---|---|---|
| 自動メトリクス | BLEU / ROUGE / Perplexity | 翻訳・要約の参照との一致度 |
| 🆕 LLM-as-a-judge | Gemini に「他モデル出力の品質」を評価させる | 主観的品質・指示遵守・有害性 |
| 人手評価 | アノテーター | 最終品質・複雑な評価 |
| タスク固有評価 | RAG なら HitRate@k / nDCG | 検索系タスク |
LLM-as-a-judge のメリット:
- 人手評価より圧倒的に高速・低コスト
- "指示への忠実度"・"有害性"・"トーン" など主観評価可能
- Gemini Pro を judge にして Flash 出力を採点、など
注意点:
- judge LLM のバイアスを定期的にキャリブレーション
- 重要な意思決定は人手評価で裏付け
7. このセクションで覚えるキーワード
- Agent Platform Feature Store:訓練/推論で共通の特徴量保管庫、Training-Serving Skew 防止
- Workbench / Colab Enterprise:マネージド Jupyter / サーバーレス Colab
- PyTorch / JAX / sklearn:主要フレームワーク
- Agent Platform Experiments:パラメータ・メトリクス・アーティファクトを記録
- ML Metadata:系統 (lineage) 管理
- LLM-as-a-judge 🆕:生成 AI の主観評価を LLM で自動化
- Sensitive Data Protection (DLP) / CMEK / VPC SC:PII 保護の3点セット
次は 02_応用.md でツール選定と LLM-as-a-judge の実装パターンを扱います。