AI Gateway 対応の推論テーブルを使用して、提供されたモデルを監視する
プレビュー
Mosaic AI Gateway は パブリック プレビュー 段階であり、 us-east1
と us-central1
でサポートされています。
この記事では AI モニタリング提供モデルのゲートウェイ対応推論テーブルについて説明します。 推論テーブルは、エンドポイントの受信要求と送信応答を自動的にキャプチャし、それらを Unity Catalog Delta テーブルとしてログに記録します。 この表のデータを使用して、機械学習モデルを監視、評価、比較、および微調整できます。
AI Gateway 対応推論テーブルとは
AI Gateway 対応の推論テーブルは、Mosaic AI Model Serving エンドポイントからのサービングリクエストの入力と応答(予測)を継続的にログに記録し、それらを Unity Catalog の Delta テーブルに保存することで、モデルのモニタリングと診断を簡素化します。 その後、Databricks SQL クエリやノートブックなど、Databricks プラットフォームのすべての機能を使用して、モデルを監視、デバッグ、最適化できます。
既存または新しく作成されたモデルサービングエンドポイントで推論テーブルを有効にでき、そのエンドポイントへのリクエストは Unity Catalogのテーブルに自動的に記録されます。
推論テーブルの一般的なアプリケーションには、次のようなものがあります。
- トレーニング コーパスを作成します。 推論テーブルをグラウンドトゥルースラベルと結合することで、モデルの再トレーニングや微調整、改善に使用できるトレーニングコーパスを作成できます。 Databricks ジョブを使用すると、継続的なフィードバックループを設定し、再トレーニングを自動化できます。
- データとモデルの品質を監視します。 レイクハウスモニタリングを使用して、モデルのパフォーマンスとデータドリフトを継続的に監視できます。 レイクハウスモニタリングは、関係者と共有できるデータとモデル品質ダッシュボードを自動的に生成します。 さらに、アラートを有効にして、受信データのシフトやモデルのパフォーマンスの低下に基づいてモデルを再トレーニングする必要があるタイミングを知ることができます。
- 本番運用の問題をデバッグします。 推論テーブルは、HTTP ステータスコード、リクエストとレスポンスの JSON コード、モデルの実行時間、モデルの実行時間中の トレース出力 などのデータをログに記録します。 このパフォーマンス・データは、デバッグ目的で使用できます。 また、推論テーブルでヒストリカルデータを使用して、履歴リクエストに対するモデルのパフォーマンスを比較することもできます。
- デプロイされた AI エージェントを監視します。 推論テーブルには、AI エージェントの MLflow トレースも格納できるため、問題のデバッグとパフォーマンスの監視に役立ちます。
必要条件
-
AI Gateway 対応推論テーブルは、 プロビジョニングされたスループット を使用するエンドポイント、または 外部モデルを提供するエンドポイントでのみサポートされます。
-
次のいずれかの Databricks ワークスペース。
-
Databricks では、推論テーブルのパフォーマンスを最適化するために 、予測的最適化を有効にする ことをお勧めします。
-
ワークスペースはUnity Catalogが有効になっていなければなりません。
-
エンドポイントの作成者と修飾子の両方に、エンドポイントに対する Can Manage アクセス許可が必要です。 アクセス制御リストを参照してください。
-
エンドポイントの作成者と修飾子の両方に、Unity Catalog で次の アクセス許可 が必要です。
USE CATALOG
指定したカタログに対する権限。USE SCHEMA
指定したスキーマに対する権限。CREATE TABLE
スキーマ内の権限。
推論テーブルは、次のいずれかの操作を行うと、データのログ記録を停止したり、破損したりする可能性があります。
- テーブル スキーマを変更します。
- テーブル名を変更します。
- テーブルを削除します。
- Unity Catalogカタログまたはスキーマに対する権限を失います。
推論テーブルの有効化と無効化
このセクションでは、Serving UI を使用して推論テーブルを有効または無効にする方法を示します。 推論テーブルの所有者は、エンドポイントを作成したユーザーです。 テーブル上のすべてのアクセス制御リスト (ACL) は、標準の Unity Catalog アクセス許可に従い、テーブルの所有者が変更できます。
エンドポイントの作成時に推論テーブルを有効にするには、次の手順に従います。
- Databricks Mosaic AI UI で サービング をクリックします。
- サービングエンドポイントの作成 をクリックします。
- AI Gatewayセクションで、 推論テーブルを有効にする を選択します。
既存のエンドポイントで推論テーブルを有効にすることもできます。 既存のエンドポイント設定を編集するには、次の手順を実行します。
- AI Gatewayセクションで、 Edit AI Gateway をクリックします。
- 推論テーブルを有効にする を選択します。
推論テーブルを無効にするには、次の手順に従います。
- エンドポイント ページに移動します。
- AI Gatewayの編集 をクリックします。
- 推論テーブルを有効にする をクリックして、チェックマークを外します。
- AI Gateway の仕様に問題がなければ、 更新 をクリックします。
推論テーブル内の結果のクエリと分析
提供したモデルの準備ができたら、モデルに対して行われたすべてのリクエストは、レスポンスとともに推論テーブルに自動的に記録されます。 UI でテーブルを表示したり、Databricks SQL またはノートブックからテーブルをクエリしたり、REST API を使用してテーブルをクエリしたりできます。
UI でテーブルを表示するには、次のようにします。 エンドポイントページで、推論テーブルの名前をクリックして、カタログエクスプローラーでテーブルを開きます。
Databricks SQL または Databricks ノートブックからテーブルをクエリするには: 次のようなコードを実行して、推論テーブルをクエリできます。
SELECT * FROM <catalog>.<schema>.<payload_table>
推論テーブルのデータを、エンドポイントで提供される基盤となる基盤モデルの詳細と結合するには、次のようにします。 基盤モデルの詳細はシステムテーブルsystem.serving.served_entitiesにキャプチャされます 。
SELECT * FROM <catalog>.<schema>.<payload_table> payload
JOIN system.serving.served_entities se on payload.served_entity_id = se.served_entity_id
AI Gateway 対応推論テーブル スキーマ
AI Gateway を使用して有効にした推論テーブルには、次のスキーマがあります。
列名 | 説明 | タイプ |
---|---|---|
| モデルサービングリクエストが受信されたUTCの日付。 | 日付 |
| すべてのモデルサービング要求にアタッチされる Databricksが生成するリクエストの識別子。 | 文字列 |
| モデルサービング要求本文で指定できるユーザー指定のリクエスト識別子。 | 文字列 |
| 要求が受信されたタイムスタンプ。 | Timestamp |
| モデルから返された HTTP 状態コード。 | INT |
| 要求がダウンサンプリングされた場合に使用されるサンプリングの割合。 この値は 0 から 1 までで、1 は受信要求の 100% が含まれていたことを表します。 | double |
| モデルが推論を実行した時間 (ミリ秒単位)。 これには、オーバーヘッド ネットワークの待機時間は含まれず、モデルが予測を生成するのにかかった時間のみを表します。 | BIGINT |
| モデルサービング エンドポイントに送信された未加工の要求 JSON 本文。 | 文字列 |
| モデルサービングエンドポイントによって返された未加工のレスポンス JSON 本文。 | 文字列 |
| 提供されたエンティティの一意の ID。 | 文字列 |
| データをログに記録できなかったときに発生したエラー。 エラーコードには、 | ARRAY |
| サービスエンドポイントの呼び出しリクエストにアクセス許可が使用されるユーザーまたはサービスプリンシパルの ID。 | 文字列 |
制限
- 推論テーブルのログ配信は現在ベストエフォートですが、リクエストから 1 時間以内にログが利用可能になることが期待できます。 詳細については、 Databricks アカウントチームにお問い合わせください。
- ログに記録される要求と応答の最大サイズは 1 MiB (1,048,576 バイト) です。 これを超える要求ペイロードと応答ペイロードは
null
としてログに記録され、logging_error_codes
にはMAX_REQUEST_SIZE_EXCEEDED
またはMAX_RESPONSE_SIZE_EXCEEDED
が入力されます。
AI Gateway に固有の制限については、 制限事項を参照してください。一般的なモデルサービングエンドポイントの制限については、 モデルサービングの制限とリージョンを参照してください。