斩获冠亚军!开源检索引擎Puck闪耀NeurIPS‘2023

news2025/2/4 23:45:55

近日,备受全球瞩目的国际向量检索大赛 Big-ANN in NeurIPS’23 的排行榜正式公布。百度搜索内容技术团队,以其自研 ANN 检索算法 PUCK 的出色性能表现,成功斩获Streaming Search赛道冠军与Filtered Search赛道亚军。

NeurIPS(Conference on Neural Information Processing Systems)是一个在机器学习、人工智能和神经科学领域内享有盛誉的学术会,与ICML、ICLR并称为机器学习领域难度最大、水平最高、影响力最强的会议。它为研究人员和从业者提供了展示和对比最新技术和算法的机会。

随着向量检索越来越普遍,解决实际场景中最近邻搜索或向量检索问题的多样化变体变得愈发重要。在此背景下,NeurIPS’23 设置了Big-ANN 竞赛,旨在提升大规模 ANN 的研究创新和生产环境中的落地应用,推动索引数据结构和索引算法的发展。因 NeurlPS 的极高知名度和权威性,Big-ANN 吸引了众多知名企业和顶尖大学的同台竞技。

赛题及冠军:https://big-ann-benchmarks.com/neurips23.html

Puck凭借出色的性能表现脱颖而出

本届Big-ANN包含4个赛题:Filtered Search、Out-Of-Distribution、Sparse、Streaming Search,参与者可以选择向一个或多个曲目提交参赛作品。评估硬件标准为Azure Standard D8lds v5(8 vCPU和16GB DRAM),这台机器上的索引构建时间将限制为12小时,Streaming Search赛道的时间限制更严格。

1)在Streaming Search赛道以高召回率位列第一

赛题要求:把30M数据集通K-means聚类,分成64组。一轮索引更新包括:插入某一组样本、检索、删除某一组样本、检索。要求算法在1小时内完成5轮索引更新,共计1280次操作。每次插入的数据,属于不同的分组,因而要求算法在未知数据分布全貌的情况下,也能提供较好的检索效果。插入和删除操作不断交替,整个索引包含的样本动态变换,要求算法在动态的数据集上,保持索引结构的紧凑(消耗较少的内存)。

相比其他赛道(只关注检索性能),Streaming Search赛道期望算法对变化的数据分布有更好的鲁棒性。Streaming赛道使用每次检索recall@10的统计值作为算法的成绩,Puck以0.9849的召回率排名第一,斩获冠军。

Puck结合赛题要求和业务应用落地成本,对当前代码进行改造,能够支持在线的训练、建库和检索过程。Puck默认的索引结构有四层,每层肩负不同的功能。调整索引参数,降低空间划分层对召回率的影响,召回率交由第三层过滤层控制。第三层结果依赖query与样本的距离计算,受数据分布变化影响较小,因而可以保证召回率足够稳定。

图片

2)在Filter Search赛道以较高的检索性能位列第二

赛题任务:使用CLIP嵌入转换的YFCC 100M数据集的随机10M切片。每张图片的tag放在一个"bag" :从描述中提取的单词、相机型号、拍摄照片的年份和国家。这些标签来自200386个可能标签的词汇表。

本赛道关注检索性能,赛题要求算法支持带标签的过滤检索,召回结果仅包含与query标签匹配的样本。排行榜是基于recall@10至少为90%的前提下,算法达到QPS作为算法的成绩并排名。Puck以19153.42的qps排名第二。

当前赛道要求支持1~2个标签的检索,在实际业务应用中通常要求支持多标签(>=3)的检索。因而,Puck放弃了使用每个标签单独建索引的方案(单独建索引的方案性能会更好,但扩展性受限),采用融合向量和标签的索引结构,能够支持任意标签的检索,检索性能受标签个数影响较小。

图片

