题目是:Auto-RAG:基于大模型的自主检索增强生成
论文链接:https://arxiv.org/abs/2411.19443 代码链接:https://github.com/ictnlp/Auto-RAG
论文概述
这篇论文介绍了一个名为Auto-RAG的模型,旨在解决以下几个问题:
- 迭代检索的自动化:现有的检索增强生成(RAG)系统通常依赖于少量样本提示(few-shot prompting)或手工构建的规则来实现迭代检索,这不仅需要大量的人力工作,还会在推理过程中引入额外的计算开销。Auto-RAG通过利用大型语言模型(LLMs)的决策能力,自动化地进行迭代检索,减少了人为干预和计算成本。
- 处理复杂查询和噪声问题: 在处理复杂问题时,现有的RAG系统可能难以通过单次检索获取足够的知识,并且检索内容可能包含噪声,这些问题影响了RAG系统的整体性能。Auto-RAG通过系统地规划检索和提炼查询来获取有价值的知识,直到收集到足够的外部信息,从而提高了性能。
- 提高LLMs的推理和决策能力: 以往的方法忽视了LLMs在推理和决策方面的能力,而Auto-RAG则充分发挥了LLMs在确定何时以及检索什么内容方面的潜力。
- 增强模型的解释性和用户体验: Auto-RAG以自然语言形式表达迭代检索过程,提高了模型的可解释性,并为用户提供了更直观的体验。
Auto-RAG试图通过自动化的迭代检索和利用LLMs的内在推理能力,来解决现有RAG系统在处理复杂查询和噪声问题时的性能瓶颈,同时提高模型的解释性和用户体验。
相关工作
- 检索增强生成(RAG):论文提到了RAG用于解决知识密集型任务,以及其在提高输出质量和减少幻觉(hallucinations)方面的有效性。相关研究包括Lewis et al. (2020)和Gao et al. (2024)。
- 迭代检索(Iterative Retrieval):迭代检索被提出以解决复杂问题解决过程中动态变化的知识需求。相关研究包括Feng et al. (2023), Shao et al. (2023), 和Jiang et al. (2023)。
- 检索规划和查询优化:论文中提到了通过改进查询制定、增强检索器、改进生成器和优化检索文档的后处理来提升RAG性能的研究。相关研究包括Ma et al. (2023), Karpukhin et al. (2020), Chen et al. (2023), Yoran et al. (2023), 和Yu et al. (2024)。
- 基于链式思考(Chain-of-Thought)的推理:论文中提到了Wei et al. (2023)的研究,该研究强调了在迭代检索过程中使用链式思考来提升LLMs的推理能力。
- 自反思(Self-Reflection):Self-RAG (Asai et al., 2023) 是一个与Auto-RAG相关的研究,它训练LLMs在检索和生成内容上进行反思。
- 多跳问答(Multi-hop QA):论文中提到了多跳问答数据集的构建,如Ho et al. (2020) 和 Yang et al. (2018),这些研究与Auto-RAG解决复杂问题的能力相关。
- LLMs的推理和决策能力:论文强调了利用LLMs的推理和决策能力,相关研究包括Wei et al. (2023)。
核心内容
论文通过提出Auto-RAG模型来解决上述问题,具体解决方案包括以下几个方面:
1. 自主迭代检索框架
Auto-RAG通过模拟大型语言模型(LLMs)与检索器之间的多轮对话,系统地规划检索和提炼查询以获取有价值的知识。这个过程一直持续到收集到足够的外部信息,然后才能充分回答用户的问题。 自动合成基于推理的决策指令:
论文提出了一种方法,用于自动合成基于推理的迭代检索中的决策指令,并通过微调最新的开源LLMs来实现这一点。
2. 推理规划和查询优化
Auto-RAG在每次迭代中都进行细致的推理,以确定是否需要额外的检索以及具体要寻找的信息。这包括检索规划、信息提取和答案推断三种不同类型的推理。
3. 数据构建和训练过程
论文详细描述了数据构建过程,包括如何从原始数据集中生成用于训练Auto-RAG的指令数据集,以及如何过滤和格式化数据。
4. 推理和查询优化
Auto-RAG通过使用少量样本提示(few-shot prompting)来引导LLM进行推理,并根据用户输入和先前的检索计划来迭代地优化查询。
5. 参数知识和外部知识的结合
当检索器和检索语料库无法提供必要的知识来回答某个问题时,Auto-RAG尝试提供由Auto-RAG自生成的文档或答案
论文实验
论文中进行的实验旨在评估上下文感知门(Context Awareness Gate, CAG)架构的性能和效果。具体实验包括:
实验设置:
- 论文专注于使用Auto-RAG解决问答(QA)任务,包括开放域QA和多跳QA。
- 使用了两个代表性数据集Natural Questions (NQ) 和 2WikiMultihopQA (2Wiki) 来合成推理指令,并基于这些指令微调Llama-3-8B-Instruct模型。
基准测试:
在六个数据集上评估Auto-RAG的效果,包括NQ、2Wiki、TriviaQA (TQA)、PopQA (PQA)、HotpotQA (HQA) 和 WebQuestions (WQ)。
使用了Exact Match (EM) 和 F1分数作为评估指标。
与基线比较
与没有检索(Naive Gen)、单次检索(Standard RAG)和迭代检索(FLARE、Iter-RetGen 和 Self-RAG)的基线模型进行比较。 主要结果:
在六个基准测试中,Auto-RAG的性能一致优于其他基线方法,包括没有检索的方法(Naive Gen)、单次检索的方法(Standard RAG),以及其他迭代检索方法(如FLARE、Iter-RetGen和Self-RAG)。
适应性和检索器分析
分析了Auto-RAG在不同数量文档每轮迭代中的表现,并比较了Auto-RAG与无检索方法(Naive Gen)和标准RAG的性能。
消融研究
对Auto-RAG的训练过程、迭代推理和数据构建的有效性进行了消融研究。
进一步分析揭示了Auto-RAG能够根据问题的复杂性和检索到的知识的相关性动态调整迭代次数。这意味着Auto-RAG能够自主决定何时停止检索过程,这减少了人工干预的需求。
数据扩展:
研究了不同训练数据量对Auto-RAG性能的影响。
实验还研究了不同训练数据量对Auto-RAG性能的影响,发现大约0.5k的数据量就足以让模型获得自主检索能力,而增加数据量可以进一步提升性能。
通用任务性能
在AI2 Reasoning Challenge (ARC)、ReAding Comprehension Dataset From Examinations (RACE)、Situations With Adversarial Generations (SWAG) 和 Open Book Question Answering (OpenBook QA) 等通用任务评估基准上测试了Auto-RAG的性能。
Auto-RAG在一般任务上也表现出改善,例如在AI2 Reasoning Challenge (ARC) 和 Situations With Adversarial Generations (SWAG) 上的性能提升,表明通过合成数据训练可以增强LLM的推理能力和处理对抗性任务的能力。
效率比较
比较了Auto-RAG与FLARE和Self-RAG在性能、速度和检索次数上的差异。
与FLARE和Self-RAG相比,Auto-RAG在性能、速度和检索次数上展现出显著优势。Auto-RAG能够自主决定何时检索和检索什么,从而在处理速度和检索次数上更胜一筹。
案例研究
通过一个具体案例比较了Auto-RAG和Self-RAG在处理多跳问题时的不同表现。
这些结果证明了Auto-RAG作为一种自主迭代检索模型的有效性和实用性,特别是在处理复杂问题和动态调整检索策略方面的能力。
如何系统的去学习大模型LLM ?
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业
?”“谁的饭碗又将不保了?
”等问题热议不断。
事实上,抢你饭碗的不是AI,而是会利用AI的人。
继科大讯飞、阿里、华为
等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?
与其焦虑……
不如成为「掌握AI工具的技术人
」,毕竟AI时代,谁先尝试,谁就能占得先机!
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。
针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料
分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
一、LLM大模型经典书籍
AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。
二、640套LLM大模型报告合集
这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
三、LLM大模型系列视频教程
四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)
LLM大模型学习路线 ↓
阶段1:AI大模型时代的基础理解
-
目标:了解AI大模型的基本概念、发展历程和核心原理。
-
内容:
- L1.1 人工智能简述与大模型起源
- L1.2 大模型与通用人工智能
- L1.3 GPT模型的发展历程
- L1.4 模型工程
- L1.4.1 知识大模型
- L1.4.2 生产大模型
- L1.4.3 模型工程方法论
- L1.4.4 模型工程实践
- L1.5 GPT应用案例
阶段2:AI大模型API应用开发工程
-
目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
-
内容:
- L2.1 API接口
- L2.1.1 OpenAI API接口
- L2.1.2 Python接口接入
- L2.1.3 BOT工具类框架
- L2.1.4 代码示例
- L2.2 Prompt框架
- L2.3 流水线工程
- L2.4 总结与展望
阶段3:AI大模型应用架构实践
-
目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
-
内容:
- L3.1 Agent模型框架
- L3.2 MetaGPT
- L3.3 ChatGLM
- L3.4 LLAMA
- L3.5 其他大模型介绍
阶段4:AI大模型私有化部署
-
目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
-
内容:
- L4.1 模型私有化部署概述
- L4.2 模型私有化部署的关键技术
- L4.3 模型私有化部署的实施步骤
- L4.4 模型私有化部署的应用场景
这份 LLM大模型资料
包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