【RAG综述系列】之 RAG 相关背景和基本原理

系列文章:

【RAG综述系列】之 RAG 相关背景和基本原理

【RAG综述系列】之 RAG 特点与挑战以及方法与评估

【RAG综述系列】之 RAG 先进方法与综合评估

【RAG综述系列】之 RAG 应用和未来方向


正文:

检索增强生成(Retrieval-Augmented Generation, RAG) 近年来因其能够结合大规模检索系统与生成模型,提高自然语言理解和生成能力而受到了广泛关注。RAG 充分利用外部知识源(如文档、数据库或结构化数据)来增强模型性能,使其生成更准确且上下文相关的输出。

本综述旨在提供对 RAG 的全面概述,深入分析其基本组件,包括检索机制、生成过程及二者的融合方式。讨论了 RAG 的关键特性,例如利用动态外部知识增强生成模型的能力,以及如何对齐检索到的信息与生成目标所面临的挑战。此外,提出了一种RAG 方法的分类体系,涵盖从基础的检索增强方法到结合多模态数据和推理能力的高级模型。

此外,还回顾了评估 RAG 系统的基准测试和常用数据集,并深入探讨了其在问答(QA)、摘要(Summarization)和信息检索(IR)等领域的应用。最后,总结了 RAG 领域的前沿研究方向和改进机会,包括提升检索效率、增强模型可解释性和优化特定领域的适应性。最终展望了 RAG 在应对真实世界挑战中的潜力,以及它在推动自然语言处理(NLP)进一步发展方面的重要作用。

1. 引言

检索增强生成(RAG)已成为一种关键方法,它将信息检索与生成式模型相结合,以增强自然语言处理任务的能力。通过利用外部知识源,RAG 系统能够生成更准确且上下文相关的输出,从而解决诸如问答、摘要和开放领域对话等领域的复杂挑战。近年来,各种 RAG 方法相继被提出,这些方法涵盖了从基本的检索增强模型到更高级的架构,包括多跳推理 和 增强记忆技术。这些发展突显了 RAG 在 NLP 领域的潜力,它能够在一个统一的框架内动态地结合检索和生成,以提升系统的整体表现。

RAG 模型通过在生成过程中引入外部知识源(如文档、数据库或结构化数据)来增强传统的语言模型。与仅依赖预训练参数的传统模型不同,RAG 系统在生成时动态检索相关信息,从而生成更加信息丰富且上下文准确的内容。这种方法克服了传统语言模型的关键局限性,例如:

  • 无法访问实时知识或特定领域知识,以及难以处理超出词汇表(OOV)或罕见实体。
  • 在问答任务中,RAG 模型会从海量语料库中检索相关段落,以生成更精准且信息更丰富的答案;
  • 在文本摘要任务中,RAG 依赖外部文档生成更具深度和完整性的摘要。

RAG 在早期的成功实践已经显著提升了多个 NLP 任务的效果,例如在开放域问答中,RAG 通过引入相关的外部上下文,超越了传统的生成模型;在基于文档的摘要任务中,它能够生成更贴合原始材料细微差别的摘要。

RAG 的核心是一种以知识为中心的生成方式,即将外部知识作为提升语言生成能力的关键因素。通过结合相关、实时且结构化的信息,RAG 模型能够显著提高其生成上下文精准且事实准确的能力。这种知识驱动的生成方式有效解决了传统语言模型的核心局限——传统模型受限于其训练数据,无法获取动态知识或特定领域知识。RAG 通过集成外部知识,不仅能够检索并融合相关信息,还能在多条信息之间进行推理,从而生成更具细节和深度的输出。这一向知识增强方向的转变使得模型能够处理更复杂的任务,例如:掌握专业领域知识,提高对话系统的回复相关性,以及生成高质量的摘要,使其更能体现原始文本的核心要点。通过将知识融入生成过程,RAG 为那些需要高精度和强上下文感知能力的应用打开了新的可能性。

