AI 検索コスト管理ガイド
このページでは、AI Search のコストを効果的に管理する方法について説明します。以下のトピックについて説明します。
- AI検索インデックスとエンドポイントの基本。
- 請求と使用状況モニタリング。
- 同期モード。
- コスト最適化のベストプラクティス。
クエリトラフィックがないインデックスを持つエンドポイントを特定するには、「未使用のAI検索エンドポイントの特定」を参照してください。
Databricks AI 検索には以下が含まれます:
- AI検索インデックス: インデックスは、検索と取得のためにベクトルを保存します。
- AI検索エンドポイント:各エンドポイントは、クエリの処理用に1つ以上のインデックスをホストします。複数のインデックスを単一のエンドポイントでサーブできます。また、1つのエンドポイントで最大50個のインデックスをサーブできます。多くの場合、小規模なワークロードを単一のエンドポイントで結合し、総コストを削減できます。
AI Searchの料金体系
Databricksは2つのエンドポイントオプションを提供しています:
-
標準エンドポイントです。1つのベクトル検索ユニットは、768次元の200万ベクトル(または同等のもの)まで対応します。例えば、ベクトルの次元数が 1,536 の 100 万ベクトルがある場合、それも 1 ユニットとして数えられます。
-
ストレージ最適化エンドポイント。1つのベクトル検索ユニットは、最大6,400万個の768次元ベクトル(または同等のもの)に対応します。
両方のオプションで、各エンドポイントには基本料金があり、提供するインデックスの合計サイズに合わせて自動的にスケールアップします。インデックスが削除された場合、エンドポイントは自動的にスケールダウンされます。エンドポイントの最小サイズは1つのベクトル検索ユニットです。
AI Search エンドポイントの料金は、インデックスが作成された後にのみ発生します。エンドポイントから最後のインデックスが削除されてから24時間後には、料金は発生しなくなります。
使用状況とコストを監視する
Databricksは、課金利用テーブル、使用量ダッシュボード、使用量ポリシーを提供し、AI Searchの使用量とコストを監視するのに役立ちます。
課金利用 テーブル
課金利用テーブルのクエリーの例を次に示します。
WITH all_vector_search_usage AS (
SELECT *,
CASE WHEN usage_metadata.endpoint_name IS NULL THEN 'ingest'
WHEN usage_type = "STORAGE_SPACE" THEN 'storage'
ELSE 'serving'
END as workload_type
FROM system.billing.usage
WHERE billing_origin_product = 'VECTOR_SEARCH'
),
daily_dbus AS (
SELECT
workspace_id,
cloud,
usage_date,
workload_type,
usage_metadata.endpoint_name as vector_search_endpoint,
CASE WHEN workload_type = 'serving' THEN SUM(usage_quantity)
WHEN workload_type = 'ingest' THEN SUM(usage_quantity)
ELSE null
END as dbus,
CASE WHEN workload_type = 'storage' THEN SUM(usage_quantity)
ELSE null
END as dsus
FROM all_vector_search_usage
GROUP BY 1,2,3,4,5
ORDER BY 1,2,3,4,5 DESC
)
SELECT * FROM daily_dbus;
課金利用テーブルの詳細については、 「課金利用システムテーブルリファレンス」を参照してください。
その他のクエリーは以下のノートブックの例にあります。
AI検索システムテーブルクエリーノートブック
使用状況ダッシュボード
AI検索の使用状況など、コスト要因に関する知見を得るためにインポートできる使用状況ダッシュボードについては、使用状況ダッシュボードを参照してください。
使用ポリシー
使用ポリシーを使用すると、管理者はすべてのDatabricksサーバレス製品にわたって請求記録をグループ化してフィルタリングし、支出を追跡するための専用UIを提供できます。AI Search エンドポイントに**使用ポリシー**を適用する方法については、AI Search : **使用ポリシー**をご覧ください。使用状況ポリシーの作成および管理方法に関する一般的な情報と詳細については、サーバレス使用状況ポリシーでの属性の使用を参照してください。
インデックス同期コストの管理方法
インデックスの更新は、次の2つの方法で設定できます。
- トリガー同期 :API または Python SDK を使用してインデックスの更新をトリガーします。これは最も費用対効果の高いオプションです。
- Continuous Sync : インデックスは、ソース Delta テーブルからの変更で自動的に更新され、ほぼリアルタイムの待機時間が長くなります。これは、ストリーミング クラスターが同期を処理するためのプロビジョニングであるため、コストが高くなります。数秒の遅延を伴うほぼリアルタイムの更新が重要でない場合は、Triggered Sync を使用してコストを削減することを検討してください。
コスト管理のベストプラクティス
- 単一のエンドポイントでワークロードを結合する :すべてのインデックスにわたって QPS が低いと予想される場合は、複数の基本エンドポイント コストを回避するために、単一のエンドポイントでインデックスを結合できます。詳細については、AI検索パフォーマンスガイドを参照してください。
- 使用状況の監視:システム課金テーブルと組み込みの使用状況ダッシュボードを使用して、容量、使用状況、およびコストを追跡できます。「高いQPS」の使用により、エンドポイントのコストが増加することにご注意ください。
- 適切な同期モードを選択する :可能な限り、ストリーミングコストを削減するため、連続同期ではなくトリガー同期を使用してください。
- 未使用のエンドポイントを特定する: クエリートラフィックを受信しないインデックスを持つエンドポイントには、引き続きサービングコストが発生します。監査ログを使用して見つけてください。「未使用のAI検索エンドポイントを特定する」を参照してください。
その他のリソース
- AI検索の価格
- 使用状況ダッシュボードと手順
- 使用量の予測や、ワークロードに特化したコスト見積もりツールの活用に関して追加のガイダンスをご希望の場合は、Databricks アカウント チームにお問い合わせください。