对话InfoQ,聊聊百度开源高性能检索引擎 Puck

这篇具有很好参考价值的文章主要介绍了对话InfoQ,聊聊百度开源高性能检索引擎 Puck。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

对话InfoQ,聊聊百度开源高性能检索引擎 Puck,百度,开源

近日,百度宣布在 Apache 2.0 协议下开源自研检索引擎 Puck,这也是国内首个适用于超大规模数据集的开源向量检索引擎。向量检索算法在个性化推荐系统、多模态检索、自然语言处理等应用场景中都发挥着重要作用,特别是在处理大规模数据和高维特征数据时。

名称“Puck”取自经典 MOBA 游戏 DOTA 中的智力英雄 Puck,象征着飘逸和灵动。这个项目经过多年在百度内部的精心打磨,而且在 2021 年底 Nerulps 举办的全球首届向量检索大赛 BIGANN 比赛中,Puck 参与的四个项目均获得第一名。InfoQ 采访了百度搜索内容技术部主任架构师 Ben,以了解该项目的发展历程和核心优势。

开源地址:https://github.com/baidu/puck

InfoQ:是否方便介绍一下您的工作经历,以及目前的主要职责?

Ben:我从毕业即加入百度,最初在移动搜索部门,负责基础检索和相关性方面工作,经历了移动高速发展的过程。之后作为创始成员协助组建了多模搜索部负责视觉搜索,属于百度最早一批进入 AI 领域的员工。目前在搜索内容技术部,负责内容相关技术,包括内容获取、内容理解、内容计算、内容加工与生成等。

InfoQ:您从什么时候开始关注开源?是什么让您决定 Puck 要开源?选择这个时候开源的原因是什么?

Ben:我们很早就在思考开源,看到 FAISS(由 Facebook AI Research 开发的大规模向量检索库)开源之后获得了广泛的业界关注和应用,我们也希望开源 Puck 后,可以促进社区的发展,并借助社区的力量提高代码质量,加速技术创新,更好的适应市场需求。自研开源市场变得越来越成熟和规范,可能会带来更多的商业模式和合作机会。

对外开源,我们其实筹备了很久,做了大量的准备工作。大模型的爆火,导致向量检索技术获得广泛关注,我们认为,这是一个合适的开源契机。

InfoQ:您能具体讲一下 Puck 在百度的发展史,以及从您角度来看,它对于百度搜索的价值主要体现在哪里?

Ben:Puck 的想法最早来自视觉搜索业务,我们需要一个能支撑数百亿相似图片检索的 ANN 引擎,同时要能支持高吞吐、低延时、高准确、低内存、高灵活性等要求,当时业内没有能满足我们需要的引擎,于是启动了自研的过程。

2017 年 Puck 完成首次上线,在百亿图片库上成本和效果都取得了极其显著的提升;之后随着 Transformer 模型在 nlp 领域的大放异彩,基于 embedding 的语义检索越来越凸现价值,Puck 的应用也越来越广,2019 年 Puck 在百度内部开源,支撑的业务数快速增长,目前已广泛应用于百度搜索、推荐、网盘、知识图谱等内部多条产品线,支持规模突破万亿。目前 ANN 已经成为互联网底层基础技术之一,是 AI 时代的基石,搜索最重要的支撑技术之一。

InfoQ:期间经过了几次优化,优化重点是什么,您能具体讲述一下吗?

