Vertex Matching Engine 概览

借助 Vertex Matching Engine,您可以执行向量相似度搜索,进而能够高效、准确地搜索大量数据。机器学习模型将数据输入(如文本和图片)转换为表示高维度向量的嵌入。您可以使用自己的预训练嵌入,也可以使用内置模型来训练自定义嵌入,而无需编写训练代码。Vertex Matching Engine 提供双塔内置算法,这是 Google 开发的监管方法,用于匹配相关项(例如用户个人资料、搜索查询、文本文档或图片)对。借助经过训练的嵌入,Matching Engine 可让您查询数据中的完全匹配和语义上相似的匹配 - 数据中与查询类似的嵌入。给定一个向量后,Matching Engine 可以帮助您在数毫秒内从海量向量中找到最相似的向量。

向量相似度搜索解决方案也称为 k 最近邻 (kNN)、近似最邻近 (ANN) 和嵌入向量匹配。Matching Engine 使用由 Google Research 开发的新型向量量化:使用各向异性向量量化加快大规模推理。请参阅这篇关于 ScANN(可伸缩最邻近社区)的博文,详细了解此功能的工作原理。

向量相似度搜索是许多涉及计算和使用语义嵌入的应用的基本部分。

例如,它用于:

  • 商品推荐引擎或广告定位引擎的候选集生成阶段
  • 单样本或小样本图片分类或图片搜索
  • 对(可能通过使用 BERT 等算法生成的)文本嵌入执行语义搜索的 NLP 应用

更大的规模、更高的召回率、更低的成本

Matching Engine 提供的相似度搜索具有大规模和低 QPS 的特点,并提供高召回率和成本效益。

  • 扩容至数十亿个嵌入向量
  • 即使 QPS 高达数十万,也能以低至 5 毫秒的第 50 百分位延迟时间提供结果
  • 提供行业领先的召回率。召回率为每次向量搜索调用返回的实际近邻的百分比
  • 在大多数情况下,它使用的 CPU 和内存少于其他已知替代方案

可简化实际架构的实用功能

关键用户历程

  • 根据用户提供的嵌入向量创建和部署索引
  • 使用用户提供的嵌入向量更新实时索引
  • 进行低延迟的在线查询,获取查询嵌入向量的最近邻

有用的术语

索引:为相似度搜索而部署的一组向量。可以在索引中添加或移除向量。相似度搜索查询会被发送到特定索引,并将搜索该索引中的向量。

召回率:索引返回的真正最近邻的百分比。例如,如果一个对 20 个最近邻的最近邻查询返回 19 个“标准答案”最近项,则召回率为 19/20*100 = 95%

限制:使用布尔值规则将搜索“限制”为一部分索引的功能。

后续步骤