モデル監視
TL;DR
モデル監視は、予測サービスが稼働しているかだけでなく、モデルがまだ有用かを検出します。データ品質、特徴量と予測のドリフト、モデル品質、ビジネス影響の4層を監視します。難しい点はラベル遅延です。真の結果は予測から数時間、数日、数か月後に届くことがあります。
サービス監視だけでは足りない
HTTP 200は悪い予測を隠します。モデルは高速に応答しながら、コンバージョンを下げたり、不正を見逃したり、低品質なコンテンツを上位に出したりします。
監視レイヤー
| レイヤー | 問い | 例 |
|---|---|---|
| データ品質 | 入力は妥当か | NULL率、スキーマ変更、範囲チェック |
| 特徴量鮮度 | 入力は新しいか | 最終更新時刻、参照ミス率 |
| ドリフト | 本番は学習時と違うか | 分布距離、カテゴリ比率 |
| 予測挙動 | 出力が変化しているか | スコア分布、信頼度、クラス比率 |
| 品質 | 正しいか | Precision、Recall、キャリブレーション |
| ビジネス影響 | システム成果は健全か | 売上、不正損失、継続率、苦情 |
メトリクスの時間軸
| タイミング | シグナル | 用途 |
|---|---|---|
| 即時 | レイテンシ、エラー、特徴量ミス、フォールバック率 | 可用性とロールアウト安全性 |
| 近リアルタイム | スコア分布、クラス比率、ドリフト、鮮度 | 挙動変化の検知 |
| 短期代理 | クリック、レビュー率、セッション行動 | 初期プロダクト信号 |
| 遅延真値 | チャージバック、継続、デフォルト、異議申立 | 真の品質判断 |
| 定期監査 | スライス、公平性、レビュー品質 | 長期リスク管理 |
速い代理指標を真のラベルの代わりにし続けてはいけません。
ドリフトの種類
データドリフト
入力分布が変わります。例: ある地域で学習したローンモデルに別地域のトラフィックが流れる。
概念ドリフト
入力とラベルの関係が変わります。例: 攻撃者が現在の不正検知モデルに適応する。
予測ドリフト
モデル出力の分布が変わります。例: 推薦モデルが狭い商品カテゴリに極端に高いスコアを出し始める。
ラベルドリフト
ターゲット分布が変わります。例: 攻撃キャンペーンでスパムの基本率が変化する。
ドリフト検知の選択
| シグナル | 有効な対象 | 弱点 |
|---|---|---|
| NULL/default率 | パイプライン欠落 | 意味変化は検知しにくい |
| PSI | 表形式特徴量の分布変化 | ビニングに敏感 |
| KS検定 | 数値分布変化 | 大量トラフィックでは微小差も有意 |
| カテゴリ分布差 | enum/category変化 | long tailがノイズになる |
| 埋め込み重心変化 | ベクトル表現 | 説明しにくい |
| 予測分布 | 出力挙動変化 | 入力かモデルか原因が不明 |
| スライス品質 | 実ユーザー影響 | ラベルと十分な量が必要 |
ドリフトは煙警報であり根本原因ではありません。
ラベル遅延
クリックのようにすぐラベルが得られるものもあれば、不正チャージバックやローンデフォルトのように時間がかかるものもあります。高速な代理指標と遅い真の指標を分けて扱います。
予測ログ
予測ログには以下を含めます。
- リクエストIDと時刻。
- エンティティID。
- モデル名とバージョン。
- 特徴量または特徴量参照。
- 予測と信頼度。
- ルーティング経路: champion、canary、shadow、fallback。
- レイテンシとエラー情報。
- 実験割り当て。
- 後から結合されるラベルと結果時刻。
機密データを直接ログに残さず、参照、ハッシュID、承認済み特徴量を使います。
トリアージフロー
まず「違うものを配信し始めたか」を確認し、その後にモデル品質を見ます。
アラート方針
| アラート | ページするか | 対応 |
|---|---|---|
| サービングエラー率が高い | はい | 可用性を復旧 |
| 重要モデルの特徴量鮮度SLO違反 | はい | フェイルオーバーまたは無効化 |
| 予測分布が急変 | 通常はいいえ | 営業時間内に調査 |
| 遅延品質指標がガードレール未満 | 場合による | ロールバックまたはトラフィック削減 |
| カナリーのビジネスKPI悪化 | 重要フローでははい | ロールアウト停止 |
障害モード
代理指標の罠
代理指標は改善しているのに、実際のユーザー成果やビジネス成果が悪化します。
対策: ガードレール、実験、複数指標での昇格判断を使います。
隠れたスライス劣化
全体品質は安定しているが、一部セグメントだけ悪化します。
対策: 地域、端末、言語、テナント、リスク層、新規ユーザーなど重要スライスを監視します。
本番データではなく学習データを監視している
ダッシュボードが本番リクエスト分布ではなく、きれいなオフライン検証データを見ています。
対策: 本番予測ログを監視し、学習ベースラインと比較します。
モデル品質SLO
| SLO | 例 |
|---|---|
| 可用性 | 99.9%の予測がポリシー内で応答 |
| レイテンシ | p99が100ms以下 |
| 鮮度 | 重要特徴量が120秒以内に更新 |
| フォールバック | 通常時のルールfallbackが1%未満 |
| 品質 | 成熟ラベルで偽陽性率が閾値以下 |
| スライス | 重要セグメントが最低品質を下回らない |
| レビュー負荷 | 手動レビューキューp95年齢が目標以下 |
品質SLOは遅れるため、即時ガードレールと組み合わせます。
重要なポイント
- 正常に動くサービスでも悪い予測を返すことがある。
- 本番入力と予測分布を監視する。
- ラベル遅延は品質測定速度を決める。
- スライス監視は集計値に隠れた劣化を見つける。
- 監視はロールバック、再学習、調査につながる必要がある。