Unityゲートウェイコストの分析

モデルサービス、ターゲットモデル、リクエスト主体別のすべてのUnity Gatewayトラフィックのコストを観察・分析します。

アカウントとワークスペースの管理者は、ガバナンス ハブの AI ページで AI 支出の統合された概要を表示できます。

Note

コストの監視は、Azure Databricks課金レコードに基づいています。 トークン数、レイテンシ、リクエスター詳細、リクエストタグなどのリクエストレベルの使用分析については、「 モデル使用状況の追跡」を参照してください。

Requirements

帰属

Unity Gatewayは請求可能使用システムテーブル(system.billing.usage)を通じてコストの帰属を提供します。

Unity Gatewayはサービス固有のメタデータでMODEL_SERVING請求記録をsystem.billing.usage豊かにし、関連サービス、ターゲットモデル、プリンシパル、サービスタグにAzure Databricksコストを割り当てることができます。 完全なスキーマとフィールド定義については、請求使用状況システム テーブル リファレンスを参照してください。

課金対象の使用状況システム テーブルには、Azure Databricksホストモデルのコスト属性が含まれています。 外部モデルの支出については、「 外部モデル」を参照してください。

Unity Gatewayモデルサービスを通じて提供されるリクエストに対して、Azure Databricksはsystem.billing.usageMODEL_SERVINGレコードに以下のフィールドを入力します。

フィールド 説明
usage_metadata.ai_gateway.endpoint_name リクエストを受け取ったUnity Gatewayモデルサービスの名称です。 これは、 <catalog>.<schema>.<modelservice>形式の Unity カタログの完全修飾名です。
usage_metadata.ai_gateway.endpoint_id Unity Gateway モデルサービスのID。
usage_metadata.ai_gateway.destination_model 要求を処理した宛先モデル (たとえば、 GPT-5.2)。
usage_metadata.ai_gateway.destination_id 要求を処理したターゲットの ID。
identity_metadata.run_by 要求を発行したユーザーまたはサービス プリンシパル。
custom_tags Unity Gatewayモデルサービス上で設定されたサービスタグ( teamcost_centerなど)。

Unity Gatewayは、リアルタイムおよびバッチ推論リクエストの両方にこれらのフィールドを埋め込みます。

外部モデル

Unity カタログのモデル プロバイダー サービスを介して外部モデルにルーティングされた要求の場合、Azure Databricksはトークンの使用量と外部プロバイダーの公開価格から各要求の推定 USD 支出を計算します。 支出は時間単位で集計され、 system.ai_gateway.external_model_spend システム テーブルに記録されます。 この表を使用して、モデル プロバイダー サービス、ターゲット モデル、および要求プリンシパル別に外部モデルの支出を分析します。

Note

外部モデルの支出は、外部プロバイダーの公開価格を使用して計算され、情報提供のみを目的として提供されます。 これらの数値は、最終的なプロバイダーの請求書を反映していない可能性があり、Azure Databricksはサード パーティの課金の不一致について責任を負いません。

外部モデル支出スキーマ

system.ai_gateway.external_model_spend テーブルには、次のスキーマがあります。

列名 タイプ 説明
record_id STRING 集計済みの支出レコードの一意の識別子。
account_id STRING アカウント ID。
workspace_id STRING モデル プロバイダー サービスが構成されているワークスペースの ID。
usage_date DATE usage_start_timeから派生した使用状況レコードの日付。
usage_start_time TIMESTAMP 時間単位の集計ウィンドウの開始 (UTC)。
usage_end_time TIMESTAMP 時間単位の集計ウィンドウの終了 (UTC)。
ingestion_date DATE レコードがテーブルに取り込まれた日付。
usage_metadata STRUCT providermodelendpoint_idendpoint_namedestination_iddestination_nameなど、外部モデルの使用状況に関するメタデータ。
custom_tags STRUCT endpoint_tagsrequest_tagsなど、コスト属性のユーザー指定タグ。
usage_unit STRING usage_quantityの測定単位。 常に USD です。
usage_quantity 10進数 集計ウィンドウの推定コスト ( usage_unit)。
pricing_metadata STRUCT service_tierlong_contextなど、適用される価格に関するメタデータ。
identity_metadata STRUCT 要求元の ID ( run_byrun_asを含む)。

Observability

組み込みの使用状況ダッシュボードには、 コストを 監視し、時間の経過に伴うコストの内訳を分析するための [コスト分析] ページが含まれています。 次のような複数のディメンションにわたってコストを分析できます。

  • モデルサービス
  • ターゲット モデル
  • 要求元のユーザーまたはサービス プリンシパル

ダッシュボードには、Azure Databricksコストに加えて、system.ai_gateway.external_model_spend テーブルからの外部モデルの支出も含まれます。

