【论文阅读】A Survey on Knowledge-Oriented Retrieval-Augmented Generation(3)
代码地址:GitHub - USTCAGI/CRAG-in-KDD-Cup2024
【论文阅读】A Survey on Knowledge-Oriented Retrieval-Augmented Generation(1)-CSDN博客
【论文阅读】A Survey on Knowledge-Oriented Retrieval-Augmented Generation(2)-CSDN博客
接着上一篇博客,我们继续介绍这一篇综述。
6 高级 RAG 方法
高级 RAG 方法指的是超越基本 RAG 模型的技术手段,涵盖一系列前沿技术,旨在克服基础 RAG 系统的局限性。这些方法的目标是在多个维度提升 RAG 系统的能力,包括训练优化、多模态处理、记忆增强和智能体式推理等。具体而言,本节探讨四项关键进展:RAG 训练,致力于增强检索与生成之间的协同效果;多模态 RAG,通过融合多种感知模态以丰富输出;记忆型 RAG,引入长期记忆以改善上下文推理与个性化能力;以及智能体式 RAG,引入迭代和动态优化机制,以应对不断变化的信息需求。这些方法共同推动了 RAG 系统能力的边界,使其能够胜任更复杂、动态及专业化的任务。
6.1 RAG 训练
训练 RAG 模型的关键在于实现检索组件与生成组件的协同优化,以获得最佳性能。有效的训练策略应确保检索器能够提取相关信息,同时生成器能够产出连贯且准确的输出。本节回顾了多种 RAG 训练方法,包括静态训练、单向引导训练和协同训练,如图 8 所示。每种方法均具有独特的优势与挑战,影响 RAG 模型在不同应用场景中的适应性和有效性。通过探索这些训练范式,我们可以更好地融合检索与生成过程,进一步提升 RAG 的整体表现。
6.1.1 静态训练
静态优化训练是一种简单而有效的方法。在该方法中,训练过程中保持检索器或生成器中的一个组件固定,仅对另一个组件进行优化。这种方式在计算资源有限或需要快速部署的场景中特别有利。例如,在优化生成器的同时固定检索器,可以利用已建立的检索机制(如传统的 BM25 或预训练模型 BERT)而无需同时训练检索器,从而实现更快的训练周期和更低的资源消耗。然而,静态优化的主要缺点在于可能会影响系统的整体性能。由于仅优化了其中一个组件,检索与生成之间的协同效果可能无法完全实现,从而限制模型在特定任务或领域中的适应能力。为缓解这一问题,需谨慎选择固定组件并精心设计优化流程,确保可变组件能够有效利用固定组件提供的信息。
6.1.2 单向引导训练(Unidirectional Guided Training)
单向引导训练是一种具有方向性的优化策略,其中一个组件在训练过程中引导另一个组件的优化。该方法可分为两种主要类型:检索器引导的生成器训练 和 生成器引导的检索器训练。
检索器引导的生成器训练(Retriever-Guided Generator Training)
在此模式下,检索器在生成器训练中起关键引导作用。通过提供高质量的检索文档,生成器能够被微调以更好地整合和利用外部信息。例如,RETRO [23] 使用预训练的 BERT 模型作为检索器,为生成器提供增强输出的相关上下文。类似地,RALMs [264] 使用预训练的 COLBERTv2 检索器来微调大型语言模型(LLMs),从而提升生成器对检索数据的整合能力。ITER-RTGEN [217] 则使用 S-BERT 引导 T5 生成器的微调,确保生成文本与检索内容高度一致。此外,SMALLCAP [201] 集成了 CLIP 作为检索器,引导 GPT-2 生成准确且上下文相关的图像描述。该引导方法确保生成器持续获取高相关性的信息,从而提升生成内容的整体质量与相关性。
生成器引导的检索器训练(Generator-Guided Retriever Training)
相反,在生成器引导的训练中,优化重点在于根据生成器的性能和需求来调整检索器。在这种范式中,生成器生成连贯、准确文本的能力会影响检索器的信息选择过程。例如,DKRR [95] 借助生成器的注意力得分来微调检索器,提升其筛选最相关信息的能力;AAR [272] 使用小型语言模型生成监督信号,引导检索器训练,确保检索文档更好地满足生成器需求;RA-DIT [140] 在训练检索器前先微调大型语言模型,以增强两个组件之间的对齐与协同;此外,UPRISE [33] 使用冻结的 LLM 引导提示型检索器(prompt retriever)微调,提升其为生成器提供可有效利用的数据的能力。
这种双向作用机制促使检索器与生成器协同进化,打造出更加紧密集成、高效运行的 RAG 系统。
6.1.3 协同训练(Collaborative Training)
协同优化训练采用一种共同优化策略,在训练过程中同时优化检索器和生成器,以实现整个系统的最优性能。这种整体性方法确保一个组件的改进可以促进另一个组件的提升,形成一种协同增强的关系,从而最大化整个 RAG 系统的能力。
通过联合训练两个组件,系统能够更好地将相关文档的检索与准确连贯文本的生成对齐。
这一方法的代表性实现包括 RAG [126] 以及文献 [81] 的研究,这些方法采用联合训练范式,并结合最大内积搜索(MIPS)[53, 200] 有效优化检索过程。
该一体化训练方法使得检索器能够根据生成器的反馈不断提升其相关性评分能力,而生成器也在此过程中学会更有效地利用检索到的信息。其结果是一个更加稳健、具备高度适应性的 RAG 系统,能够以更高的准确性和流畅性应对各种任务和输入语境。
6.2 多模态 RAG(Multimodal RAG)
多模态 RAG 在传统基于文本的 RAG 系统基础上进行了扩展,引入了图像、音频、视频等多种模态。相较于仅处理文本的 RAG 系统,多模态 RAG 面临两大挑战:
首先,系统需要有效地表示和检索不同模态下的知识,这就要求采用复杂技术将多样的数据类型转换为统一的表示形式,并实现跨模态检索;
其次,在成功检索到多模态知识之后,系统还必须能够理解并综合这些不同模态的信息,从而生成合适的响应,这需要具备先进的多模态理解与生成技术。
本节将从这两个方面展开:多模态 RAG 系统如何表示和检索不同类型的信息,以及如何理解和整合这些多模态知识,以生成具有上下文语境的响应。
6.2.1 多模态表示与检索(Multimodal Representation and Retrieval)
多模态 RAG 系统的基础在于其跨模态表示与检索能力。这不仅要求使用高级嵌入模型将不同类型的数据转化为统一的向量表示,还需要设计专门的检索机制,以实现跨模态的高效搜索。
为解决这一核心问题,研究者们已提出多种方法:
不同模态的数据需要采用专门技术进行有效的表示与检索。例如:
-
视觉内容方面,NFNet [25] 和 Vision Transformer(ViT)[55] 等模型擅长提取丰富的视觉特征,而 CLIP [195] 则通过对比学习,将图像与文本映射到统一表示空间,革新了跨模态检索方式。
-
音频领域,如 Wav2Vec 2.0 [16] 能够直接从原始音频波形中学习鲁棒的表示,而 CLAP [247] 则通过音频与文本对齐,实现了复杂的音频检索能力。
-
视频内容由于其时间特性更加复杂,ViViT [9] 和 VideoPrism [281] 等模型能够提取空间与时间的动态特征,并将其压缩成紧凑的表示向量,以支持诸如视觉问答、时间定位等应用。
这些技术的发展推动了跨模态检索与应用的实现。尽管在文本嵌入模型如 BGE [130] 与 NV-Embed [124] 上已经取得了显著进展,将这些能力扩展到多模态数据仍是一项挑战。
此外,除了上述核心模态,代码、结构化数据、图结构信息等新兴数据类型也正在成为研究重点,它们需要更具针对性的表示与检索方法。未来,多模态 RAG 的发展关键之一,将是更复杂的跨模态检索技术的持续突破。
6.2.2 多模态理解与生成(Multimodal Understanding and Generation)
在有效的多模态表示与检索基础之上,多模态理解与生成能力是进一步增强 RAG 系统的重要方向。尽管表示与检索提供了访问多模态内容的能力,系统还必须能够进一步处理这些信息,理解跨模态间的关联,并生成连贯的输出。
传统的 RAG 系统主要为处理文本而设计,常常难以充分处理和生成涉及多模态内容的输出,导致在多模态信息关键时响应不完整或不准确。
现代多模态 RAG 系统通过复杂的集成方法,弥补了这一不足:
-
CLIP [195] 开创性地实现了视觉与语言之间的表示对齐,使得跨模态检索成为可能;
-
在此基础上,MuRAG [32] 支持同时检索图像与文本,从而提升问答系统的效果;
-
RA-CM3 [262] 更进一步,实现了文本与图像的联合检索与生成;
-
Transfusion [286] 展示了将语言建模与扩散机制(diffusion)融合的潜力,训练出既能理解又能生成多模态内容的统一 Transformer 模型;
-
Show-o [251] 结合了自回归建模与离散扩散建模,构建出统一 Transformer,支持广泛的视觉-语言任务,如视觉问答、文本生成图像、文本引导图像修复/扩展等;
-
VisRAG [268] 则结合视觉与文本信息,用于实现更全面的文档理解;
-
LA-RAG [135] 在语音处理方面取得突破,支持基于细粒度语音 token 的检索,有效提升语音理解与生成能力。
总之,这些技术的不断进步,正在使多模态 RAG 系统具备更强的跨模态理解与生成能力,从而在复杂信息环境中展现出更强的实用价值和灵活性。
6.3 记忆型 RAG(Memory RAG)
传统 RAG 系统主要依赖于两种极端的知识存储与访问方式:
一种是通过预训练嵌入在语言模型参数中的隐式记忆,另一种是直接检索并处理原始文本片段的工作记忆。
语言模型擅长在其参数中压缩存储通用知识,而传统 RAG 则依靠文本检索机制有效处理即时上下文。然而,这两者之间存在着关键的空白。
Memory RAG 正是通过引入“显式记忆”机制,弥合了这两种记忆形式之间的鸿沟,为系统提供了一个中间层的知识处理方式。
这种方法在需要长期理解的场景中尤其有价值,例如:
-
长文档阅读理解(如图书、技术文档等),可以维持文档结构与关键信息的层级表示;
-
个性化知识管理,可以持续、高效地存储并更新用户偏好和行为模式的压缩表示。
这种中间层方法的价值体现在:
与需要高成本重新训练的模型参数相比,它更易更新;
与直接处理原始文本的工作记忆相比,它计算更高效。
显式记忆提供了一种可更新、结构化的知识表示方式,兼具语义丰富性和操作效率。通过融合三种记忆机制,Memory RAG 构建了一个更完整的知识处理管道,兼顾速度、灵活性与智能性。
本节首先探讨三种不同类型的记忆及其互补角色,随后展示这些机制的技术实现如何提升 RAG 系统在信息处理方面的效率与可扩展性。
6.3.1 记忆类型(Types of Memory)
隐式记忆(Implicit Memory)
隐式记忆类似于人类的潜意识记忆,如骑自行车、盲打等技能——无法直接察觉却深植于大脑。
在 RAG 系统中,隐式记忆以模型参数中的预训练权重形式存在,涵盖了生成器和检索器中的全局知识与领域模式。这些知识在推理时频繁被调用,支持快速的生成与检索。
优点在于推理速度快,适用于通用知识的表达;
但缺点也很明显:获取成本高、更新困难、缺乏可解释性。更新隐式记忆通常需要对整个模型进行重新训练。
显式记忆(Explicit Memory)
显式记忆类似于人类对事实和经验的有意识回忆。
在 RAG 系统中,显式记忆表现为压缩、结构化的长期知识表示,可以捕捉信息源的高层理解内容。
不同于简单的文档检索,显式记忆存储的是抽象表示,比如:
-
对整本书的全面理解、
-
长期用户行为模式、
-
知识库的结构化摘要等。
这种介于模型参数与原始文本之间的中间形式,支持语义丰富且稳定的知识表达,同时具备可更新性。
显式记忆的最大优势是:它能够保留整体性理解,这是纯文本片段检索所无法实现的,同时比模型参数中的隐式记忆更加灵活。
工作记忆(Working Memory)
工作记忆类似于人类的短期记忆,用于当前任务的临时信息存储。
在 RAG 系统中,这体现为:
-
被检索到的文本片段,
-
最近对话历史,
-
中间计算结果等内容,
它们被纳入当前提示(prompt)窗口,用于指导当前生成任务。
就像人类在做复杂任务时短时间记住关键内容一样,RAG 的工作记忆临时存储相关片段,以支持即时推理。
其特征包括:
-
高频访问、
-
快速更新(每次任务都会刷新)、
-
临时性存储。
但也面临与人类类似的容量限制——受到计算资源和上下文窗口大小的约束,只能在有限空间内保留信息。提示中的检索文本就是模型进行信息处理与生成的“临时工作区”。
综上,Memory RAG 通过整合三种不同类型的记忆机制,构建了一个灵活、高效、可扩展的知识处理框架,极大提升了系统对复杂任务和长期知识的适应能力。
6.3.2 技术实现(Technical Implementation)
Memory RAG 的核心在于对显式记忆的实现,其主要形式是稀疏的键值(Key-Value)缓存结构,作为原始文本与模型参数之间的中间表示。
Memory RAG 将原始文本中的知识转化为更紧凑、结构化的显式记忆,通过键值缓存进行存储,并利用这些记忆引导和优化检索过程,减少对实时检索的依赖,从而提升系统效率。
该方法具备如下优势:
-
通过高效的内存管理降低计算成本;
-
通过存储并按需检索信息提升对长文本的处理能力;
-
通过结构化知识表示提升回答的准确性和可解释性。
Memory³ [258] 提出了一种逐步压缩机制,通过两阶段预训练过程将原始输入 token 转换为显式记忆:
-
预热阶段(Warmup Stage):不引入显式记忆,先训练模型具备基本的阅读理解能力;
-
持续训练阶段(Continual Train Stage):引入显式记忆,提升模型在生成过程中的记忆利用能力。
该方案特别强调内存稀疏化与存储优化,采用多种创新设计:
-
仅选择一半的注意力层作为“记忆层”;
-
使用分组查询注意力机制(grouped query attention)减少 key-value 头的数量;
-
token 级稀疏化策略,仅选择每个注意力头中最相关的 token 作为记忆项。
这些优化使得系统可以高效处理大规模知识库,并显著降低存储需求。
MemoRAG [91] 则采用了一种独特的双模块架构:
-
使用轻量但具备长距离建模能力的 LLM 作为全局记忆模块;
-
使用表达能力更强的 LLM 作为生成模块。
其全局记忆的形成过程如下:
-
通过多个注意力层处理输入序列;
-
保持先前记忆 token 的键值缓存(KV cache);
-
使用专用权重矩阵构建显式记忆;
-
将输入上下文与历史记忆进行交互,更新记忆 token,从而保留整个数据库中的关键信息。
此外,记忆模块还可生成“草稿答案”,作为检索线索,从而有效缩小搜索空间,提升检索精度。
该设计在处理模糊信息需求、分布式证据整合和信息聚合任务中表现尤为出色。
CAG(Cache-Augmented Generation)[26] 采取了更为激进的策略,彻底取消了实时检索流程:
-
不再在生成阶段执行检索,而是在生成前预先计算好所有相关文档的键值缓存;
-
在生成过程中直接调用这些缓存,无需再进行检索操作。
系统分为三个阶段运行:
-
外部知识预加载:对所有相关文档进行预处理,并格式化为键值缓存;
-
推理阶段:直接使用预加载缓存进行生成,无需检索;
-
缓存重置:在多轮对话中高效维护系统性能。
该方案尤其适用于知识库定义明确、规模可控的场景,能够在预处理阶段就构建完整的信息缓存。
通过直接访问缓存,CAG 不仅提升了响应速度,也保证了多轮交互中的稳定性能,同时因取消了检索与生成模块的耦合,显著降低了系统复杂性。
综上所述,Memory RAG 的技术实现重点在于构建灵活、高效、可更新的显式记忆机制,借助稀疏 KV 缓存和模块解耦策略,为 RAG 系统带来了更强的可扩展性与稳定性。
6.4 代理式 RAG(Agentic RAG)
Agentic RAG 是一种高级框架,将自主智能体(autonomous agents)与 RAG 技术相结合,显著提升信息检索与生成过程的智能化水平。
该策略通过引入基于智能体的决策机制,实现检索策略的动态管理,从而增强系统在复杂问题求解、知识管理和生成任务方面的能力。
在 Agentic RAG 中,智能体负责查询理解、工具调用与推理优化等关键功能。
6.4.1 查询理解与策略规划(Query Understanding & Strategy Planning)
查询理解与策略规划是 Agentic RAG 中至关重要的步骤,决定了用户意图能否被准确解析,并制定出合理的检索策略。
智能体会分析查询的复杂度和主题内容,以决定检索的优先级和方式。例如:
-
AT-RAG [202] 通过主题过滤与迭代式推理优化复杂多跳问题的检索效率与推理准确性;
-
REAPER [3] 引入了一种基于推理的检索规划器(retrieval planner),显著提升了系统在处理复杂查询时的表现。
这些方法表明,准确的查询理解可以为 Agentic RAG 提供更高效的检索路径和更合理的策略规划。
6.4.2 工具调用能力(Toolkit Utilization)
Agentic RAG 的一大亮点是其调用多种工具的能力。智能体不仅能使用传统搜索引擎,还能结合计算器、API 以及其他外部工具,提升其检索和推理能力。
例如:
-
AT-RAG [202] 集成多种工具,扩展了检索范围;
-
RAGENTIC [2] 借助多智能体协同机制和工具使用,解决了更加复杂的任务。
通过融合外部工具,Agentic RAG 系统能够灵活应对各种任务需求,显著增强其执行效率与适应能力。
6.4.3 推理与决策优化(Reasoning & Decision Optimization)
推理与决策优化是 Agentic RAG 的核心机制之一,它确保智能体能在不断变化的信息环境中做出最优决策。
通过推理,智能体可以:
-
评估多个信息源的可靠性;
-
执行多步推理;
-
根据推理结果动态优化检索策略。
例如:
-
PlanRAG [1] 采用“先规划再检索(plan-then-retrieve)”的方法,提升了生成式大型语言模型的决策能力;
-
REAPER [3] 通过增强基于推理的检索规划,提升了系统响应速度和检索效果。
这些决策优化技术不仅提升了检索准确率,也增强了系统应对复杂任务的整体能力。
综上所述,Agentic RAG 通过集成自主智能体,实现从查询理解到工具调用再到推理决策的全过程优化,使得 RAG 系统更具智能性、灵活性与扩展性,能够胜任更多动态复杂的信息生成与处理任务。