Ben:到今天 Puck 已经是一个打磨多年的产品,中间的优化数不胜数,大体来说可以分成以下几个阶段:

  1. 2016 年到 2019 年,打磨核心算法和实现,重点在基础性能优化上,不断调整细节,在自有场景上做极致优化,Puck 的核心框架在这一时期建立并沿用至今。

  2. 2019 年到 2021 年,以公司内开源为标志,随着业务接入的增多,Puck 需要适配各种各样的应用场景和诉求,易用性、扩展性、功能多样性成为主要目标,像高性能的实时插入、多条件检索、分布式建库等等功能都是在这一时期完成。

  3. 2021 年到 2022 年,以大规模内容关系计算应用为契机,Puck 重点优化在单实例超大规模数据下的性能,通过大尺度量化和索引结构的优化在十亿规模数据集上大幅提升性能降低成本。以参加全球首届向量检索大赛 BIGANN 并获得四项第一为标志,证明了 Puck 在这部分的竞争优势。

  4. 2022 年至今,核心算法创新,提出了新的算法来适配不同数据场景,新增更多的 feature,同时完善配套设施,做外部开源准备。

这只是一个粗略的划分。实际上,Puck 的优化更多地由许多微小的优化点组成。我们在讨论中提出了大量有趣的想法,进行了大量的实验和尝试。总的来说,十个想法中最终只有一到两个能成为正式的功能。这些优化最终汇聚在一起,形成了我们今天看到的 Puck。

InfoQ:您能否详细介绍下 Puck 的核心优势和应用场景?

Ben:Puck 开源项目包含了两种百度自研的检索算法和一系列的附加功能,核心优势首先就是性能,经过多年的打磨和调优,在 benchmark 的千万、亿、十亿等多个数据集上,Puck 性能优势明显,均显著超过竞品,在 2021 年底 Nerulps 举办的全球首届向量检索大赛 BIGANN 比赛中,Puck 参加的四个项目均获得第一。

其次,易用性上,Puck 提供了一系列的适用于各种场景的功能,比如,同时提供简单易用的 API 接入,尽量少的暴露参数,大部分参数使用默认设置即可达到良好性能。

最后,Puck 是一个久经考验的引擎,经过多年在实际大规模场景下的验证打磨,广泛应用于百度内部包括搜索、推荐等三十余条产品线,支撑万亿级索引数据和海量检索请求,可靠性上有非常高的保障。

Puck 引擎这次开源了两种检索算法 Puck 和 Tinker,分别更适用于超大规模数据集和中小规模数据集,几乎可以覆盖绝大部分的检索应用场景。目前已广泛应用于百度内部搜索、推荐等多条产品线,覆盖数据规模从百万至万亿。

InfoQ:面对 AI 新浪潮,大模型在业内已越来越卷,在您看来未来开源市场会不会更卷?

Ben:AI 大模型的出现确实使得业内竞争更加激烈,但这并不是坏事。首先,大模型的发展推动了 AI 技术的进步,提高了 AI 的性能和效率。其次,大模型为业内带来了更多的创新空间和可能性,推动了开源市场的发展。

以后业内在自研开源市场的竞争会更加激烈,但这并不意味着会更卷,相反是带来了无限的可能。因为开源市场的特性是开放和共享,企业和个人可以通过开源市场获取最新的 AI 技术和模型,而无需自己从零开始开发。这有助于整个行业降低研发成本和提高研发效率。

此外,开源市场也是技术交流和创新的平台,业内人士可以在这里分享自己的研究成果,吸收他人的经验和知识,共同推动 AI 技术的发展。所以,虽然竞争会更激烈,但只要我们能适应这种趋势,积极参与交流和创新,就可以从中获益。

InfoQ:那您认为互联网公司开源项目的未来发展趋势是什么样的?会往哪方面发展?

Ben

  1. 深度专业化:随着技术的细分,开源项目可能会更加专业化和深度化,解决更具体、更深入的问题,会更多永远专注于某一特定问题的开源项目,Puck 就是其中之一。

  2. 多元化:互联网公司自研的开源项目可能会涉及更多的行业和领域,实现技术的跨界整合,形成各种行业解决方案的开源项目,这种跨界融合将有助于推动技术在各行业的广泛应用。

  3. 更强的实用性:未来的开源项目可能会更注重实战和应用,而不仅仅是理论研究。开源项目会提供更多实用的工具和框架,帮助开发者更好地将理论应用到实际工作中。

  4. 注重数据和算法的开源:随着数据和算法的重要性日益凸显,未来可能会有更多的数据和算法开源,以加速 AI 等领域的发展。

