モデルモニタリングとは
モデルモニタリング(Model Monitoring)とは、本番環境で稼働している機械学習モデルの性能、予測品質、入力データの特性を継続的に監視するプロセスです。モデルの劣化を早期に検出し、適切な対処(再学習、ロールバックなど)を行うためのMLOpsの重要な実践です。
| ひとことで言うと | 本番で動いているモデルの性能と挙動を、継続的に見張ること。 |
|---|---|
| 何を見るか | 予測精度、入力データの分布、応答時間、エラー率。 |
| 注意点 | モデルの精度は時間とともに必ず劣化する。放置しない仕組みが要る。 |
監視すべき指標
モデルモニタリングでは、予測精度やF1スコアなどの性能指標、入力データの分布変化(データドリフト)、予測結果の分布変化(コンセプトドリフト)、推論レイテンシ、エラー率、リソース使用量などを監視します。特にデータドリフトとコンセプトドリフトの検出は、モデル劣化の予兆を捉える上で重要です。
1予測を記録入力と出力を保存
▶
2正解と照合分かった時点で比較
▶
3精度を算出期間ごとに集計
▶
4しきい値で警告劣化を検知
▶
5再学習を実施新しいデータで更新
ドリフト検出の手法
データドリフトの検出にはKolmogorov-Smirnov検定、PSI(Population Stability Index)、KLダイバージェンスなどの統計的手法が用いられます。コンセプトドリフトはモデルの予測と実際の結果の乖離を監視することで検出します。アラート閾値の設定と自動通知の仕組みが重要です。
モニタリングツール
Evidently AI、Whylabs、Arize AI、Fiddler AI、Amazon SageMaker Model Monitor、Google Vertex AI Model Monitoringなどのツールがモデルモニタリングを支援しています。Prometheusやgrafanaと組み合わせた自作のモニタリング基盤を構築する組織も多くあります。