内容提要
eBay推出了亿级向量相似性引擎,利用近似最近邻(ANN)算法提升商品推荐和相似商品搜索的准确性。该引擎支持属性过滤,能在高并发下快速返回相似结果,优化用户购物体验,处理1.7亿活跃商品,显著提高搜索效率和响应速度。
延伸解读
ANN算法选型:HNSW与ScaNN的权衡
eBay相似性引擎采用HNSW和ScaNN两种ANN后端。HNSW基于图结构,在高维向量下内存效率更优,但需定期维护以保持召回率;ScaNN构建速度更快,召回率随时间下降较少,但需预先设定最大索引大小以避免内存重分配。选择取决于具体场景对构建时间、内存和召回率的优先级。
属性过滤:从后过滤到内联过滤的演进
传统后过滤在应用多个严格条件时可能导致召回结果过少甚至为零,而提高k值又会增加延迟。eBay采用内联属性过滤,在HNSW图搜索过程中直接应用过滤条件,仅遍历满足条件的节点。实验表明,对于限制性强的过滤,结合搜索步数上限和暴力回退策略,能在可接受延迟内保证结果质量。
实时更新与高可用架构
引擎通过近实时管道处理商品增删改事件,将嵌入流式传输至查询节点并更新内存索引,使新商品在数秒内可被检索。查询节点采用C++编写,多副本部署以实现负载均衡和容错。中央控制平面负责分片分配和网格维护,即使其故障,系统仍能以现有分片降级运行,确保服务连续性。
性能指标与业务影响
引擎处理1.7亿活跃商品嵌入,支持每秒数千请求,95%响应时间在25毫秒内,top k=200最近邻查询在12毫秒内返回。这些性能指标支撑了商品到商品、查询到商品、用户到商品等多种用例,已被多个产品团队采用,每年为eBay创造数百万美元收入,体现了技术投入的商业价值。
Q&A
eBay的亿级向量相似性引擎有什么主要功能?
该引擎利用近似最近邻算法提升商品推荐和相似商品搜索的准确性,支持属性过滤,快速返回相似结果。
eBay的相似性引擎如何处理高并发请求?
引擎能够每秒处理数千个请求,95%的响应时间在25毫秒以内,确保高效的用户体验。
什么是近似最近邻(ANN)算法,它在eBay引擎中的作用是什么?
ANN算法用于在高维嵌入空间中高效执行相似性搜索,牺牲部分准确性以提高执行效率。
eBay的相似性引擎如何优化用户购物体验?
通过快速返回相似商品和个性化推荐,结合用户的历史行为数据,提升购物的相关性和效率。
eBay的相似性引擎支持哪些距离矩阵?
引擎支持多种距离矩阵,包括平方L2、内积、余弦相似度和汉明距离。
eBay的相似性引擎是如何实现实时更新的?
引擎支持近实时更新,通过处理新增、更新和删除的商品列表事件,确保数据的及时性。