NeurIPS’23竞赛,为人工智能领域的交流与合作搭建了良好的平台。这次获奖不仅是对Puck团队技术实力的肯定,也是对其不断探索和创新精神的认可。相信在未来的日子里,Puck会为向量检索技术的发展贡献出更多的力量。

欢迎加入Puck

Puck出色的性能和准确性,使得其能够高效地处理大量的数据的同时保持高精度的搜索结果。此外,Puck还具有高度的灵活性,支持超大规模数据集,可以适应不同的数据类型和查询需求。

详见GitHub:https://github.com/baidu/puck

图片

欢迎大家成为社区贡献者,Puck鼓励开发者之间的合作和共享,同时支持大家进行知识的分享和传播,打造活跃而广泛的生态,促进项目的高速、可持续发展,从而推动技术的创新。

在你因为参与开源而得到回报的时候,你也在影响着开源领域的发展,促进开源领域向更加广阔的方向奔涌而去。

欢迎加入QQ交流群:913964818

——END——

推荐阅读

AI Native工程化:百度App AI互动技术实践

揭开事件循环的神秘面纱

百度搜索展现服务重构:进步与优化

百度APP iOS端包体积50M优化实践(七)编译器优化

百度搜索内容HTAP表格存储系统

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1328344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring项目启动,运行停留在标题处

详情: 原因: yml文件存在问题,比如:在切换生产环境和开发环境的配置文件时,yml名称写错,如下,图,此处多写了一个p。 解决办法: 修改为正确的配置文件,即可。

27、ResNet50处理STEW数据集,用于情感三分类+全备的代码

1、数据介绍 IEEE-Datasets-STEW:SIMULTANEOUS TASK EEG WORKLOAD DATASET : 该数据集由48名受试者的原始EEG数据组成,他们参加了利用SIMKAP多任务测试进行的多任务工作负荷实验。受试者在休息时的大脑活动也在测试前被记录下来,也包括在其…

Java 中的内部类的定义

