Unity AI Gateway対応の推論テーブルを使用して、サービス提供モデルを監視する
新しいUnity AI Gatewayベータ版をお試しください
新しいUnity AI Gatewayエクスペリエンスがベータ版で利用可能です。新しいUnity AI Gatewayは、LLMエンドポイントとコーディングエージェントを管理するためのエンタープライズ向け制御プレーンであり、機能強化が施されています。LLMエンドポイントについては、Unity AI Gatewayを参照してください。
カスタム モデルサービング エンドポイントの従来の推論テーブル エクスペリエンスは、間もなく非推奨になります。 「AI Gateway 推論テーブルへの移行」を参照してください。
この記事では、モニタリングが提供されるモデルの Unity AI Gateway 対応推論テーブルについて説明します。 推論テーブルは、エンドポイントへの受信リクエストと送信レスポンスを自動的にキャプチャし、 Unity Catalog Deltaテーブルとしてログに記録します。 この表のデータは、機械学習モデルの監視、評価、比較、微調整に利用できます。
Unity AI Gateway対応の推論テーブルとは何ですか?
Unity AI Gateway 対応の推論テーブルはMosaic AI Model Servingエンドポイントからの提供リクエストの入力と応答 (予測) を継続的にログに記録し、 Unity CatalogのDeltaテーブルに保存することで、モデルの検証と診断を簡素化します。 そうすれば、Databricks SQLクエリやノートブックなど、Databricksプラットフォームのすべての機能を使用して、モデルの監視、デバッグ、最適化を行うことができます。
既存または新しく作成されたモデルサービングエンドポイントで推論テーブルを有効にでき、そのエンドポイントへのリクエストは Unity Catalogのテーブルに自動的に記録されます。
推論テーブルの一般的なアプリケーションには、次のようなものがあります。
- トレーニング コーパスを作成します。推論テーブルをグラウンドトゥルースラベルと結合することで、モデルの再トレーニングや微調整、改善に使用できるトレーニングコーパスを作成できます。Lakeflowジョブを使用すると、継続的なフィードバックループを設定し、再トレーニングを自動化できます。
- データとモデルの品質を監視します。データプロファイリングを使用すると、モデルのパフォーマンスとデータのドリフトを継続的に監視できます。これにより、関係者と共有できるデータとモデル品質のダッシュボードが自動的に生成されます。 さらに、受信データの変化やモデルのパフォーマンスの低下に基づいてモデルを再トレーニングする必要があるタイミングを知るためのアラートを有効にすることもできます。
- 本番運用の問題をデバッグします。 推論テーブルは、HTTP ステータスコード、リクエストとレスポンスの JSON コード、モデルの実行時間、モデルの実行時間中の トレース出力 などのデータをログに記録します。 このパフォーマンス・データは、デバッグ目的で使用できます。 また、推論テーブルでヒストリカルデータを使用して、履歴リクエストに対するモデルのパフォーマンスを比較することもできます。
- デプロイされた AI エージェントを監視します。 推論テーブルには、AI エージェントの MLflow トレースも格納できるため、問題のデバッグとパフォーマンスの監視に役立ちます。
必要条件
-
Unity AI Gateway で有効化された推論テーブルは、以下のいずれかを提供するエンドポイントでのみサポートされます。
- プロビジョニングされたスループット ワークロード
- トークン単位の従量課金 モデル
- 外部モデル
- デプロイされた AI エージェント
- カスタムモデル
-
モデルサービングがサポートされている地域の Databricks ワークスペース。 モデル サービング機能の可用性を参照してください。
-
ワークスペースでサーバレスコンピュートを有効にする必要があります。
-
プライベート接続の場合は、「 Databricksへの従来のプライベート接続を構成する」の手順を完了します。 AWS PrivateLink はデフォルトではサポートされていません。
-
Databricks では、推論テーブルのパフォーマンスを最適化するために 、予測的最適化を有効にする ことをお勧めします。
-
ワークスペースはUnity Catalogが有効になっていなければなりません。
-
エンドポイントの作成者と修飾子の両方に、エンドポイントに対する Can Manage アクセス許可が必要です。 アクセス制御リストを参照してください。
-
エンドポイントの作成者と修飾子の両方に、Unity Catalog で次の アクセス許可 が必要です。
USE CATALOG指定したカタログに対する権限。USE SCHEMA指定したスキーマに対する権限。CREATE TABLEスキーマ内の権限。
-
カタログは、現在のメタストアへのDelta Sharingカタログにすることはできません。
既存のテーブルを指定することはサポートされていません。Databricksは、エンドポイントを作成したり、推論テーブルの設定を有効にしてUnity AI Gatewayの設定を更新したりすると、自動的に新しい推論テーブルを作成します。
推論テーブルは、次のいずれかの操作を行うと、データのログ記録を停止したり、破損したりする可能性があります。
- テーブル スキーマを変更します。
- テーブル名を変更します。
- テーブルを削除します。
推論テーブルの有効化と無効化
このセクションでは、Serving UI を使用して推論テーブルを有効または無効にする方法を説明します。推論テーブルの所有者は、推論テーブルを有効にしたユーザーです。テーブル上のすべてのアクセス制御リスト (ACL) は標準の Unity Catalog 権限に従い、テーブル所有者が変更できます。
エンドポイントの作成時に推論テーブルを有効にするには、次の手順に従います。
- Databricks Mosaic AI UI で サービング をクリックします。
- サービングエンドポイントの作成 をクリックします。
- AI Gatewayセクションで、 推論テーブルを有効にする を選択します。
既存のエンドポイントで推論テーブルを有効にすることもできます。 既存のエンドポイント設定を編集するには、次の手順を実行します。
- AI Gatewayセクションで、 Edit AI Gateway をクリックします。
- 推論テーブルを有効にする を選択します。
推論テーブルを無効にするには、次の手順に従います。
- エンドポイント ページに移動します。
- AI Gatewayの編集 をクリックします。
- 推論テーブルを有効にする をクリックして、チェックマークを外します。
- Unity AI Gatewayの仕様に問題がなければ、 「更新」 をクリックしてください。
AI エージェントの推論テーブルを有効にする
また、デプロイされた AI エージェントの推論テーブルを有効にすることもでき、これらの推論テーブルにはペイロードと要求の詳細、MLflow トレース ログが格納されます。
次の方法を使用して、AI エージェントの推論テーブルを有効にします。
mlflow.deploy()API を使用して展開されたエージェントでは推論テーブルが自動的に有効になります。「生成AIアプリケーション用のエージェントのデプロイ (モデルサービング)」を参照してください。- プログラムによるデプロイの場合は、エンドポイント構成で
ENABLE_MLFLOW_TRACING環境変数をTrueに設定します。 プレーンテキスト環境変数の追加を参照してください。
MLflowエージェント トレースの詳細については、 MLflow Tracing - GenAI の可観測性」を参照してください。
推論テーブル内の結果のクエリと分析
提供したモデルの準備ができたら、モデルに対して行われたすべてのリクエストは、レスポンスとともに推論テーブルに自動的に記録されます。 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
Unity AI Gateway対応推論テーブルスキーマ
Unity AI Gatewayを使用して有効化された推論テーブルは、以下のスキーマを持ちます。
列名 | 説明 | タイプ |
|---|---|---|
| モデルサービングリクエストが受信されたUTCの日付。 | 日付 |
| すべてのモデルサービング要求にアタッチされる Databricksが生成するリクエストの識別子。 | 文字列 |
| モデルサービング要求本文で指定できるユーザー指定のリクエスト識別子。 | 文字列 |
| 要求が受信されたタイムスタンプ。 | Timestamp |
| モデルから返された HTTP 状態コード。 | INT |
| 要求がダウンサンプリングされた場合に使用されるサンプリングの割合。 この値は 0 から 1 までで、1 は受信要求の 100% が含まれていたことを表します。 | double |
| モデルが推論を実行した時間 (ミリ秒単位)。 これには、オーバーヘッド ネットワークの待機時間は含まれず、モデルが予測を生成するのにかかった時間のみを表します。 | BIGINT |
| モデルサービング エンドポイントに送信された未加工の要求 JSON 本文。 | 文字列 |
| モデルサービングエンドポイントによって返された未加工のレスポンス JSON 本文。 | 文字列 |
| 提供されたエンティティの一意の ID。 | 文字列 |
| データをログに記録できなかったときに発生したエラー。 エラーコードには、 | ARRAY |
| サービスエンドポイントの呼び出しリクエストにアクセス許可が使用されるユーザーまたはサービスプリンシパルの ID。このフィールドは、ルート最適化カスタムモデルエンドポイントの | 文字列 |
AIエージェント推論テーブルスキーマ
リクエスト ログと評価ログは非推奨であり、将来のリリースで削除される予定です。移行ガイダンスについては、リクエスト ログと評価ログの廃止を参照してください。
AI エージェントの場合、Databricks はデプロイごとに 3 つの推論テーブルを作成し、モデルサービングエンドポイントとの間の要求と応答をログに記録します。
推論テーブル | Databricks テーブル名の例 | テーブルの内容 |
|---|---|---|
ペイロード |
| 生の JSON 要求と応答のペイロード |
ペイロードリクエストログ |
| 書式設定されたリクエストと応答、MLflowトレース |
ペイロード評価ログ |
| レビューアプリで提供されるフォーマットされたフィードバック(各リクエストに対して) |
ユーザーは、サービス エンドポイントと対話してから 1 時間以内にペイロード テーブルのデータを期待できます。 ペイロード要求ログと評価ログは、入力に時間がかかる場合があり、未加工のペイロード テーブルから派生します。 ペイロード テーブルから要求ログと評価ログを自分で抽出できます。 ペイロード テーブルの削除と更新は、ペイロード要求ログまたはペイロード評価ログには反映されません。
以下は、ペイロードリクエストログテーブルのスキーマを示しています。
列名 | 説明 | タイプ |
|---|---|---|
| すべてのモデルサービング要求にアタッチされる Databricksが生成するリクエストの識別子。 | 文字列 |
| モデルサービング要求本文で指定できるオプションのクライアント生成要求識別子。 | 文字列 |
| モデルサービングリクエストが受信されたUTCの日付。 | 日付 |
| モデルサービング リクエストが受信されたときのタイムスタンプ (エポックミリ秒)。 | ロング |
| 要求のタイムスタンプ。 | Timestamp |
| モデルから返された HTTP 状態コード。 | INT |
| 要求がダウンサンプリングされた場合に使用されるサンプリングの割合。 この値は 0 から 1 までで、1 は受信要求の 100% が含まれていたことを表します。 | double |
| モデルが推論を実行した実行時間 (ミリ秒単位)。 これには、オーバーヘッド ネットワークの待機時間は含まれず、モデルが予測を生成するのにかかった時間のみを表します。 | ロング |
| 要求ログから抽出された会話 ID。 | 文字列 |
| ユーザーの会話からの最後のユーザー クエリ。 | 文字列 |
| ユーザーに対する最後の応答。 | 文字列 |
| request の文字列表現。 | 文字列 |
| 応答の文字列表現。 | 文字列 |
| 応答 Struct の | 文字列 |
| 要求に関連付けられたモデルサービングエンドポイントに関連するメタデータのマップ。 このマップには、エンドポイントに使用されているエンドポイント名、モデル名、およびモデル バージョンが含まれています。 | MAP<文字列, 文字列> |
| スキーマのバージョン。 | 文字列 |
次に、ペイロード評価ログテーブルのスキーマを示します。
列名 | 説明 | タイプ |
|---|---|---|
| Databricks 要求 ID。 | 文字列 |
| 取得評価から派生したステップ ID。 | 文字列 |
| 評価を作成したユーザーに関する情報を含む構造体フィールド。 | 構造体 |
| 要求のタイムスタンプ。 | Timestamp |
| レビューアプリからのエージェントの応答に関するフィードバックのデータ。 | 文字列 |
| 応答のために取得されたドキュメントに関するフィードバックのデータ。 | 文字列 |
制限
-
プロビジョニングされたスループットワークロード:
- プロビジョニング スループットを使用する新しいモデルサービング エンドポイントを作成する場合、Unity AI Gateway 対応の推論テーブルのみがサポートされます。
- プロビジョニング スループットを使用する既存のモデルサービング エンドポイントがあり、 推論テーブルが構成されていない 場合は、Unity AI Gateway 対応の推論テーブルを使用するように更新できます。
- プロビジョニング スループットを使用する既存のモデルサービング エンドポイントがあり、 レガシー推論テーブルが設定されている 場合は、Unity AI Gateway 対応の推論テーブルを使用するようにエンドポイントを更新する前に、レガシー推論テーブルを無効にする必要があります。
- Unity AI Gateway対応の推論テーブルを有効にした後は、従来の推論テーブルに切り替えること はできません 。
- ストリーミング AI エージェントの応答ログの場合、ChatCompletion と互換性のあるフィールドとトレースのみが集計されます。
-
カスタムモデルのワークロード:
- カスタムモデルを提供する新しいモデルサービングエンドポイントを作成する場合、DatabricksはUnity AI Gateway対応の推論テーブルを使用することを推奨します。従来の推論テーブル機能が必要な場合は、REST APIを使用してUnity AI Gatewayの新しいエンドポイントを設定することのみ可能です。
- 既存のモデルサー エンドポイントがあり、カスタムモデルを提供しているものの、 推論テーブルが設定されていない 場合は、Unity AI Gateway 対応の推論テーブルを使用するように更新できます。
- カスタムモデルを提供する既存のモデルサー エンドポイントがあり、 レガシー推論テーブルが設定されている 場合は、エンドポイントを更新して Unity AI Gateway 対応の推論テーブルを使用するようにする前に、レガシー推論テーブルを無効にする必要があります。
- Unity AI Gateway対応の推論テーブルを有効にした後は、従来の推論テーブルに切り替えること はできません 。
-
ワークロード、外部モデル、またはエージェント API 基盤モデルを提供するモデルサービングエンドポイントの推論テーブルのログ配信は、現在ベストエフォートです。 ログはリクエストから 1 時間以内に利用可能になることが期待できます。詳細については、 Databricks アカウントチームにお問い合わせください。
-
ログに記録される要求、応答、およびトレースの最大サイズは 1 MiB (1,048,576 バイト) です。これを超えるペイロードは
nullとしてログに記録され、logging_error_codesにはMAX_REQUEST_SIZE_EXCEEDEDまたはMAX_RESPONSE_SIZE_EXCEEDEDが入力されます。 -
推論テーブル ログは、モデルサービング エンドポイントがエラーを返した場合にデータが入力されることは保証されません。
- カスタムモデルエンドポイントの場合、4xx または 5xx エラーのログは記録されない場合があります。
- その他のエンドポイントでは、401、403、429、または 500 エラーのログが記録されない場合があります。
Unity AI Gateway に特有の制限事項については、 「制限事項」を参照してください。一般的なモデルサービング エンドポイントの制限については、 「モデルサービングの制限とリージョン」を参照してください。