Vertex AI Model Monitoring のご紹介
Ivan Nardini
Developer Relations Engineer
Chase Lyall
Product Manager
※この投稿は米国時間 2024 年 6 月 12 日に、Google Cloud blog に投稿されたものの抄訳です。
新しい Vertex AI Model Monitoring をご紹介します。これは、Vertex AI のモデルのモニタリング機能を再構築し、あらゆるサービス提供インフラストラクチャ(Google Kubernetes Engine、Cloud Run、Google Compute Engine など、Vertex AI の外部にある場合を含む)において、デプロイされたモデルのモニタリングの柔軟性、拡張性、一貫性を高めたソリューションです。
新しい Vertex AI Model Monitoring は、以下の特徴を通じて、モデルのモニタリング機能を一元的に管理し、本番環境のモデルのパフォーマンスをお客様が継続的にモニタリングできるようにすることを目指しています。
- Vertex AI の外部でホストされるモデルのサポート(例: GKE、Cloud Run、さらにはマルチクラウドやハイブリッド クラウド)
- モニタリング ジョブの統合管理(オンライン予測とバッチ予測の両方に対応)
- 構成の簡素化と指標の可視化(エンドポイントではなく、モデルに接続)
このブログ記事では、新しい Vertex AI Model Monitoring の基本的なコンセプトと機能、および本番環境のモデルのモニタリングにおける活用方法についてご紹介します。
新しい Vertex AI Model Monitoring の概要
デプロイされたモデル バージョンに対する通常のモニタリング アプローチは、予測リクエスト レスポンス ペア(つまり、入力特徴と出力予測のペア)をキャプチャして、収集します。これらの推論ログは、オンデマンドまたはスケジュール設定により、モデルのパフォーマンス評価のためにモニタリング ジョブで消費されます。モニタリング ジョブの構成には、推論スキーマ、モニタリング指標、目標しきい値、アラート チャネル、スケジュールの頻度が含まれます。異常が検出されると、さまざまなチャネル(メール、Slack など)でアラートが送信され、モデルオーナーは通知を受けて異常を調査し、新しいトレーニング サイクルを開始できます。
新しい Vertex AI Model Monitoring はモデル バージョンを Model Monitor のリソースとして、関連するモニタリング ジョブを Model Monitoring のジョブのリソースとして表します。
Model Monitor は、Vertex AI Model Registry 内の特定のモデル バージョンのモニタリング表現です。Model Monitor は、トレーニング データセット(ベースライン データセットと呼ばれる)と本番環境データセット(参照データセットと呼ばれる)のデフォルトのモニタリング構成と、モデルのモニタリング用に定義した一連のモニタリング目標を格納します。
Model Monitoring のジョブは、Model Monitoring の構成の 1 回のバッチ実行を表します。各ジョブは、データを処理し、関連する記述的指標のデータ分布を算出して、予測と特徴のデータ分布のトレーニング分布からのドリフトを計算し、定義したしきい値に基づいてアラートをトリガーします。Model Monitoring のジョブは、オンデマンドでまたはスケジュール設定によりスライディング時間ウィンドウを継続的に、1 つ以上のカスタマイズ可能なモニタリング目標でモニタリングできます。
ここまで、新しい Vertex AI Model Monitoring の主なコンセプトと機能をいくつか紹介しました。次に、これらを活用して、本番環境のモデルのモニタリング プロセスを改善する方法について説明します。特に、このブログ記事では、新しい Vertex AI Model Monitoring を使用して、参照されたモデル(Vertex AI Model Registry に登録されているものの、インポートされていないモデル)をモニタリングする方法に焦点を当てて説明します。
Vertex AI Model Monitoring による外部モデルのモニタリング
会社にとっての顧客の価値を予測するために、顧客のライフタイム バリュー(CLV)モデルを構築するとしましょう。このモデルは独自の本番環境(例: GKE、GCE、Cloud Run)にあり、モデルの品質をモニタリングするために新しい Vertex AI Model Monitoring を使用します。
Vertex AI にホストされていないモデル(つまり、参照されたモデル)のモニタリングに新しい Vertex AI Model Monitoring を使用するには、まずベースラインとターゲットのデータセットを準備します。このシナリオでは、データセットは特定の時点におけるトレーニングの特徴の値(ベースライン データセット)と、対応する本番環境の値(ターゲット データセット)を表します。
データセットを Cloud Storage または BigQuery に保存します。Vertex AI Model Monitoring でサポートされるデータソースは、Cloud Storage と BigQuery の 2 つに限られません。詳細については、こちらのドキュメントをご覧ください。CLV モデルのターゲット データセットの例を以下で紹介します。
Vertex AI Model Registry に参照モデルを登録し、関連する Model Monitor を定義します。Model Monitor で、モニタリングするモデル、および関連するモデル モニタリング スキーマ(特徴の名前と関連するデータタイプを含む)を設定します。参照モデルの場合、得られたモデル モニタリング アーティファクトは、ガバナンスと再現性を確保するために、Vertex AI ML Metadata に記録されます。Vertex AI SDK for Python を使用して Model Monitor を作成する方法の例を示します。
ここで、ModelMonitoringSchema
はモニタリングする特徴のスキーマを表しています。
Model Monitor を作成し、ベースラインとターゲットのデータセットを準備すると、Model Monitoring のジョブを定義して実行する準備が整います。Model Monitoring のジョブを定義する際に、何をモニタリングするか、予期しない事態が発生した場合のモデルのモニタリング方法も決定する必要があります。何をモニタリングするかに関して、新しい Vertex AI Model Monitoring は複数のモニタリング目標を定義できます。新しい Vertex AI Model Monitoring を活用すると、カテゴリデータ、数値データ、すべてのタイプのデータで、ユーザー定義のしきい値に基づいて、入力特徴、出力予測、特徴アトリビューションのデータドリフトを追跡できます。トレーニング(ベースライン)と本番環境(ターゲット)における特徴の分布の差を測定するために、特徴のデータタイプに応じて、チェビシェフ距離または Jensen-Shannon ダイバージェンスの指標を使用できます。これにより、いずれの特徴においても、距離の指標が関連するしきい値を超えるとアラートがトリガーされます。
モデルのモニタリング方法に関して、新しい Vertex AI Model Monitoring では、モニタリング ジョブを 1 回限り実行するか、継続的なモニタリング用にジョブを定期的にスケジュール設定する柔軟性が得られます。また、新しい Vertex AI Model Monitoring は、Gmail や Slack など、モニタリング結果の確認に使用できる複数の通知チャネルをサポートしています。Vertex AI SDK for Python を使用し、Model Monitoring のジョブを定義して 1 回限り実行する方法を以下の例に示します。
この場合、1 回限りのモニタリング ジョブを実行した直後に、モデル モニタリング ジョブが開始されたことを知らせる以下のようなメッセージのメール通知アラートを受信します。
異常が検出された場合、しばらくすると、検出された異常の詳細なレポートが含まれる次のようなメールを受信します。
これらの異常を確認するために、新しい Vertex AI Model Motoring UI を使用することも可能で、特徴の分布や、トレーニングと本番環境における分布の差についての、さらに詳細な情報が得られます。
Telepass が ML モデルのモニタリングに新しい Vertex AI Model Monitoring を活用する方法
急速に変化する通行料金の収受やモビリティのサービスの世界において、Telepass はイタリアとヨーロッパの多くの国々で主要なプロバイダの一つとなりました。近年、Telepass は、MLOps を採用して ML ソリューションの開発を加速するという戦略的決断を下しました。過去 1 年以内に、Telepass は総合的な MLOps プラットフォームの実装に成功し、さまざまな ML ユースケースを堅調にデプロイできるようになりました。
Telepass チームはこの MLOps フレームワークを活用して、現時点で 80 以上にのぼる、毎月実行されるトレーニング パイプラインを開発、テストし、継続的デプロイによりシームレスにデプロイしています。これらのパイプラインは、顧客離れを予測するための正確なチャーン予測、顧客とのやり取りをカスタマイズするための傾向モデリング、データドリブンな顧客クラスタリング戦略など、10 を超えるユースケースに対応しています。
Telepass は、これらのことを達成しても、特徴のドリフトを特定するシステムや、データ分布の異常によりトリガーされるイベント ドリブンな再トレーニング メカニズムが欠落していることに気付きました。このニーズに対応し、既存の MLOps フレームワークにモニタリングを統合して再トレーニング プロセスを自動化するために、Telepass は Vertex AI Model Monitoring の先行ユーザーとして Google Cloud と提携しました。
Telepass は次のように述べています。
「新しい Vertex AI Model Monitoring と確立された当社の Vertex AI インフラストラクチャの戦略的統合により、チームはモデルの品質保証と MLOps の効率性に関して比類のない高いレベルを達成しました。タイムリーに再トレーニングを促すことで、パフォーマンスを一貫して高め、関係者の期待を上回るインパクトのある結果を実現しています。」
次のステップ
AI / ML モデルの大規模なモニタリングに苦戦していませんか?
新しい Vertex AI Model Monitoring を使用すると、あらゆるモデルのモニタリングを管理でき、本番環境のパフォーマンスが保証されます。
新しい Vertex AI Model Monitoring について詳しくは、以下のリソースをご覧ください。
- ドキュメント
- GitHub のサンプル
プレビュー通知
このプロダクトまたは機能は、サービス固有規約の「一般サービス規約」セクションの「一般提供前のサービス規約」の対象となります。一般提供前のプロダクトと機能は「現状のまま」利用できますが、サポートが制限されることがあります。詳細については、リリース ステージの説明をご覧ください。新しい Vertex AI Model Monitoring は本番環境におけるモデルのサービングのモニタリングを目的としていますが、ビジネス クリティカルなワークロードでの使用や、個人データまたは機密データの処理は、GA になるまでお待ちください。
ー セールス エンジニア Ivan Nardini
ー プロダクト マネージャー Chase Lyall