选择文本嵌入模型

本文档为 BigQuery ML 中提供的文本嵌入模型的性能和费用提供了一个基准。您可以使用此信息来帮助确定哪种模型最适合您的应用场景。

模型

此基准涵盖以下类型的模型:

该基准利用使用 ML.GENERATE_EMBEDDING 函数嵌入文本中所述的语法来处理 ML.GENERATE_EMBEDDING 查询。

该基准使用生成文本嵌入中描述的语法来处理 ML.PREDICT 查询。

费用计算

该基准根据 BigQuery 按需计算价格(每 TiB $6.25)计算 BigQuery 费用。计算过程中不考虑每月前 1 TiB 的免费计算处理。

与调用 BERT 模型相关的 Vertex AI 费用使用 n1-highmem-8 预测费率计算得出。

与调用 textembedding-gecko 模型相关的 Vertex AI 费用使用 Embeddings for Text 预测费率计算得出。

如需了解 BigQuery ML 价格,请参阅 BigQuery ML 价格

基准数据

该基准使用 bigquery-public-data.hacker_news.full 公共数据集,如下所示:

  • 将数据复制到测试表中,将每行复制 100 次:

    CREATE OR REPLACE TABLE `mydataset.hacker_news.large` AS
      SELECT base.*
      FROM `bigquery-public-data.hacker_news.full` AS base,
      UNNEST(GENERATE_ARRAY(1, 100)) AS repeat_number;
  • 根据 hacker_news.large 表创建要在基准中使用的不同大小的其他测试表。使用了以下大小的测试表:

    • 100,000 行
    • 1,000,000 行
    • 10,000,000 行
    • 100,000,000 行
    • 1,000,000,000 行
    • 10,000,000,000 行

基准

下表包含基准数据:

模型 嵌入维度 行数 运行时间 槽的总毫秒数 处理的字节数 使用的服务 费用(美元)
SWIVEL 20 100,000 5 秒 6,128 37 MB BigQuery 0.00022
100 万 1 分 1 秒 97,210 341 MB 0.00203
1000 万 28 秒 1,203,838 3.21 GB 0.01959
1 亿 32 秒 11,755,909 31.9 GB 0.19470
10 亿 2 分 3 秒 135,754,696 312.35 GB 1.90643
100 亿 19 分 55 秒 1,257,462,851 3.12 TB 19.5
NNLM 50 100,000 18 秒 66,112 227 MB BigQuery 0.00135
100 万 1 分 1 秒 666,875 531 MB 0.00316
1000 万 19 秒 4,140,396 3.39 GB 0.02069
1 亿 27 秒 14,971,248 32.08 GB 0.19580
10 亿 8 分 16 秒 288,221,149 312.54 GB 1.90759
100 亿 19 分 28 秒 1,655,252,687 3.12 TB 19.5
BERT1 768 100,000 29 分 37 秒 2,731,868 38 MB BigQuery 0.00022
Vertex AI 8.11
100 万 5 小时 10 秒 28,905,706 339 MB BigQuery 0.00196
Vertex AI 9.98
Vertex AI textembedding-gecko@001 LLM2 768 100,000 14 分 14 秒 1,495,297 38 MB BigQuery 0.00022
Vertex AI 0.73
100 万 2 小时 24 分钟 17,342,114 339 MB BigQuery 0.00196
Vertex AI 2.97

1 BigQuery 查询作业具有 6 小时的限制,因此该模型最多只会针对 100 万行进行基准化分析。您可以使用 Vertex AI Model Garden 中的更多计算资源,让作业在 6 小时的限制内处理更多行。例如,您可以增加加速器的数量。

2 BigQuery 查询作业具有 6 小时的限制,因此该模型最多只会针对 100 万行进行基准化分析。您可以申请增加配额,以便作业在 6 小时的限制内处理更多行。您还可以使用这组 SQL 脚本或此 Dataform 软件包遍历超出 6 小时限制的推理调用。