モデル提供コストを監視する
この記事では、システム テーブルを使用して、Azure Databricks アカウントの Mosaic AI Model Serving エンドポイントのコストを監視する方法の例を示します。
要件
- システム テーブルにアクセスするには、ワークスペースは、Unity Catalog に対して有効にする必要があります。 詳細については、「システム テーブル スキーマを有効にする」を参照してください。
課金使用量システム テーブル SKU
Azure Databricks のモデル提供コストは、課金対象の使用量システム テーブルを使用して追跡できます。 課金使用量システム テーブルが有効になると、テーブルに Databricks アカウントの最新の使用状況が自動的に事前設定されます。 コストは、system.billing.usage
テーブルの sku_name
列に、次のいずれかとして表示されます。
sku_name |
説明 |
---|---|
<tier>_SERVERLESS_REAL_TIME_INFERENCE_LAUNCH_<region> |
この SKU には、ゼロにスケーリング後にエンドポイントが開始するときに増加する、すべての DBU が含まれます。 |
<tier>_SERVERLESS_REAL_TIME_INFERENCE_<region> |
その他のすべてのモデル提供コストは、この SKU の下でグループ化されます。 tier は Azure Databricks プラットフォーム層に対応し、region は Azure Databricks デプロイのクラウド リージョンに対応します。 |
使用状況のクエリと視覚化
system.billing.usage
テーブルに対してクエリを実行し、Mosaic AI Model Serving に関連付けられているすべての DBU (Databricks Units) を集計できます。 SQL を使用して、過去 30 日間の 1 日あたりのモデル提供 DBU を集計するクエリの例を次に示します。
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 を利用するため、システム テーブルにアクセスできる必要があります。 提供エンドポイントのコストと使用量の分析情報が、ワークスペースレベルで提供されます。
開始するには、次のステップを実行してください。
- ワークスペース ID を入力します。
- 開始日と有効期限を選択します。
- ドロップダウン リストで特定のエンドポイント名を選択し、ダッシュボードをフィルター処理します (特定のエンドポイントに関心がある場合)。
- エンドポイントにユーザー定義タグを使用する場合は、タグ キーを個別に入力します。
Note
モデル提供はワークスペースにデフォルトの制限を適用して、無駄な支出を阻止します。 「モデル提供の制限とリージョン」をご参照ください。
使用できるグラフ
このダッシュボードには次のグラフが含まれています。 これらは、コスト属性ダッシュボードを提供するモデルの、独自のカスタマイズされたバージョンを構築するための出発点です。
- 過去 7 日間で最も高いエンドポイント従量課金
- 毎日の合計 $ DBU 使用量
- エンドポイントの種類別のモデル提供コスト
- トークン単位の支払い
- CPU/GPU
- 基本モデル
- モデル提供タイプごとの日次の従量課金
- 最もコストの高い提供エンドポイントの上位 10
- 最もコストの高いトークン単位エンドポイントの上位 10
- LLM 微調整の過去 7 日間の支出
- Email あたりの LLM 微調整の支出
タグを使用してコストを監視する
当初は、モデル提供コスト全体の監視に、集計コストで十分な場合があります。 ただし、エンドポイントの数が増えるにつれて、ユース ケース、事業単位、その他のカスタム識別子に基づいてコストを割り出す必要が生じます。 モデル提供は、エンドポイントを提供するモデルに適用できる、ユーザー定義タグの作成をサポートしています。
モデル提供エンドポイントに適用されるすべてのユーザー定義タグは custom_tags
列の system.billing.usage
テーブルに伝達され、コストの集計と視覚化に使用できます。 Databricks では、正確なコスト トラッキングのために、各エンドポイントにわかりやすいタグを追加することをお勧めします。
クエリの例
コスト別の上位エンドポイント:
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": "データ サイエンス") による経時的なコスト
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
その他のリソース
アカウント内のジョブ コストを監視する方法の例については、「システム テーブルを使用してジョブ コストを監視する」を参照してください。