Vertex AI Model Monitoring の概要

このページでは、表形式 AutoML モデルと表形式のカスタム トレーニング モデル向けの Vertex AI Model Monitoring の概要について説明します。Vertex AI Model Monitoring を有効にするには、Model Monitoring の使用をご覧ください。

概要

本番環境にデプロイされたモデルは、トレーニング データに類似した予測入力データに対して最高のパフォーマンスを発揮します。入力データがモデルのトレーニングに使用するデータから外れると、モデル自体に変化がなくても、モデルのパフォーマンスは低下する可能性があります。

モデルのパフォーマンスを維持するため、Model Monitoring はモデルの予測入力データをモニタリングし、特徴のスキューとドリフトをモニタリングします。

  • トレーニング / サービング スキューは、本番環境での特徴データの分布が、モデルのトレーニングに使用される特徴データの分布と異なる場合に発生します。元のトレーニング データを利用できる場合は、スキュー検出を有効にして、モデルのトレーニング / サービング スキューをモニタリングできます。

  • 予測ドリフトは、本番環境において特徴データの分布が時間の経過とともに大きく変化した場合に発生します。元のトレーニング データが利用できない場合は、ドリフト検出を有効にして、時間の経過に伴う入力データの変化をモニタリングします。

スキュー検出とドリフト検出の両方を有効にできます。

Model Monitoring では、カテゴリ特徴と数値特徴に対する特徴のスキューとドリフトを検出できます。

  • カテゴリ特徴は取り得る値の数によって制限されるデータで、通常は定性的性質によって分類されます。たとえば、商品タイプ、国、顧客タイプなどのカテゴリがあります。

  • 数値特徴とは、任意の数値を持つことができるデータです。たとえば、重量や高さなどです。

モデルの特徴のスキューまたはドリフトが、設定したアラートしきい値を超えると、Model Monitoring からメール通知アラートが送信されます。また、時間の経過に伴う各特徴の分布を表示して、モデルを再トレーニングする必要があるかどうかを評価することもできます。

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

トレーニング / サービング スキューと予測ドリフトを検出するために、Model Monitoring は TensorFlow Data Validation(TFDV)を使用して、次のプロセスに従って分布と距離スコアを算出します。

  1. ベースラインの統計的分布を計算します。

    • スキュー検出の場合、ベースラインはトレーニング データ内の特徴が持つ値の統計的分布です。

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

    カテゴリ特徴と数値特徴の分布は次のように計算されます。

    • カテゴリ特徴の場合、計算される分布は、特徴が取り得る値それぞれのインスタンスの数か割合になります。

    • 数値特徴の場合、Model Monitoring は取り得る特徴値の範囲を等間隔に分割し、各間隔ごとに該当する特徴値の数や割合を計算します。

    ベースラインは Model Monitoring の作成時に計算され、ジョブのトレーニング データセットを更新した場合にのみ再計算されます。

  2. 本番環境で確認された最新の特徴値の統計的分布を計算します。

  3. 距離スコアを計算して、本番環境の最新の特徴値の分布をベースライン分布と比較します。

  4. 2 つの統計的分布間の距離スコアが指定のしきい値を超えると、Model Monitoring はそれをスキューまたはドリフトと判断します。

次の例は、カテゴリ特徴のベースラインと最新の分布の間のスキューまたはドリフトを示しています。

ベースライン分布

ベースライン データセットの特徴分布の例。

最新の分布

最新の特徴分布の例。

次の例は、数値特徴のベースライン分布と最新の分布の間のスキューまたはドリフトを示しています。

ベースライン分布

ベースライン データセットの特徴分布の例。

最新の分布

最新の特徴分布の例。

Model Monitoring を使用する際の考慮事項

  • コスト効率を高めるために、予測リクエストのサンプリング レートを設定して、モデルに対する本番環境の入力のサブセットをモニタリングできます。

  • デプロイされたモデルに最近記録された入力のスキューまたはドリフトをモニタリングする頻度を設定できます。モニタリングの頻度によって、各モニタリング実行で分析されるログデータの期間(モニタリング ウィンドウ サイズ)が決まります。

  • モニタリング対象の特徴ごとにアラートのしきい値を指定できます。入力特徴の分布と対応するベースライン間の統計的距離が指定のしきい値を超えると、アラートがログに記録されます。デフォルトでは、すべてのカテゴリ特徴と数値特徴がモニタリングされ、しきい値は 0.3 になります。

  • オンライン予測エンドポイントは、複数のモデルをホストできます。エンドポイントでスキューまたはドリフトの検出を有効にすると、そのエンドポイントでホストされているすべてのモデルで、次の構成パラメータが共有されます。

    • 検出のタイプ
    • モニタリング頻度
    • モニタリングされた入力リクエストの割合

    その他の構成パラメータでは、モデルごとに異なる値を設定できます。

次のステップ