Vertex AI Model Monitoring の概要

本番環境で使用されるモデルは、期待どおりに動作し続けるように継続的にモニタリングする必要があります。モデルを本番環境にデプロイすると、予測のためにモデルに提供される入力データが頻繁に変更されます。予測入力データがモデルのトレーニングを行ったデータから外れると、モデル自身に変化がなくても、モデルのパフォーマンスは低下する可能性があります。

Model Monitoring では、カテゴリ特徴と数値特徴に対する特徴のスキューとドリフトの検出がサポートされています。

トレーニング / サービング スキューと予測ドリフト

トレーニング / サービング スキューは、本番環境での特徴データの分布が、モデルのトレーニングに使用される特徴データの分布と異なる場合に発生します。本番環境のデータとトレーニング データがかけ離れている場合、モデルのパフォーマンスは低下する可能性があります。モデルは、そのトレーニング データに類似したデータに対して最高のパフォーマンスを発揮します。

元のトレーニング データを利用できる場合は、スキュー検出を有効にして、モデルのトレーニング / サービング スキューをモニタリングできます。

予測ドリフトは、本番環境で、特徴データの分布が時間の経過とともに大きく変化した場合に発生します。また、こうした変化は、モデルのパフォーマンスにも影響を及ぼします。

元のトレーニング データが利用できない場合は、ドリフト検出を有効にして、本番環境の入力の時間経過に伴う変化をモニタリングします。

トレーニング / サービング スキューと予測ドリフトの計算

Model Monitoring は、トレーニング / サービング スキューや予測ドリフトをモニタリングされている特徴に関して、本番環境で確認された最新の特徴値の統計的分布を計算します。この統計的分布は、距離スコアを計算することによって他のベースライン分布と比較され、本番環境の特徴値がそのベースラインにどの程度類似しているかが判断されます。2 つの統計的分布間の距離スコアが特定のしきい値を超えると、Model Monitoring はそれをスキューまたはドリフトと判断します。

スキューとドリフト検出のベースライン

Model Monitoring は、スキュー検出とドリフト検出で異なるベースラインを使用します。

  • スキュー検出の場合、ベースラインはトレーニング データ内の特徴が持つ値の統計的分布です。
  • ドリフト検出の場合、ベースラインは、直近に本番環境で確認された特徴が持つ値の統計的分布です。

スキューとドリフト検出用のベースラインとしきい値を構成する方法をご覧ください。

カテゴリ特徴と数値特徴

カテゴリ特徴の場合、計算される分布は、特徴が取り得る値それぞれのインスタンスの数か割合になります。数値特徴の場合は、取り得る特徴値の範囲を等間隔に分割し、各間隔ごとに該当する特徴値の数や割合を計算します。

例:

特徴分布の例を示すヒストグラム。

2 つの統計的分布を比較するため、Model Monitoring では次の統計指標が使用されます。

詳細については、TensorFlow データ検証異常リファレンスをご覧ください。

次のステップ