本文介绍如何在使用马赛克 AI 矢量搜索时有效地管理成本。 它涵盖以下主题:
- 矢量搜索索引和终结点基础知识。
- 计费和使用情况监视。
- 同步模式。
- 优化成本的最佳做法。
Mosaic AI 的矢量搜索基础知识
Mosaic AI 矢量搜索包含:
- 矢量搜索索引:索引存储用于搜索和检索的向量。
- 矢量搜索终结点:每个终结点托管一个或多个索引来提供查询。 可以在单个终结点下提供多个索引,一个终结点最多可提供 50 个索引。 在许多情况下,可以将单个终结点上的较小工作负荷组合在一起,以降低总成本。
如何对矢量搜索进行定价
Databricks 提供两个终结点选项:
标准终结点。 一个矢量搜索单元覆盖维度 768(或等效)的 200 万向量。 例如,如果维度为 1536 的 100 万向量,则这也算作一个单位。
存储优化端点。 一个矢量搜索单元覆盖维度 768(或等效)的 6400 万向量。
对于这两个选项,每个终结点都有基本价格,并自动纵向扩展,以匹配其提供索引的总大小。
- 标准终结点不会自动缩减。 即使删除向量或减小索引的大小,你仍会继续为更高的容量付费,直到手动进行更改。
- 删除索引时,存储优化终结点会自动缩减。 终结点的最小大小是一个矢量搜索单元。
重要
标准终结点不会自动缩减。 如果矢量计数显著下降(例如,从 400 万到 150 万个向量),则继续支付更高的容量(此示例中的两个矢量搜索单位),直到删除终结点并创建新的矢量。 这仅适用于标准终结点。 存储优化的节点会自动缩减规模。
如何监视使用情况和成本
Databricks 提供计费使用情况表、使用情况仪表板和预算策略,可帮助你监视矢量搜索的使用情况和成本。
可计费用量表
下面是计费使用情况表的示例查询:
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;
有关计费使用情况表的更多详细信息,请参阅 计费使用情况系统表参考。
以下示例笔记本中提供了其他查询。
矢量搜索系统表查询笔记本
使用情况仪表板
有关可以导入以深入了解成本驱动因素(包括矢量搜索使用情况)的使用情况仪表板的信息,请参阅 使用情况仪表板。
预算策略
预算策略使管理员能够跨所有 Azure Databricks 无服务器产品对计费记录进行分组和筛选,并提供用于跟踪支出的专用 UI。 若要了解如何将预算策略应用于矢量搜索终结点,请参阅 马赛克 AI 矢量搜索:预算策略。 有关如何创建和管理预算策略的一般信息和详细信息,请参阅 无服务器预算策略的属性使用情况。
如何管理索引同步成本
可以通过两种方式配置索引以更新:
- 触发的同步:调用 API 或 Python SDK 来触发索引更新。 这是最经济高效的选项。
- 连续同步:索引通过源 Delta 表的更改自动更新,且延迟接近实时。 由于预配了流式处理群集来处理同步,因此成本更高。如果近乎实时的更新与几秒钟的延迟并不重要,请考虑使用触发的同步来降低成本。
成本管理的最佳做法
- 在单个终结点上合并工作负荷:如果预计所有索引的 QPS 小于大约 150,则可以在单个终结点下合并索引以避免多个基本终结点成本。
- 监视使用情况:使用系统计费表和内置使用情况仪表板来跟踪容量、使用情况和成本。
- 手动缩减:如上所述,如果矢量计数低于不再需要的以前的容量阈值,则必须删除终结点并重新创建该终结点。
- 选择正确的同步模式:尽可能使用触发的同步而不是连续同步来降低流式处理成本。
其他资源
- Mosaic AI 矢量搜索价格
- 使用情况仪表板和说明
- 如果想要进一步指导预测使用情况或利用特定于工作负荷的成本估算工具,请联系 Databricks 帐户团队。