§6 AI ソリューションのモニタリング
本番モデルの継続的評価、4 種類のドリフト検知、責任ある AI、LLM セキュリティ(Model Armor)、生成 AI 評価。比重 ~13%。新ガイドで強化された "🆕" 論点が多い。
このセクションの結論
ドリフトは Skew / Data / Concept / Attribution の 4 種。本番監視は Model Monitoring、
説明は Explainable AI(表は Shapley・画像は IG/XRAI)、
LLM 防御は Model Armor、生成 AI 評価は Gen AI Evaluation Service。
📊 4 種類のドリフト(試験頻出)
| Training-Serving Skew | Data Drift | Concept Drift | 🆕 Feature Attribution Drift | |
|---|---|---|---|---|
| 変化対象 | 前処理コード | 入力 X の分布 | P(Y\|X) の関係 | 特徴量寄与度(SHAP 値など) |
| 例 | 訓練 pandas、推論 別コード | ユーザー年齢層変化 | コロナで購買行動変化 | 「年齢」→「地域」が支配的に |
| ラベル必要? | × | × | ○ | × |
| 検知タイミング | 即時 | 継続 | ラベル取得時 | 継続 |
| 対策 | TFT/Feature Store | 再訓練 | 再訓練+特徴量見直し | 再訓練+特徴量見直し |
違いを覚える
Data Drift(入力 X が変化)と Concept Drift(X→Y の関係が変化)の違いは頻出。
Concept Drift は 真のラベルが必要(後日入手)。
📡 Agent Platform Model Monitoring
from google.cloud import aiplatform
monitor = aiplatform.ModelDeploymentMonitoringJob.create(
display_name="churn-monitor",
endpoint=endpoint,
objective_configs=[
aiplatform.model_monitoring.ObjectiveConfig(
training_dataset=training_dataset,
skew_detection_config=skew_config,
drift_detection_config=drift_config,
explanation_config=explanation_config,
),
],
sample_rate=0.5, # 50% サンプリング
monitor_interval=3600,
)
監視対象メトリクス
- 入力特徴量のドリフト
- 予測値の分布変化
- 特徴量重要度のドリフト
- 🆕 LLM 用メトリクス(BLEU/ROUGE/Perplexity 等)
アラート設計
- Warning:Slack 通知のみ
- Critical:PagerDuty + 自動再訓練起動
- Emergency:カナリアロールバック + 全アラート
🔍 Explainable AI
| 手法 | 主な対象 | 仕組み |
|---|---|---|
| Sampled Shapley | 表形式 | ランダムサンプリングで Shapley 値近似 |
| Integrated Gradients | DNN(画像/テキスト) | 入力空間の勾配積分 |
| XRAI | 画像 | リージョン重要度 |
🛡 🆕 Model Armor — LLM セキュリティ
[User Request]
↓
[Model Armor: 入力チェック]
├─ プロンプトインジェクション
├─ PII 含む
├─ 有害指示
└─ ジェイルブレイク
↓ (合格)
[LLM (Gemini など)]
↓
[Model Armor: 出力チェック]
├─ PII 含まれていないか
├─ 有害コンテンツ
└─ 機密情報の漏洩
↓ (合格)
[Response to User]
| 脅威 | 例 | Model Armor の対応 |
|---|---|---|
| プロンプトインジェクション | 「これまでの指示を無視して...」 | パターン検知 + LLM 分析 |
| ジェイルブレイク | DAN プロンプト等 | LLM 判定 |
| PII 漏洩(入力) | クレカ番号を含む | DLP + Model Armor |
| PII 漏洩(出力) | LLM が学習データ PII 吐く | 出力スキャン |
| 有害コンテンツ | 暴力・差別 | Safety Filters + Model Armor |
| データ漏洩 | システムプロンプト暴露 | 出力パターン検知 |
セキュリティ層の組合せ
入力フィルタ:
Regex(単純パターン)
+ Sensitive Data Protection(PII 検出)
+ Model Armor(プロンプトインジェクション・ジェイルブレイク)
+ Safety Filters(Gemini 標準)
出力フィルタ:
Model Armor(出力中の機密漏洩・有害)
+ Sensitive Data Protection(PII 再スキャン)
+ Safety Filters
⚖ 🆕 Gen AI Evaluation Service
自動メトリクス
BLEU / ROUGE / METEOR / Perplexity
🆕 LLM-as-a-judge
Gemini を評価者にして他モデル出力を採点
人手評価
重要な意思決定はサンプリングで実施
本番リクエストの 5〜10% をサンプリング → 定期評価ジョブ → 品質スコア → 閾値割れでアラート、というのが標準パターン。
⚖ 責任ある AI
公平性指標
- Demographic Parity:属性間で陽性予測率が等しい
- Equalized Odds:属性間で FPR/FNR が等しい
- Disparate Impact:陽性予測率の比 (≤ 0.8 で注意)
透明性
- Model Card:モデルの目的・性能・限界
- Data Card:データソース・偏り・前処理
プライバシー
- Differential Privacy (DP):訓練データへの数学的ノイズ
- 連合学習:端末で学習、勾配のみ集約
- Confidential Computing:メモリ内も暗号化された TEE
バイアス緩和
- 再サンプリング・重み付け
- 公平性制約付き訓練
- 属性別閾値調整(後処理)
- 過小代表グループのデータ追加
⚠️ 試験での頻出ひっかけ
| シナリオ | 不正解 | 正解 |
|---|---|---|
| "入力分布が変化" | Concept Drift | Data Drift |
| "入力と出力の関係が変化" | Data Drift | Concept Drift |
| "訓練/推論前処理ズレ" | Drift | Training-Serving Skew |
| "特徴量の重要度が変化" | Data Drift | Feature Attribution Drift 🆕 |
| "LLM プロンプトインジェクション対策" | プロンプト工夫 | Model Armor |
| "LLM が PII を吐く" | DLP のみ | Model Armor + DLP + Safety Filters |
| "生成 AI 品質を継続評価" | 全件人手 | Gen AI Evaluation Service + LLM-as-a-judge |
| "表モデルの予測理由を説明" | 自前で算出 | Sampled Shapley |
| "画像分類の判断根拠" | Saliency 自作 | Integrated Gradients / XRAI |
| "全体精度が高ければ公平性 OK" | そのまま | スライス別評価・Equalized Odds |
📝 セルフチェック(6 問)
Q1
入力 X の分布が時間とともに変化することを何と呼ぶ?
正解: B。
Q2
入力 X と出力 Y の関係 P(Y\|X) が変化することを何と呼ぶ?
正解: C。ラベル必要。
Q3 🆕 新ガイド
新ガイドで追加された、各特徴量の寄与度の分布変化は?
正解: A。
Q4 複数選択 🆕 新ガイド
LLM プロンプトインジェクション対策に適切なツール 2 つ:
正解: A, B。
Q5
表形式モデルの予測理由を説明するには?
正解: A。
Q6 🆕 新ガイド
生成 AI の品質を継続評価するマネージドサービスは?
正解: B。