这些变化都将为推动科技发展和解决实际问题提供更强大的动力。

InfoQ:您提到 Puck 在内部已广泛应用,有哪些大家熟悉的产品或场景吗?能否举个例子。

Ben:大家熟悉的百度搜索和手机百度内的信息流推荐都有使用 Puck 技术。

InfoQ:请问开源后是否收到了社区的一些反馈,对您有怎样的启发?

Ben:自从 Puck 开源以来,我们已经收到了不少来自社区的反馈和建议。这些反馈和建议对我们来说是非常宝贵的,它们不仅帮助我们发现了 Puck 的一些问题和不足,也为我们提供了改进和优化的方向。

对我个人来说,这些反馈启发我认识到,虽然我们在内部使用 Puck 有着丰富的经验,但在面对更广泛的用户群体时,我们还需要不断学习和提高。每个用户的需求都可能不同,我们需要更加深入地理解用户的需求,才能更好地优化 Puck,使其更加适应不同的使用场景。

同时,这些反馈也让我深切地感受到了开源社区的活力和创新精神。许多社区成员不仅提出了问题,还积极地提供了解决方案,这种积极参与和贡献的精神让我深感鼓舞。我希望在未来,我们能够更紧密地与社区合作,共同推动 Puck 的发展。

InfoQ:Puck 对您个人的意义,您对 Puck 的未来有什么期待?

Ben:Puck 是团队长时间研究和努力的成果,作为 Puck 的负责人,我对这个项目有着深深的热爱和执着,对我个人来说,它不仅仅是一个检索引擎,而是代表团队付出的心血和智慧的结晶,它是我们对技术的追求,对创新的执着,也是我们对未来的期待和憧憬,Puck 的每一次升级和优化都记录着我们的成长和进步。

对于 Puck 的未来,我有着很高的期待。首先,我希望 Puck 能在开发者社区中得到广泛的使用,同时也能得到社区的反馈,不断优化和改进。我期待看到更多的人参与到 Puck 的开发和使用中来,通过大家的共同努力,让 Puck 成为 AI 领域有影响力的一款工具。其次,我希望 Puck 能够持续创新,不断优化,保持其技术领先地位,不仅能适应现有的技术需求,还能预见并引领未来的技术趋势。最后,我希望 Puck 能在更多实际应用中发挥出它的价值,为人工智能在各个行业的应用提供强大支撑,推动科技的发展。

采访嘉宾简介

Ben,百度搜索内容技术部主任架构师,负责多模态内容理解、超大规模内容关系计算、内容加工与生成、模型优化等方向。

欢迎加入Punk技术交流群:913964818

部门多个职位火热招聘,ANN检索工程师、模型优化工程师、分布式计算研发工程师等,欢迎愿意拥抱挑战,具备优秀分析问题、解决问题能力的人才加入~

招聘邮箱:tianyakun@baidu.com

——END——

推荐阅读

浅谈搜索展现层场景化技术-tanGo实践

初识搜索:百度搜索产品经理的第一课

智能问答技术在百度搜索中的应用

通过Python脚本支持OC代码重构实践(一):模块调用关系分析

CVPR2023优秀论文 | AIGC伪造图像鉴别算法泛化性缺失问题分析文章来源地址https://www.toymoban.com/news/detail-736305.html

