写点什么

各项结果排名第一!百度内容技术架构团队在国际向量检索大赛 BigANN 中斩获佳绩

作者:百度Geek说
  • 2022 年 2 月 17 日
  • 本文字数:2153 字

    阅读完需:约 7 分钟

各项结果排名第一!百度内容技术架构团队在国际向量检索大赛BigANN中斩获佳绩

导读:首届国际向量检索大赛 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


推荐阅读


百度APP视频播放中的解码优化


百度爱番番实时CDP建设实践


当技术重构遇上DDD,如何实现业务、技术双赢?


接口文档自动更改?百度程序员开发效率MAX的秘诀


技术揭秘!百度搜索中台低代码的探索与实践


百度智能云实战——静态文件CDN加速


化繁为简--百度智能小程序主数据架构实战总结


---------- END ----------


百度 Geek 说


百度官方技术公众号上线啦!


技术干货 · 行业资讯 · 线上沙龙 · 行业大会


招聘信息 · 内推信息 · 技术书籍 · 百度周边

用户头像

百度Geek说

关注

百度官方技术账号 2021.01.22 加入

关注我们,带你了解更多百度技术干货。

评论

发布
暂无评论
各项结果排名第一!百度内容技术架构团队在国际向量检索大赛BigANN中斩获佳绩