大模型的检索增强生成综述研究

人工智能咨询培训老师叶梓 转载标明出处

大模型(LLMs)在处理特定领域或知识密集型任务时,它们仍面临挑战,例如产生“幻觉”、知识过时以及推理过程不透明、难以追溯等问题。为了解决这些问题,检索增强生成(Retrieval-Augmented Generation, RAG)作为一种有前景的解决方案应运而生,它通过整合外部数据库的知识来增强模型的准确性和可信度。

本综述论文由来自同济大学上海智能自主系统研究所、复旦大学上海数据科学重点实验室以及同济大学设计创意学院的研究人员共同撰写。论文详细考察了RAG范式的进展,包括朴素RAG、高级RAG和模块化RAG。并分析了RAG框架的三个组成部分:检索、生成和增强技术。最后介绍了最新的评估框架和基准,并指出了当前面临的挑战和未来的研究方向。

想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具(限时免费)。

1小时实战课程,您将学习到如何轻松上手并有效利用 Llama Factory 来微调您的模型,以发挥其最大潜力。

CSDN教学平台录播地址:https://edu.csdn.net/course/detail/39987 

RAG范式进展

图1展示了RAG研究的技术发展树,包括预训练、微调和推理三个主要阶段。随着大模型(LLMs)的出现,RAG研究最初集中在利用LLMs强大的上下文学习能力,主要关注推理阶段。随后的研究逐渐深入,开始更多地与LLMs的微调技术相结合。研究者也在探索如何通过检索增强技术来增强预训练阶段的语言模型。

检索增强生成(RAG)是为了解决大模型在特定领域或知识密集型任务中遇到的挑战而提出的一种方法。这些挑战包括产生幻觉、知识过时以及推理过程不透明、难以追溯等问题。RAG通过从外部数据库检索相关知识来增强大模型的准确性和可信度,特别是在需要大量知识的复杂任务中。

图 2 展示了RAG应用于问答任务的一个典型实例。在这个例子中,用户向ChatGPT提出了一个关于最近广泛讨论的新闻的问题。由于ChatGPT依赖于预训练数据,它最初缺乏提供最新进展的能力。RAG通过从外部数据库中检索和整合知识来弥补这一信息差距。在这种情况下,它收集了与用户查询相关的新闻文章。这些文章与原始问题结合起来,形成了一个全面的提示,使大模型能够生成一个见多识广的答案。

RAG研究范式不断发展,我们将其分为三个阶段:朴素RAG、高级RAG和模块化RAG,如图 3 所示。尽管RAG方法成本效益高,并且超过了原生大模型的性能,但它们也表现出了一些局限性。高级RAG和模块化RAG的发展是为了解决朴素RAG中的这些特定缺陷。

朴素RAG

朴素RAG研究范式代表了最早的方法,它在ChatGPT广泛采用后不久就获得了显著地位。朴素RAG遵循包括索引、检索和生成在内的传统过程,这也被描述为“检索-阅读”框架。索引从清洗和提取不同格式(如PDF、HTML、Word和Markdown)的原始数据开始,然后将其转换为统一的纯文本格式。为了适应语言模型的上下文限制,文本被分割成更小、更易于消化的块。这些块随后使用嵌入模型编码成向量表示,并存储在向量数据库中。这一步骤对于在后续检索阶段进行高效的相似性搜索至关重要。

检索阶段在收到用户查询后开始,RAG系统使用与索引阶段相同的编码模型将查询转换为向量表示。然后它计算查询向量与索引语料库中块向量之间的相似度分数。系统优先检索与查询最相似的前K个块。这些块随后用作提示中的扩展上下文。

在生成阶段,所提出的问题和选定的文档被合成为一个连贯的提示,大模型负责制定回应。模型的回答方式可能会根据特定任务的标准而有所不同,允许它利用其固有的参数知识,或者将其回应限制在所提供文件中包含的信息之内。在进行中的对话中,任何现有的对话历史可以被整合到提示中,使模型能够有效地进行多轮对话互动。然而,朴素RAG也遇到了显著的挑战,包括检索挑战、生成困难和增强障碍。

高级RAG

高级RAG引入了特定的改进措施来克服朴素RAG的局限性。它专注于提高检索质量,采用了检索前和检索后策略。为了解决索引问题,高级RAG通过使用滑动窗口方法、细粒度分割和元数据整合来完善其索引技术。此外,它还采用了几种优化方法来简化检索过程。

检索前过程的主要关注点是优化索引结构和原始查询。优化索引的目标是提高被索引内容的质量。这涉及到增强数据粒度、优化索引结构、添加元数据、对齐优化和混合检索等策略。而查询优化的目标是使用户的原始问题更清晰、更适合检索任务。常见的方法包括查询重写、查询转换、查询扩展等技术。

检索后过程至关重要,一旦检索到相关上下文,就必须将其与查询有效整合。检索后过程的主要方法包括重新排列块和上下文压缩。重新排列检索到的信息,将最相关内容重新定位到提示的边缘,是一个关键策略。这一概念已在LlamaIndex、LangChain和HayStack等框架中得到实施。

模块化RAG

模块化RAG架构超越了前两个RAG范式,提供了增强的适应性和多功能性。它纳入了多种策略来改进其组件,如添加用于相似性搜索的搜索模块,并通过微调来完善检索器。模块化RAG方法的转变正在变得普遍,支持其组件的顺序处理和集成的端到端训练。尽管它具有独特性,但模块化RAG建立在高级和朴素RAG的基础原则上,展示了RAG家族内的进步和完善。

模块化RAG框架引入了额外的专业组件来增强检索和处理能力。搜索模块适应特定场景,使用大模型生成的代码和查询语言,直接在各种数据源(如搜索引擎、数据库和知识图谱)中进行搜索。RAGFusion通过采用多查询策略来解决传统搜索的局限性,将用户查询扩展到不同的视角,利用并行向量搜索和智能重新排名来发现显性和变革性知识。记忆模块利用大模型的记忆来指导检索,创建一个无界的记忆池,通过迭代自我增强使文本更紧密地与数据分布对齐。在RAG系统中进行路由,可以导航不同的数据源,为查询选择最佳路径,无论是涉及摘要、特定数据库搜索还是合并不同的信息流。预测模块旨在通过大模型直接生成上下文来减少冗余和噪声,确保相关性和准确性。最后,任

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人工智能大模型讲师培训咨询叶梓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值