尽管检索增强生成已经取得了令人瞩目的进展,但仍然存在多个挑战,阻碍了该方法的充分发挥。

  • 知识选择(knowledge selection)是主要问题之一,即模型必须从海量的外部资源中有效筛选出最相关的信息。这一任务极具挑战性,主要因为现实世界的知识库规模庞大、信息噪声大且内容多样。
  • 另一个关键挑战是知识检索(knowledge retrieval),即在生成时检索到正确的信息,同时在检索效率和相关性之间取得平衡。当前的检索技术仍然难以精准匹配查询与知识源,尤其是在高度专业化或存在歧义的场景下。
  • 此外,知识增强的上下文推理(knowledge-enhanced in-context reasoning) 也是一个重要难题,模型不仅要检索到相关知识,还需要有效整合并推理,以确保生成内容的逻辑性和上下文适配性。

这些挑战凸显了 RAG 领域仍然需要更深入的研究,以及更优化的方法论。因此,对 RAG 进行全面的调研至关重要,这不仅有助于总结当前的局限性,也能为未来的发展方向提供指导。

本次调研的主要目标是从知识驱动的视角,全面梳理 RAG 的发展。通过聚焦外部知识与生成过程的融合,希望回顾RAG 领域的最新进展,包括模型、方法和技术。将介绍近年来涌现的关键 RAG 模型,以及用于检索和生成的核心方法,并分析这些方法如何解决知识选择、知识检索和上下文推理的挑战。此外,还希望挖掘当前研究的趋势,并识别尚未深入探索的领域,例如:多模态知识整合和 特定领域应用。调研的独特贡献在于其以知识为核心的视角,提供了一个统一的框架来理解和推进 RAG 研究。本调研的目标读者包括研究人员、工程师和行业从业者,他们希望探索 RAG 在各种 NLP 任务中的应用。随着该领域的快速演进,本调研不仅是一个基础资源,也将成为未来研究的指南,提供对当前挑战和创新机会的深入分析。

2. RAG 背景概述

本节旨在为理解 RAG(检索增强生成,Retrieval-Augmented Generation)提供必要的背景知识。我们首先回溯 RAG 的起源,梳理其从正式提出到逐步发展的演变历程。随后,我们对现有的相关综述进行分析,归纳它们的研究重点与局限性,以此明确本综述在当前研究格局中的定位与贡献。

2.1 RAG 的起源

随着语言模型的不断演进,研究人员开始探索如何通过引入检索机制来提升文本生成的质量。然而,在早期阶段,这一方法尚未形成明确的术语定义。直到 2020 年,Facebook 正式提出 RAG 概念,并成功将其应用于知识密集型任务。RAG 通过引入外部知识检索机制,显著增强了生成模型的能力,在问答和文本理解等任务中展现出卓越的性能。同一时期,Google 也推出了 REALM,采用类似的检索增强方法。REALM 在预训练阶段集成了隐式知识检索模块,在开放域问答任务上取得了显著进展,并在当时达到了最先进水平。

自此,RAG 逐渐受到学术界的广泛关注,并因其相较于传统生成模型的独特优势,成为研究热点。RAG 的核心机制在于结合检索与生成,使得模型能够在处理复杂推理任务时,动态访问外部知识库中的相关信息,从而提升生成内容的准确性与信息丰富度。这一范式的转变,标志着自然语言处理(NLP)领域的一次重要革新——模型不再仅仅依赖内部参数,而是能够高效利用海量的外部知识资源。如图 1 所示,自 2020 年起,研究人员陆续探索了 RAG 在不同方向上的应用,而 2022 年底 ChatGPT 的发布,更是引发了该领域的指数级增长。大量研究纷纷涌现,致力于通过检索增强策略进一步提升大型语言模型的能力。这些持续的研究进展,正在深刻塑造现代 NLP 的技术格局。

图1:一个用于组织 RAG 研究工作的框架。时间轴从 2020 年至今,将与 RAG 相关的研究分为三个主要领域:基础(包括 RAG 学习和 RAG 框架)、高级和评估。语言模型的关键里程碑(如 GPT-3、ChatGPT、GPT-4)也在时间轴上标注。

2.2 相关综述

伴随着生成式 AI,尤其是 RAG 技术的蓬勃发展,众多综述文章相继问世。然而,这些综述往往仅聚焦于 RAG 的特定方面。例如,它们要么专注于 RAG 的基础概念,要么仅在有限场景下概述 RAG 的增强方法。大多数现有研究都围绕文本生成任务,探讨如何利用大型语言模型进行检索增强,而对其他模态的 RAG 研究涉及较少。

