メインコンテンツまでスキップ

モデルサービングのコスト監視

この記事では、システムテーブル を使用して、 Mosaic AI Model ServingDatabricksアカウントの エンドポイントのコストを監視する方法の例を示します。

必要条件

請求使用量システムテーブル SKU

Databricksでのモデルサービング費用は、課金利用 システムテーブルを使用して追跡できます。請求使用量システムテーブルを有効にすると、 Databricks アカウントの最新の使用量がテーブルに自動的に入力されます。 コストは、 system.billing.usage テーブルに表示され、列 sku_name は次のいずれかとして表示されます。

sku_name

説明

<tier>_SERVERLESS_REAL_TIME_INFERENCE_LAUNCH_<region>

この SKU には、エンドポイントが 0 にスケーリングした後に開始したときに発生したすべての DBU が含まれます。

<tier>_SERVERLESS_REAL_TIME_INFERENCE_<region>

他のすべてのモデルサービングコストは、この SKUにまとめられています。 ここで、 tier は Databricks プラットフォーム層に対応し、 region は Databricks デプロイのクラウド リージョンに対応します。

使用状況のクエリと視覚化

テーブルをクエリして、 system.billing.usageに関連付けられているすべての DBU (Databricks ユニット) を集計できます。Mosaic AI Model Serving次に、 SQLを使用して過去 30 日間のモデルサービング DBU を 1 日あたりに集計するクエリの例を示します。

SQL

SELECT SUM(usage_quantity) AS model_serving_dbus,
usage_date
FROM system.billing.usage
WHERE sku_name LIKE '%SERVERLESS_REAL_TIME_INFERENCE%'
GROUP BY(usage_date)
ORDER BY usage_date DESC

LIMIT 30

コスト監視ダッシュボード

モデルサービングコストのモニタリングを開始するには、 GitHubからサンプルのコストアトリビューションダッシュボードをダウンロードしてください。 「モデルサービングコストアトリビューションダッシュボード」を参照してください。

JSON ファイルをダウンロードしたら、ダッシュボードをワークスペースにインポートします。 ダッシュボードのインポート手順については、「 ダッシュボード ファイルのインポート」を参照してください。

このダッシュボードの使用方法

このダッシュボードは AI/BI を利用しており、システムテーブルにアクセスできる必要があります。 これにより、ワークスペースレベルでのサービングエンドポイントのコストと使用状況の知見が得られます。

次の手順で開始します。

  1. ワークスペース ID を入力します。
  2. 開始日と終了日を選択します。
  3. ダッシュボードをフィルタリングするには、ドロップダウンリストで特定のエンドポイント名を選択します (特定のエンドポイントに関心がある場合)。
  4. エンドポイントにカスタムタグを使用する場合は、タグキーを個別に入力します。

予算を使用してアラートを管理することもできます。

注記

モデルサービングは、ワークスペースにデフォルト制限を適用して、暴走する支出がないことを確認します。 モデルサービングの制限と地域を参照してください。

使用できるグラフ

このダッシュボードには、次のグラフが含まれています。 これらは、モデルサービングコストアトリビューションダッシュボードの独自のカスタマイズバージョンを構築するための出発点となることを目的としています。

  • 過去 7 日間の上位エンドポイント消費量

  • 日次合計$DBU使用量

  • エンドポイントタイプ別のモデルサービングコスト

    • トークンごとの従量課金制
    • CPU/GPU
    • 基盤モデル
  • モデルサービングタイプごとの毎日の消費量

  • 最もコストのかかるエンドポイントトップ10

  • Top 10 Most Expensive トークン単位の従量課金エンドポイント

  • LLM ファインチューニング Last 7 days Spend

  • LLM ファインチューニング Spend Per Eメール

タグを使用してコストを監視する

最初は、モデルサービングの全体的なコストを観察するには、集計されたコストで十分である場合があります。 ただし、エンドポイントの数が増えると、ユースケース、ビジネスユニット、またはその他のカスタム識別子に基づいてコストを分割したい場合があります。 モデルサービングは、モデルサービングエンドポイントに適用できるカスタムタグの作成をサポートしています。

モデルサービングエンドポイントに適用されたすべてのカスタムタグは、custom_tags列の下のsystem.billing.usageテーブルに伝播され、コストの集計と視覚化に使用できます。Databricks では、正確なコスト追跡のために、各エンドポイントにわかりやすいタグを追加することをお勧めします。

クエリの例

コスト別の上位エンドポイント:

SQL

SELECT
usage_metadata.endpoint_name AS endpoint_name,
SUM(usage_quantity) AS model_serving_dbus
FROM
system.billing.usage
WHERE
sku_name LIKE '%SERVERLESS_REAL_TIME_INFERENCE%'
AND usage_metadata.endpoint_name IS NOT NULL
GROUP BY endpoint_name
ORDER BY model_serving_dbus DESC
LIMIT 30;

タグ("business_unit": "データサイエンス")の経時的なコスト:

SQL

SELECT
SUM(usage_quantity) AS model_serving_dbus,
usage_date
FROM
system.billing.usage
WHERE sku_name LIKE '%SERVERLESS_REAL_TIME_INFERENCE%'
AND custom_tags['business_unit'] = 'data science'
GROUP BY usage_date
ORDER BY usage_date DESC

LIMIT 30

追加のリソース

アカウント内のジョブのコストを監視する方法の例については、 システムテーブルを使用してジョブのコストとパフォーマンスを監視するを参照してください。