微软刚刚宣布开源一项 Bing 搜索背后的关键算法——SPTAG,它使 Bing 能够快速将搜索结果返回给用户。

仅在几年前,网络搜索很简单,用户输入几个关键词并浏览结果页面。 今天,相同的用户可能会在手机上拍照并将其放入搜索框中,或使用智能助手提问,而无需亲自触摸设备。他们也可能会输入一个问题并期待一个实际的答复,而不是一个可能答案的页面列表。

SPTAG (Space Partition Tree And Graph)是分布式近似最近邻域搜索(ANN)库,为大规模矢量搜索场景提供高质量矢量索引构建、搜索和分布式在线服务工具包。利用 SPTAG 算法作为开源 python 库的核心,Bing 能够在几毫秒内搜索数十亿条信息。

当然,矢量搜索本身并不是一个新想法,微软所做的是将这一概念应用于深度学习模型。

首先,团队采用预先训练的模型并将数据编码到矢量中,其中每个矢量代表一个字或像素。然后使用新的 SPTAG 库生成向量索引。随着查询的进入,深度学习模型将该文本或图像转换为向量,该库紧接着就能在索引中找到最相关的向量。

微软表示,SPTAG 库迄今已对超过 1500 亿条数据进行了编目,包括单个单词、字符、网页代码段和完整查询。

“Bing 每天处理数十亿个文档,现在的想法是将这些条目表示为向量,并搜索这个 1000 亿以上向量的巨大索引,以便在 5 毫秒内找到最相关的结果”。

Bing 团队期望开源 SPTAG 可用于构建可识别基于音频片段所说语言的应用,或用于让用户拍摄植物照片并识别属和物种的服务。

该库现已开放使用,并提供构建和搜索这些分布式矢量索引的所有工具。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。