《A Survey on Retrieval-Augmented Text Generation》这篇论文的综述提供了 RAG 的基本概览,并探讨了其在文本生成任务中的具体应用。《A Survey on RAG Meeting LLMs: Towards Retrieval-Augmented Large Language Models》、《Retrieval-Augmented Generation for Large Language Models: A Survey》和《Less is More: Making Smaller Language Models Competent Subgraph Retrievers for Multi-hop KGQA》 几篇论文则从大型语言模型的角度研究了 RAG,重点分析了面向查询的 RAG 增强方法。《Retrieval-Augmented Generation for Natural Language Processing: A Survey》深入剖析了 RAG 在检索技术中的关键发展,并介绍了其在自然语言处理任务中的广泛应用。此外,一些研究尝试从更广义的角度探讨 RAG。《Retrieving Multimodal Information for Augmented Generation: A Survey》和《Retrieval-Augmented Generation for AI-Generated Content: A Survey》的最新研究将 RAG 扩展至多模态场景,探索其在 AI 生成内容(AIGC)领域的技术和应用。《Graph Retrieval-Augmented Generation: A Survey》 的研究则利用图结构信息优化 RAG 的检索过程,以增强关系知识的获取能力,并提升模型生成上下文感知的内容。

除了对 RAG 技术本身的研究,近年来学界也日益关注 RAG 系统的评估问题。《Evaluation of Retrieval-Augmented Generation: A Survey》 的综述文章深入探讨了 RAG 评估的挑战,提出了一套综合性的评估框架,并系统分析了现有基准测试的优势与局限性。

尽管已有诸多综述覆盖了 RAG 的多个方面,但目前仍然缺乏一篇全面的综述,能够系统性地整合 RAG 的基础理论、增强方法及其跨领域应用。此外,现有综述普遍忽视了 RAG 的核心价值——知识的有效利用。为填补这一空白,本文从知识利用的视角出发,系统性地梳理和探讨 RAG 技术的发展现状与未来趋势。

3. RAG 基本原理

检索增强生成(Retrieval-Augmented Generation,RAG)作为一种强大的范式,结合了大型语言模型(LLMs)的内部知识与外部知识,以提升文本生成的质量。通过在生成流程中集成检索机制,RAG 解决了传统序列到序列(sequence-to-sequence)框架的局限性,尤其在需要丰富领域知识的任务场景中表现突出。本节将对 RAG 进行全面概述,并探讨其核心组成部分:从外部知识源进行检索、结合内部与外部知识进行生成,以及贯穿其中的关键知识融合过程。

图2:RAG 框架,该框架由三个主要组成部分构成:(1) 由 LLM 利用其内部知识处理查询;(2) 根据查询检索外部知识;(3) 通过知识融合,将内部知识与外部知识结合,以生成最终答案。

3.1 问题定义

大多数生成任务可以抽象为一个输入序列 x 到输出序列 y 的转换过程,即:

y=f(x)

然而,这一基本框架可能因信息不足或上下文需求复杂而受到限制。RAG 通过引入检索组件来弥补这一不足,使输入信息能够得到相关外部知识的补充。具体而言,检索函数 g 从外部知识库中提取相关信息 z 作为补充:

z=g(x)

随后,生成函数 f 结合原始输入序列 x 与检索到的上下文信息 z 以生成最终输出:

y=f(x,z)=f(x,g(x))

这一增强框架利用外部知识提升生成质量,尤其适用于需要复杂上下文理解的任务,如机器翻译和视觉问答(VQA)。

3.2 检索(Retrieval)

在大型语言模型(LLMs)背景下,RAG 的检索过程旨在从外部来源提供有用的知识。这些知识可能涵盖多种模态,包括文本、图像、视频、音频、代码、表格等。相应地,存储格式也多种多样,从简单的文本文件到复杂的数据库和搜索引擎不等。此外,知识结构具有异构性,可能以非结构化的纯文本、半结构化的 HTML 数据或结构化的图数据等形式存在。无论知识的模态、存储格式或结构如何,所有从外部知识库中获取相关信息的过程都可视为检索。

3.3 生成(Generation)

在生成过程中,生成模型结合内部和外部知识,将输入转换为连贯且相关的输出。无论数据格式或具体任务如何,生成阶段的核心在于 “去噪(Denoising)” 和 “推理(Reasoning)” 。

  • 去噪(Denoising) 侧重于从检索到的知识中筛除无关或相互矛盾的信息,确保仅有可靠且相关的知识影响生成过程。
  • 推理(Reasoning) 则使模型能够有效整合来自多个来源的信息,建立逻辑联系,并生成有据可依的输出。

