到家搜索业务具有数据量大、过滤比高等特点,为了在保证高召回率的同时进一步提高检索性能,美团到家研发平台联合基础研发平台基于GPU实现了支持向量+标量混合检索的通用检索系统,召回率与检索性能均有较大提升。本文将介绍我们在GPU向量检索系统建设中遇到的挑战及解决思路,希望对大家有所帮助或启发。
-
1 背景
-
2 美团外卖向量索引的发展历程
-
2.1 HNSW(Hierarchical Navigable Small World)
-
2.2 IVF (Inverted File)
-
2.3 IVF-PQ(Inverted File with Product Quantization)
-
2.4 IVF-PQ+Refine
-
2.5 基于地理位置的向量检索
-
-
3 目标与挑战
-
3.1 目标
-
3.2 解决方案探索
-
-
4 GPU向量检索系统
-
4.1 前置过滤实现方案选择
-
4.2 GPU向量检索引擎
-
4.3 向量检索系统工程实现
-
-
5 收益
-
6 展望
1 背景
随着大数据和人工智能时代的到来,向量检索的应用场景越来越广泛。在信息检索领域,向量检索可以用于检索系统、推荐系统、问答系统等,通过计算文档和查询向量之间的相似度,快速地找到与用户需求相关的信息。此外,在大语言模型和生成式AI场景,向量索引做为向量数据的底层存储,也得到了广泛的应用。
如下图所示,向量检索主要分为三个步骤:(1)将文本、图像、语音等原始数据经过特征抽取,模型预估,最终表征为向量集合;(2)对输入Query采用类似的方式表征为向量;(3)在向量索引中找到与查询向量最相似的K个结果。一种简单直接的检索方式是与向量集合进行逐一比较,找到与查询向量最相似的向量。这种方法也被称为暴力检索。在大数据量或者高维度场景中,暴力检索的耗时和计算资源消耗巨大,无法在现实场景中直接使用。

为了解决上述问题,业界提出ANN(Approximate Nearest Neighbor)近邻检索方案:通过构建有效索引,减少向量计算量,牺牲一定的召回精度以换取更高的检索速率。另一方面,研究如何通过GPU的并行计算能力,加速向量相似计算,也是一个比较热门的发展方向之一。Facebook开源的向量检索库Faiss在GPU上实现了多种索引方式,与CPU版性能相比,检索速率提升5到10倍。开源的向量检索引擎Milvus基于GPU加速的方案使得检索提高10+倍。
目前,向量检索已经广泛应用在美团外卖搜推业务各场景中。相较于其他业务场景,美团外卖业务特点具有较强的Location Based Service(LBS)依赖,即商家的配送范围,决定了用户所能点餐的商家列表。以商品向量检索场景为例:向量检索结果集需要经过“可配送商家列表”过滤。
此外,在不同的业务场景使用过程中,还需要根据商家商品的品类、标签等标量属性进行过滤。当前,美团外卖向量检索基于Elasticsearch+FAISS进行搭建,实现了10亿级别+高维向量集的标量+向量混合检索的能力。为了在保证业务高召回率的同时进一步减少检索时间,我们探索基于GPU的向量检索,并实现了一套通用的检索系统。
2 美团外卖向量索引的发展历程
在美团外卖向量检索系统的建设过程中,我们相继使用了HNSW(Hierarchical Navigable Small World),IVF(Inverted Fi

本文介绍美团到家基于GPU实现的支持向量+标量混合检索的通用检索系统。阐述了美团外卖向量索引发展历程,分析目标与挑战,详细介绍GPU向量检索系统,包括前置过滤方案、引擎数据结构、检索流程及性能优化,该系统使检索性能和召回率显著提升,后续还有更多优化计划。
最低0.47元/天 解锁文章
656

被折叠的 条评论
为什么被折叠?



