马赛克 AI 矢量搜索:成本管理指南

本文介绍如何在使用马赛克 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,则可以在单个终结点下合并索引以避免多个基本终结点成本。
  • 监视使用情况:使用系统计费表和内置使用情况仪表板来跟踪容量、使用情况和成本。
  • 手动缩减:如上所述,如果矢量计数低于不再需要的以前的容量阈值,则必须删除终结点并重新创建该终结点。
  • 选择正确的同步模式:尽可能使用触发的同步而不是连续同步来降低流式处理成本。

其他资源