目录 一、成员内部类 二、静态内部类 三、局部内部类 四、匿名内部类 一、成员内部类 public class InnerClass {String name;private Integer age;static String hobby;/*** 成员内部类* 1、成员内部类中只能定义非静态属性和方法* 2、成员内部类中可以访问外部类的成员&a…

【深度学习实践】换脸应用dofaker本地部署

本文介绍了dofaker换脸应用的本地部署教程,dofaker支持windows、linux、cpu/gpu推理,不依赖于任何深度学习框架,是一个非常好用的换脸工具。 本教程的部署系统为windows 11,使用CPU推理。 注意: 1、请确保您的所有路…

晋江IP影视化频频折戟,网文陷入工业化困境

在影视行业进入IP时代的2023年,晋江文学城(以下简称晋江)IP影视化却迎来了大溃败。 2023年,晋江IP在影视行业依旧十分抢手,多部热门网文被影视化,其中不乏头部视频网站的S大制作,但播出效果却有…

.NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式

之前写过使用自定义返回类的方式来统一接口数据返回格式,.Net Core webapi RestFul 统一接口数据返回格式-CSDN博客 但是这存在一个问题,不是所有接口会按照定义的数据格式返回,除非每个接口都返回我们自定义的类,这种实现起来不…

Mybatis-plus动态条件查询QueryWrapper的函数用法

目录 前言1. QueryWrapper2. 函数3. Demo 前言 原本都是在Mapper文件中修改,直到看到项目中使用了QueryWrapper这个函数,大致了解了用法以及功能,发现还可以! 对此此贴为科普帖以及笔记帖 1. QueryWrapper MyBatis-Plus 是 My…

你知道海外云手机可以用于外贸测评吗?

目前随着外贸行业的发展,像亚马逊、速卖通、eBay等海外电商平台越来越火热。在这些平台,过硬的产品质量、优秀的服务、合适的价格,再加上适量的跨境电商测评,很容易就能吸引不少的客户。那么如何利用海外云手机进行外贸测评&#…

rk3588多模型检测部署quickrun

quickrun 是一款rk3588 rknn多模型高效高并发部署软件 软件框架 采用session思想,可以定义多个session满足不同模型的义务需求。比如充电桩检测,垃圾分类,悬崖检测,模型共用一个摄像头,采用yolov5的模型。 采用消息…

【C语言】动态内存管理基础知识——动态通讯录,如何实现通讯录容量的动态化

引言 动态内存管理的函数有:malloc,calloc,ralloc,free,本文讲解动态内存函数和使用,如何进行动态内存管理,实现通讯录联系人容量的动态化,对常见动态内存错误进行总结。 ✨ 猪巴戒:个人主页✨ 所属专栏:《C语言进阶》…

【大模型】快速体验百度智能云千帆AppBuilder搭建知识库与小助手

文章目录 前言千帆AppBuilder什么是千帆AppBuilderAppBuilder能做什么 体验千帆AppBuilderJava知识库高考作文小助手 总结 前言 前天,在【百度智能云智算大会】上,百度智能云千帆AppBuilder正式开放服务。这是一个AI原生应用开发工作台,可以…

业务逻辑漏洞有哪些?漏洞攻击防御及代码示例

文章目录 简介危害成因攻击防御代码示例1. 未经验证的重要操作2. 认证绕过3. 逻辑时间窗口漏洞4. 负载测试漏洞 修复 业务逻辑漏洞是指软件或系统的逻辑设计上的缺陷,这些缺陷可能被攻击者利用,从而导致意料之外的行为。下面是对业务逻辑漏洞的简介、危害…

大数据技术基本功-数据采集

产品指南|DataScale自定义采集器功能介绍产品指南|开发 DataScale Collector​​​​​​​

ubuntu换源

1 首先备份Ubuntu源列表 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup 2 查看自己Ubuntu版本 命令 lsb_release -a precise为源里面的关键字,根据实际情况,自行修改 3 修改更新源 先删除原文件里面的内容 sudo gedit /etc/apt/sources.list 用下面内容替…

哈希表..

文章目录 1. 两数之和-力扣 1 题 1. 两数之和-力扣 1 题 思路: 循环遍历数组,拿到每个数字x以target-x作为key到map中查找 若没找到,将x 作为key,它的索引作为value 存入map 若找到了,返回 x 和它配对数的索引即可 …

【让云服务器更灵活】iptables转发tcp/udp端口请求

iptables转发tcp/udp端口请求 文章目录 前言一、路由转发涉及点二、转发如何配置本机端口转发到本机其它端口本机端口转发到其它机器 三、固化iptables总结 前言 路由转发是计算机网络中的一种重要概念,特别是在网络设备和系统之间。它涉及到如何处理和传递数据包&…

Redis(非关系型数据库)

Redis(非关系型数据库) 文章目录 Redis(非关系型数据库)认识Redis(Remote Dictionary Server)1.Redis的基本介绍2.Redis的应用场景2.1 取最新N个数据的操作2.2 排行榜应用,取TOP N操作2.3 需要精准设定过期时间的应用2.4 计数器应用2.5 Uniq 操作,获取某段时间所有数…

爬虫API|批量抓取电商平台商品数据,支持高并发

随着互联网的快速发展,电商平台如雨后春笋般涌现,为消费者提供了丰富的购物选择。然而,对于许多商家和数据分析师来说,如何快速、准确地获取电商平台上的商品数据成为了一个难题。为了解决这个问题,我们开发了一个爬虫…

GBASE南大通用数据库在Windows和Linux中创建数据源

Windows 中数据源信息可能存在于两个地方:在 Windows 注册表中(对 Windows 系统), 或在一个 DSN 文件中(对任何系统)。 如果信息在 Windows 注册表中,它叫做“机器数据源”。它可能是一个“用 …

基于若依的ruoyi-nbcio流程管理系统增加待办通知个性化设置

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 1、在每个节点可以设置扩展属性是todo的属性值,如下: 2、在需要审批或启动的时候获…