ダッシュボードを開くには、Unity Gatewayページ右上の「 Govern 」をクリックし、その後 「使用ダッシュボード」をクリックしてください。 ダッシュボードのインポートと更新の詳細については、「 組み込みの使用状況ダッシュボード」を参照してください。

ai-gateway のコスト分析ダッシュボード

ai-gateway のコスト分析のドリルダウン

Note

コスト監視機能は、ダッシュボード バージョン 0.4 以降で使用できます。 アカウント管理者は、最新のテンプレート変更を受け取るためにダッシュボードを更新する必要があります。 組み込みの使用状況ダッシュボードを参照してください。

コストの分析

Tip

Genie Code (エージェント モード) でこれを行うことができます。 次のプロンプトの例を試してください。

Query system.billing.usage to show AI Gateway DBU cost for the past 30 days, broken down by usage_metadata.ai_gateway.endpoint_name, destination model, and requesting user. Filter to MODEL_SERVING records. Show top 10 in each.

Databricks でホストされるモデル

次のクエリでは、system.billing.usage のAzure Databricksホストモデルのコストを分析します。 コストは、モデル サービス、ターゲット モデル、プリンシパルごとに分類できます。

モデルサービス別

SELECT
  usage_metadata.ai_gateway.endpoint_name AS endpoint_name,
  SUM(usage_quantity) AS dbus
FROM system.billing.usage
WHERE billing_origin_product = 'MODEL_SERVING'
  AND usage_metadata.ai_gateway.endpoint_name IS NOT NULL
  AND usage_unit = 'DBU'
  AND usage_date >= current_date() - INTERVAL 30 DAYS
GROUP BY endpoint_name
ORDER BY dbus DESC;

変換先モデル別

SELECT
  usage_metadata.ai_gateway.destination_model AS destination_model,
  SUM(usage_quantity) AS dbus
FROM system.billing.usage
WHERE billing_origin_product = 'MODEL_SERVING'
  AND usage_metadata.ai_gateway.endpoint_name IS NOT NULL
  AND usage_unit = 'DBU'
  AND usage_date >= current_date() - INTERVAL 30 DAYS
GROUP BY destination_model
ORDER BY dbus DESC;

ユーザーまたはサービス プリンシパル別

SELECT
  identity_metadata.run_by AS run_by,
  SUM(usage_quantity) AS dbus
FROM system.billing.usage
WHERE billing_origin_product = 'MODEL_SERVING'
  AND usage_metadata.ai_gateway.endpoint_name IS NOT NULL
  AND identity_metadata.run_by IS NOT NULL
  AND usage_unit = 'DBU'
  AND usage_date >= current_date() - INTERVAL 30 DAYS
GROUP BY run_by
ORDER BY dbus DESC;

外部モデル

次のクエリでは、 system.ai_gateway.external_model_spendでの外部モデルの支出を分析します。 支出は、モデル プロバイダー サービス、ターゲット モデル、要求タグによって分類できます。

モデル提供サービス別

SELECT
  usage_metadata.endpoint_name AS model_provider_service,
  SUM(usage_quantity) AS usd
FROM system.ai_gateway.external_model_spend
WHERE usage_start_time >= current_timestamp() - INTERVAL 30 DAYS
GROUP BY model_provider_service
ORDER BY usd DESC;

変換先モデル別

SELECT
  usage_metadata.model AS destination_model,
  SUM(usage_quantity) AS usd
FROM system.ai_gateway.external_model_spend
WHERE usage_start_time >= current_timestamp() - INTERVAL 30 DAYS
GROUP BY destination_model
ORDER BY usd DESC;

ユーザーまたはサービス プリンシパル別

SELECT
  identity_metadata.run_by AS run_by,
  SUM(usage_quantity) AS usd
FROM system.ai_gateway.external_model_spend
WHERE usage_start_time >= current_timestamp() - INTERVAL 30 DAYS
GROUP BY run_by
ORDER BY usd DESC;

要求タグ別

要求タグをクエリにアタッチするには、 使用状況の追跡に関するタグ要求を参照してください。

SELECT
  custom_tags.request_tags['team'] AS team,
  SUM(usage_quantity) AS usd
FROM system.ai_gateway.external_model_spend
WHERE usage_start_time >= current_timestamp() - INTERVAL 30 DAYS
GROUP BY team
ORDER BY usd DESC;

Limitations

  • Azure Databricks でホストされるモデルの支出の帰属は、MODEL_SERVING 内の system.billing.usage レコードに適用されます。
  • トラフィックの分割やフォールバックなど、複数の宛先を持つモデル サービスの場合は、最終的に要求を処理した宛先を ai_gateway.destination_model して特定 ai_gateway.destination_id
  • 外部モデルの支出は、Unity カタログの モデル プロバイダー サービス に対してのみサポートされます。
  • カスタム プロバイダーでは、外部モデルの支出の追跡は現在サポートされていません。 Azure Databricksは、カスタム エンドポイントでは使用できない各プロバイダーの公開価格から支出を見積もります。