4

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

 2 years ago
source link: https://juejin.cn/post/7065584163910320142
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

2022年02月17日 07:55 ·  阅读 40
各项结果排名第一!百度内容技术架构团队在国际向量检索大赛BigANN中斩获佳绩
架构师 @ 百度

导读:首届国际向量检索大赛BigANN是由人工智能领域全球顶级学术会议NeurIPS发起,旨在提升大规模ANN的研究创新和生产环境中的落地应用。虽是首届大赛,但因NeurIPS的极高知名度和权威性,吸引了众多知名企业和顶尖大学的同台竞技。本届比赛已于12月NeurlPS’21会议期间公布结果。百度内容技术架构团队自研ANN算法PUCK参加其中4个项目,评分均排名第一。

全文2081字,预计阅读时间6分钟

首届国际向量检索大赛BigANN是由人工智能领域全球顶级学术会议NeurIPS发起,旨在提升大规模ANN的研究创新和生产环境中的落地应用。虽是首届大赛,但因NeurIPS的极高知名度和权威性,吸引了众多知名企业和顶尖大学的同台竞技。本届比赛已于12月NeurlPS’21会议期间公布结果。百度内容技术架构团队自研ANN算法PUCK参加其中4个项目,评分均排名第一。

图片

比赛详情:big-ann-benchmarks.com/

比赛结果:github.com/harsha-simh…

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检索与量化、大尺度多类型的深度模型预测/训练优化、高性能计算、传统视觉比对和检索、图片/视频编解码、海量多媒体数据理解、多模态内容挖掘与生成等。

部门大牛云集,技术氛围浓厚,尊重人才,鼓励创新;以建设业界顶尖的技术团队为目标,欢迎优秀人才的加入!

简历投递邮箱:[email protected][email protected]

推荐阅读

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

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

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

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

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

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

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

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

百度 Geek 说

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

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

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


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK