原文:Multi-Head RAG: Solving Multi-Aspect Problems with LLMs
本文介绍了一种名为“多头检索增强生成(MRAG)”的新方法,旨在解决大型语言模型(LLM)在处理需要检索多个文档的问题时存在的挑战。传统的检索增强生成(RAG)方法只能处理单个文档的查询,而多头检索增强生成则通过利用Transformer的多头注意力层的激活作为键来检索不同方面的文档,从而提高了复杂查询的检索准确性。作者提供了评估方法和指标、合成数据集以及真实世界的应用案例来证明MRAG的有效性,并且可以无缝地集成到现有的RAG框架中。实验结果表明,与标准RAG基准相比,MRAG能够提高高达20%的相关性。
方法描述
本文提出的多头嵌入检索(Multi-Head RAG,简称MRAG)是一种基于向量数据库的数据驱动型信息检索系统。该系统可以有效地处理包含多个方面的查询,并能够在不同的数据存储空间中搜索到相关的文本块。具体来说,MRAG使用多头自注意力模型来构建每个文本块的多维嵌入表示,然后将这些嵌入表示存储在向量数据库中。在执行查询时,MRAG会根据用户输入的查询语句生成一个多维嵌入表示,并在向量数据库中寻找与之匹配的文本块。最后,MRAG会根据查询的相关度对结果进行排序并返回给用户。
方法改进
相比于传统的单头自注意力模型,MRAG采用了多头自注意力模型来处理多方面查询。这种方法能够更好地捕捉不同方面的相关信息,并且可以在不同的数据存储空间中进行搜索。此外,MRAG还引入了一种新的数据生成策略,即合成数据生成器,用于评估系统的性能。这种数据生成器可以帮助研究人员快速生成大量的合成数据,从而更方便地测试和比较不同的信息检索算法。
解决的问题
传统的信息检索系统往往只能处理单一类型的查询,例如关键词查询或自然语言查询等。然而,在现实世界的应用场景中,我们经常需要同时考虑多个方面的信息来进行查询。例如,在搜索引擎中,我们需要同时考虑用户的搜索意图、历史记录以及当前的上下文等多个因素来进行搜索。为了解决这个问题,本文提出了多头嵌入检索系统,它可以有效地处理包含多个方面的查询,并能够在不同的数据存储空间中搜索到相关的文本块。通过实验验证,MRAG系统在处理多方面查询时具有较好的性能表现,可以满足实际应用的需求。
论文实验
本文主要介绍了基于多头注意力机制的文档检索模型MRAG,并与其他两种基线模型进行了比较实验。实验包括四个部分:
-
实验设置和数据来源:使用了两个真实场景的数据集,一个是合成法律文件的任务,另一个是分析化学事故原因的任务。每个任务都包含了多个方面的要求,需要从数据库中检索相关的文档。
-
比较实验一:将MRAG与标准RAG和分割RAG进行了比较。使用了加权检索成功率作为评估指标,结果表明MRAG在准确匹配和类别匹配方面的表现均优于其他两种模型。
-
比较实验二:将MRAG与融合RAG进行了比较。使用了额外的令牌来增强RAG的准确性,结果表明MRAG在不同数量的方面和不同的嵌入模型下均优于标准RAG。
-
其他分析:对MRAG的不同参数进行了分析,包括使用不同层数的嵌入模型和不同的投票策略。结果表明,使用最后的多头注意力块和特定的投票策略可以进一步提高MRAG的表现。
本文通过多种实验方法证明了MRAG在文档检索任务中的优越性能,为相关领域的研究提供了参考。
文章优点
该论文提出了一种名为Multi-Head RAG(MRAG)的新方案,用于解决复杂查询中现有RAG方案存在的问题。与传统的基于最后一层解码器块激活值的方法不同,MRAG使用多头注意力部分的激活作为嵌入,从而捕捉到数据的不同方面,并提高检索准确性。此外,该论文还提出了全面的评估方法论,包括特定指标、合成数据集和真实世界用例,以验证MRAG的有效性。实验结果表明,MRAG在处理复杂查询时比现代RAG基准提高了20%的精度,同时具有成本效益和能源效率。
方法创新点
该论文的主要贡献是引入了多头注意力部分的激活作为嵌入,而不是传统的基于最后一层解码器块激活值的方法。这种方法可以更好地捕捉数据的不同方面,从而提高检索准确性。此外,该论文还提出了全面的评估方法论,包括特定指标、合成数据集和真实世界用例,以验证MRAG的有效性。
未来展望
MRAG的成功证明了多头注意力机制在增强RAG系统性能方面的潜力。未来的研究可以进一步探索如何利用其他深度学习技术来改进RAG系统的性能,例如自适应嵌入或更复杂的神经网络结构。此外,该论文提出的评估方法论也可以为其他领域的研究提供参考,以便更好地评估新算法的效果。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。