通过对检索信息的有效 去噪,以及对多个知识来源的深入 推理,生成模型能够在处理复杂任务的同时,保持输出的准确性与连贯性。

3.4 知识融合(Knowledge Integration)

知识融合(Knowledge Integration),在 RAG 语境下通常称为增强(Augmentation),是将 LLMs 的内部知识与检索到的外部知识进行整合的关键过程。这种 神经-符号融合(Neural-Symbolic Integration) 主要可以通过以下三种方式实现:

  1. 输入层融合(Input-Layer Integration):将检索到的文档直接与原始查询拼接,然后输入模型,使查询与外部知识能够同时被处理。
  2. 输出层融合(Output-Layer Integration):在输出 logits 层结合检索到的知识,以调整模型的最终预测结果,特别适用于提高输出准确性的任务。
  3. 中间层融合(Intermediate-Layer Integration):在生成过程中,将外部知识整合到模型的隐藏状态中,从而实现内部知识与外部知识表示之间的更细粒度交互。

每种融合策略各具优势,可根据具体任务需求和计算资源限制进行选择。

总结

目前文章中回顾了 RAG 的基础概念,并分析当前模型所面临的关键挑战,为理解外部知识与语言生成的融合奠定基础。同时,深入探讨 RAG 的核心原理,详细介绍知识检索、整合和生成的流程。后续会进一步探讨前文提到的知识选择、检索效率及上下文推理等挑战,并分析其复杂性。还有介绍 RAG 的各种方法,包括传统的基于检索的模型,以及更高级的多模态方法,这些方法引入了更强的推理能力和记忆机制。并分析评估 RAG 系统的标准和数据集,并批判性地回顾现有的评测方法与指标。

本文原文为论文《A Survey on Knowledge-Oriented Retrieval-Augmented Generation》的解读。论文链接:A Survey on Knowledge-Oriented Retrieval-Augmented Generation

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

德昂观点:如何看待MicroStrategy改名为Strategy?

2025年2月,纳斯达克上市公司MicroStrategy(股票代码:MSTR)宣布更名为“Strategy”,并同步启用全新品牌标识与橙色主视觉。这不仅是品牌形象的更新,更是公司战略方向的明确宣示。德昂作为MSTR中国区BI合作伙…

计算机视觉算法实战——手术导航:技术、应用与未来

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​​​ ​​​​​​​​​ ​​ 1. 手术导航中的计算机视觉:领域介绍 计算机视觉在手术导航领域的应用代表了现代医学与人工智…

Java全栈面试宝典:内存模型与Spring设计模式深度解析

目录 一、JVM内存模型进阶篇 🔥 问题13:堆与栈的六大维度对比 内存结构对比图 核心差异对照表 🔥 问题14:三区联动内存模型解析 代码内存分配图解 三区协作流程图 二、Spring设计模式全景解析 🌟 Spring框架七…

FALL靶场通关攻略

1,下载好靶机后打开,通过kali扫描靶机ip和端口,得到靶机ip为192.168.50.144 2,扫描目录 3,访问靶机 4,访问扫描到的test.php,得到缺少GET请求参数的提示 5,使用FUZZ来扫出参数为file 6&#xff…

《C++11:bind绑定器与function包装器》

CSTL中提供了bind1绑定器,通常与函数对象一起使用。 函数对象是重载了operator()函数的对象。 将二元函数对象operator()的第一个参数绑定为固定的x来构造一元函数对象。返回绑定了第一个参数的函数对象。 将二元函数…

JS 防抖与节流

防抖 核心思想:延迟执行,只有在事件触发的频率降低到一定程度后才会执行,而且如果事件持续触发,之前地所有执行都会被取消。 有的操作是高频触发的,但是其实只需要一次触发。比如短时间内多次缩放页面resize&#xff0…

【C/C++算法】从浅到深学习--- 简单模拟算法(图文兼备 + 源码详解)

绪论:冲击蓝桥杯一起加油!! 每日激励:“不设限和自我肯定的心态:I can do all things。 — Stephen Curry” 绪论​: 本篇是一些简单的模拟算法,其中模拟的本质就是就是根据题目意思进行代码的…

