导读:首届国际向量检索大赛BigANN是由人工智能领域全球顶级学术会议NeurIPS发起,旨在提升大规模ANN的研究创新和生产环境中的落地应用。虽是首届大赛,但因NeurIPS的极高知名度和权威性,吸引了众多知名企业和顶尖大学的同台竞技。本届比赛已于12月NeurlPS’21会议期间公布结果。百度内容技术架构团队自研ANN算法PUCK参加其中4个项目,评分均排名第一。
全文2081字,预计阅读时间6分钟
首届国际向量检索大赛BigANN是由人工智能领域全球顶级学术会议NeurIPS发起,旨在提升大规模ANN的研究创新和生产环境中的落地应用。虽是首届大赛,但因NeurIPS的极高知名度和权威性,吸引了众多知名企业和顶尖大学的同台竞技。本届比赛已于12月NeurlPS’21会议期间公布结果。百度内容技术架构团队自研ANN算法PUCK参加其中4个项目,评分均排名第一。
比赛详情:https://big-ann-benchmarks.com/
比赛结果:https://github.com/harsha-simhadri/big-ann-benchmarks/tree/main/t1_t2
BigANN共包含3个Track,分别是:1)基于内存的检索,2)基于Disk的检索,3)基于非标准硬件的检索(GPU)。百度PUCK项目的参赛赛道为Track T1,是以10000个查询/秒(在32个vCPU上)测量算法召回,核心指标是各数据集上的目标QPS下的召回率。本次比赛固定查询6个十亿级别数据集,包含Facebook、Microsoft Turing、Microsoft Bing、Yandex 专门为本次比赛发布的四个新数据集。
近几年,无论学术界还是工业界,都出现了许多ANN算法(Approximate Nearest Neighbor)的创新研究和应用,包括基于分区和基于图形的索引策略、混合RAM和SSD存储以高效存储和处理超过RAM大小的大型数据集、使用加速器硬件、利用机器学习来降低原始矢量的维度,以及Spotify 的 ANNOY、Google 的 ScaNN、Facebook的Faiss 和 HNSW 等。
除了考虑算法创新,也要在工业环境中平衡成本、预处理时间、功耗等。但目前大多数算法的实证评估都集中在大约100万点的较小数据集上,如ann-bechmarks.com,对于大规模应用的共识依然有限。
百度自研的PUCK方法已经内部迭代了很久,性能、效果、易用性等都经过了多轮打磨,同时,PUCK团队核心成员在ANN方向已经深耕多年,对于本次参赛结果有一定预期。当前,PUCK 已经广泛应用于百度内部多个场景,包括视频/图片/网页等的内容比对、搜索、信息流等二十余条产品线,支撑了上千亿数据规模和每天数十亿的检索流量。
关于PUCK
PUCK源自经典MOBA游戏DOTA中的智力英雄,取其飘逸、灵动之意。ANN的检索性能是重中之重,PUCK设计并实现了多种优化方案,着重提升性能和效果,包括但不限于:
-
采用二层倒排索引架构,能更敏感的感知数据分布,从而非常高效的分割子空间,减少搜索范围;同时采用共享二级类聚中心的方式,大幅减少训练时间
-
训练时采用启发式迭代的方法,不断优化一二级类聚中心,通过等价空间变换,训练获得更好的数据分布描述
-
采用多层级量化加速查找,优先通过大尺度量化的小特征快速找到候选集,再通过稍大一些的量化特征二次查找
-
在各个检索环节打磨极致的剪枝, 针对loss函数,通过多种公式变化,最大程度减少在线检索计算量,缩短计算时间
-
严格的内存cacheline对齐和紧致排列,最大程度降低cache miss;
-
支持大尺度的量化,单实例支持尽可能多的数据,针对大尺度量化定向优化,减少量化损失; 同时支持非均匀量化,更加适应各种纬度的特征
除了性能以外,Puck还做了很多功能拓展:
-
实时插入:支持无锁结构的实时插入,做到数据的实时更新;
-
分布式建库:索引的构建过程支持分布式扩展,全量索引可以通过map-reduce一起建库,无需按分片build,大大加快和简化建库流程;
-
条件查询:支持检索过程中的条件查询,从底层索引检索过程中就过滤掉不符合要求的结果,解决多路召回归并经常遇到的截断问题,更好满足组合检索的要求;
-
自适应参数:ANN方法检索参数众多,应用起来有不小门槛,不了解技术细节的用户并不容易找到最优参数,Puck提供参数自适应功能,在大部分情况下使用默认参数即可得到很好效果。
关于百度内容技术架构团队
百度内容技术架构部,隶属于百度移动生态事业群组(MEG),为搜索、信息流以及MEG矩阵产品提供全网最广泛、最新鲜、最优质的文字、视频、图片、直播等内容与特征信号。使命:记录和繁荣人类文明;愿景:用创新技术和产品记录社会的每一个侧影,丰富人们的生活,启发世界创造美好未来。
内容技术架构部立足于技术最前沿的方向,研发涵盖灵活的DAG调度、极致性能的存储系统、大规模分布式ANN检索与量化、大尺度多类型的深度模型预测/训练优化、高性能计算、传统视觉比对和检索、图片/视频编解码、海量多媒体数据理解、多模态内容挖掘与生成等。
部门大牛云集,技术氛围浓厚,尊重人才,鼓励创新;以建设业界顶尖的技术团队为目标,欢迎优秀人才的加入!
简历投递邮箱:lihua@baidu.com ;tianyakun@baidu.com
推荐阅读:
---------- END ----------
百度 Geek 说
百度官方技术公众号上线啦!
技术干货 · 行业资讯 · 线上沙龙 · 行业大会
招聘信息 · 内推信息 · 技术书籍 · 百度周边