到了这里,关于对话InfoQ,聊聊百度开源高性能检索引擎 Puck的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大规模数据量下ES如何实现高性能检索?

    ElasticSearch,是基于Lucene库的搜索引擎。它提供了一个分布式、多租户的全文搜索引擎,具有HTTP web接口和无模式JSON文档。根据DB引擎排名,Elasticsearch是最受欢迎的企业搜索引擎。ES的特点是分布式、高扩展以及近实时。那么,大规模数据量下ES是如何实现高性能检索的呢? 说

    2024年02月16日
    浏览(105)
  • OLAP引擎也能实现高性能向量检索,据说QPS高于milvus!

    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 随着LLM技术应用及落地,数据库需要提高向量分析以及AI支持能力,向量数据库及向量检索等能力“异军突起”,迎来业界持续不断关注。简单来说,向量检索技术以及向量数据库能

    2024年01月16日
    浏览(55)
  • 体验开源香山高性能开源 RISC-V 处理器

    香山处理器是乱序六发射结构设计,目前支持 RV64GCBK 扩展。香山处理器前端流水线包括分支预测单元、取指单元、指令缓冲等单元,顺序取指。后端包括译码、重命名、重定序缓冲、保留站、整型/浮点寄存器堆、整型/浮点运算单元。 https://xiangshan-doc.readthedocs.io/zh-cn/latest/

    2024年01月23日
    浏览(53)
  • 基于.NetCore高性能敏感词检测开源库

    🏆作者:科技、互联网行业优质创作者 🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造 🏆欢迎关注我(Net数字智慧化基地),里面有很多 高价值 技术文章, 是你刻苦努力也积累不到的经验 ,能助你快速成长。升职

    2024年02月21日
    浏览(44)
  • 开源通用高性能的分布式id序列组件

    原文地址:https://ntopic.cn/p/2023062101/ Gitee源代码仓库:https://gitee.com/obullxl/sequence-jdbc GitHub源代码仓库:https://github.com/obullxl/sequence-jdbc 业务数据的存储,少不了数据记录的id序列。 id序列(或称序列)的生成方式有很多种,比如当前时间戳、数据库的序列值(Oracle的序列,MyS

    2024年02月11日
    浏览(80)
  • 一个高性能类型安全的.NET枚举实用开源库

    从零构建.Net前后端分离项目 枚举应该是我们编程中,必不可少的了,今天推荐一个.NET枚举实用开源库,它提供许多方便的扩展方法,方便开发者使用开发。 01 项目简介 Enums.NET是一个.NET枚举实用程序库,专注于为枚举提供丰富的操作方法。它支持.NET Framework和.Net Core。它主

    2024年02月05日
    浏览(40)
  • 字节跳动开源 Shmipc:基于共享内存的高性能 IPC

    动手点关注 干货不迷路 CloudWeGo - Shmipc 是字节跳动服务框架团队研发的 高性能进程间通讯库 ,它基于 共享内存 构建,具有 零拷贝 的特点,同时它引入的同步机制具有 批量收割 IO 的能力,相对于其他进程间通讯方式能明显提升性能。在字节内部,Shmipc 应用于 Service Mesh 场

    2023年04月08日
    浏览(48)
  • 可观测性革命 - 揭秘OpenObserve开源高性能云原生平台

      OpenObserve简介 OpenObserve  是一个开源的云原生可观测性平台,与 Elasticsearch 相比,存储成本降低了约 140 倍(实际结果可能因测试数据而有所不同),测试用例包括真实的日志数据,其显著降低运营成本,并提高了易用性。它可以扩展到PB级别的数据量,具有很高的性能,您

    2024年02月11日
    浏览(38)
  • 深入剖析gRPC:Google开源的高性能RPC框架

    在本篇文章中,我们将深入剖析gRPC,Google开源的高性能RPC框架。gRPC是一种基于HTTP/2的高性能、可扩展的RPC框架,它使用Protocol Buffers作为接口定义语言,可以在多种编程语言之间实现无缝通信。 gRPC的核心设计理念是:通过使用HTTP/2作为传输协议,实现高效、可扩展的RPC通信

    2024年02月19日
    浏览(55)
  • Nginx - ​一个高性能、灵活可靠的开源Web服务器

    Nginx是什么?   Nginx是一个 高性能的HTTP和反向代理web服务器 ,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。2011年6月1日,nginx 1.0.4发布。   特点是 占有

    2024年02月07日
    浏览(79)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包