​​解锁 JavaScript DOM:节点操作的核心方法与最佳实践

引言 在当今动态化的 Web 世界中,用户早已不满足于静态的网页展示,而是期待流畅的交互体验——点击按钮弹出菜单、滚动页面加载数据、实时搜索过滤内容……这些功能的背后,都离不开 ​JavaScript DOM(文档对象模型)操…

Android 12系统源码_系统启动(二)Zygote进程

前言 Zygote(意为“受精卵”)是 Android 系统中的一个核心进程,负责 孵化(fork)应用进程,以优化应用启动速度和内存占用。它是 Android 系统启动后第一个由 init 进程启动的 Java 进程,后续所有…

精华贴分享|从不同的交易理论来理解头肩形态,殊途同归

本文来源于量化小论坛策略分享会板块精华帖,作者为孙小迪,发布于2025年2月17日。 以下为精华帖正文: 01 前言 学习了一段时间交易后,我发现在几百年的历史中,不同门派的交易理论对同一种市场特征的称呼不一样&#x…

C++智能指针万字详细讲解(包含智能指针的模拟实现)

在笔试,面试中智能指针经常出现,如果你对智能指针的作用,原理,用法不了解,那么可以看看这篇博客讲解,此外本博客还简单模拟实现了各种指针,在本篇的最后还应对面试题对智能指针的知识点进行了拓…

学习threejs,使用多面体(IcosahedronGeometry、TetrahedronGeometry、OctahedronGeometry等)

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.PolyhedronGeometry …

DeepSeek详解:探索下一代语言模型

文章目录 前言一、什么是DeepSeek二、DeepSeek核心技术2.1 Transformer架构2.1.1 自注意力机制 (Self-Attention Mechanism)(a) 核心思想(b) 计算过程(c) 代码实现 2.1.2 多头注意力 (Multi-Head Attention)(a) 核心思想(b) 工作原理(c) 数学描述(d) 代码实现 2.1.3 位置编码 (…

【目标检测】【深度学习】【Pytorch版本】YOLOV1模型算法详解

【目标检测】【深度学习】【Pytorch版本】YOLOV1模型算法详解 文章目录 【目标检测】【深度学习】【Pytorch版本】YOLOV1模型算法详解前言YOLOV1的模型结构YOLOV1模型的基本执行流程YOLOV1模型的网络参数YOLOV1模型的训练方式 YOLOV1的核心思想前向传播阶段网格单元(grid cell)…

网络运维学习笔记(DeepSeek优化版) 022 HCIP-Datacom路由概念、BFD协议详解与OSPF第一课

文章目录 路由概念、BFD协议详解与OSPF第一课一、路由协议优先级与选路原则1.1 路由协议优先级对照表1.2 路由选路核心原则 二、BFD(Bidirectional Forwarding Detection,双向转发检测)的配置与应用2.1 双向心跳探测(双端配置&…

单应性矩阵(homography)

利用单应性矩阵计算内外参矩阵 利用单应性矩阵解决问题 问题描述:

Scavenge算法的优缺点问题

Scavenge 的缺点是只能使用堆内存中的一半,这是由划分空间和复制机制所决定的。但 Scavenge 由于只复制存活的对象,并且对于生命周期短的场景,存活对象只占少部分,所以它在时间效率上有优异的表现。 由于 Scavenge 是典型的牺牲空…

丝杆支撑座间隙调整不当会带来哪些影响?

丝杆支撑座是一种用于支撑滚珠丝杆的零件,通常用于机床、数控机床、自动化生产线等高精度机械设备中。支撑座间隙调整不当会对机械设备的运行产生多方面的影响,接下来一起了解一下: 1、降低加工精度:在机械加工设备中,…

Unity:EasyRoad3D插件学习 二期

前言: 书接上回。 一、场景视图状态: 创建好道路以后,切换到第一个选项,场景视图状态,查看道路信息,Main Settings修改道路名称、类型,宽度,是否闭环。 RoadWidth改为15&#xff…

内网渗透-DLL和C语言加载木马

免杀进阶技术 1、DLL的定义与使用 DLL:Dynamic Link library,动态链接库,是一个无法自己运行,需要额外的命令或程序来对其接口进行调用(类方法、函数)。 (1)在DevCpp中创建一个DLL项目 (2)在dllmain.c中定义源代码函数接口 #i…