RAG发展图谱:从基础检索到记忆增强,再到自适应RAG的五大范式 | RAG最新综述
为什么RAG是AI领域最重要的突破之一
RAG发展时间线
RAG工作发展时间线(2020年至今)。展示了RAG相关研究的三个主要领域:基础(包括RAG学习和RAG框架)、进阶和评估。关键的语言模型(GPT-3、GPT-4等)发展节点标注在时间线上。
在人工智能发展的历程中,我们一直在追寻一个目标:让AI系统能够像人类一样,灵活地获取、理解和运用知识。传统的大语言模型(LLM)虽然强大,但它们的知识都是静态的,被锁在训练时的参数里。而检索增强生成(Retrieval-Augmented Generation,RAG)技术的出现,让AI获得了"随时查阅资料"的能力。这就像是把一个"死记硬背"的学生,变成了一个"会查资料"的研究者。本文(arXiv:2503.10677v2)将带你深入了解RAG技术的核心机制和具体方法,帮助你在实际开发中更好地运用这项革命性的技术。
RAG的三大核心组件:检索、生成与集成
RAG框架概述。包含三个主要组件:(1)查询由LLM处理及其内部知识;(2)基于查询检索外部知识;(3)知识集成将内部和外部知识结合生成最终答案。
1. 知识检索:多种检索策略解析
知识检索模型对比
知识检索模型对比。包括稀疏检索、密集检索、混合检索等不同策略,以及相应的模型实现和是否使用深度学习。
检索是RAG系统的第一道关卡,它决定了系统能否找到真正相关的信息。不同于简单的关键词匹配,现代RAG系统采用了多种先进的检索策略,主要包括以下几类:
1.1 稀疏检索
稀疏检索以关键词和词频为基础,使用如BM25等经典算法计算文档与查询的相似度。其特点是计算速度快,不需要大量标注数据训练,但语义理解能力有限。在工程实践中,开发者常用Elasticsearch或Solr这类成熟的搜索引擎来实现稀疏检索。这种方法特别适合处理专业术语或罕见词汇,因为它们往往在文档中只出现少数几次,但权重却很高。
1.2 密集检索
密集检索使用神经网络将文本映射到低维向量空间,通过计算向量相似度来判断文本相关性。代表性的模型包括DPR(Dense Passage Retriever)和REALM等。在工程实践中,这一过程通常分为两步:首先使用双塔结构(Bi-Encoder)快速筛选出候选文档,然后使用交叉编码器(Cross-Encoder)进行更精确的重排序。密集检索的关键在于向量表示的质量,现代系统通常采用对比学习或监督微调来优化表示。
1.3 混合检索
混合检索结合了稀疏检索和密集检索的优势,例如ColBERT模型引入了后期交互机制,在保持效率的同时提升了检索的精确度。其技术创新包括:
- 延迟交互架构:使用细粒度的词元级别表示
- 通过最大相似度运算进行词元匹配
- 实现查询和文档表示的高效压缩
1.4 多阶段检索
多阶段检索采用"粗检索+精排序"的策略,例如RocketQA使用了多阶段训练和负样本挖掘技术。具体包括:
- 动态负样本挖掘:维护全局文档表示的异步更新队列
- 使用当前模型对文档进行实时编码
- 选择最具挑战性的负样本进行训练
2. 知识生成:从简单拼接到深度理解
RAG使用的答案生成策略,包括显式去噪、基于判别的去噪、自反思和自适应去噪、上下文过滤等方法,以及结构化知识推理、多文档推理等技术。
生成是RAG系统的第二个关键组件,不同的RAG方法采用了不同的生成策略。根据生成控制的紧密程度,我们可以将其分为以下几类:
2.1 拼接式生成
最直接的方法是将检索结果作为上下文直接拼接到输入中,让语言模型基于此生成回答。经典模型如RAG-Sequence和REALM采用了这种方法。它的优点是实现简单,可以直接使用现有的语言模型架构,但缺点是可能因为输入长度限制而丢失重要信息。
2.2 引导式生成
引导式生成使用特殊的提示词或示例来引导模型如何使用检索到的知识。例如,Chain-of-Thought RAG通过多步思考过程引导模型进行推理;Self-RAG则让模型自行判断何时需要检索知识。引导式生成的关键是设计有效的提示策略,使模型能够正确地整合和应用检索到的知识。
2.3 降噪式生成
降噪式生成会过滤检索结果中的噪声信息,主要包括四种机制:
- 显式降噪:通过规则过滤和模式匹配去除明显的噪声信息
- 判别式降噪:利用预训练模型评估和筛选检索结果
- 自反思与自适应降噪:系统自动评估和调整生成策略
- 上下文过滤与置信度评分:基于上下文相关性进行内容筛选
2.4 推理式生成
推理式生成能够基于检索到的信息进行复杂的推理,例如:
- 结构化知识与图推理:利用知识图谱进行逻辑推理
- 多文档交叉注意力:融合多个文档的信息进行综合推理
- 记忆增强推理:结合历史信息进行深度推理
- 检索校准与迭代推理:通过多轮检索和推理提升答案质量
3. 知识集成:多层次的融合机制
RAG训练方法包括静态训练、单向引导训练和协作训练。图示展示了检索器和生成器之间的不同交互方式。
知识集成是RAG系统最具技术挑战性的部分,根据集成的深度和方式,可以分为以下几种方法:
3.1 输入层集成
输入层集成是最直接的方式,将检索到的文本直接作为模型的输入。典型实现如RAG-Sequence和REALM,它们将检索结果与原始查询拼接后输入语言模型。这种方式的特点是:
- 实现简单,容易部署
- 可以直接使用现有的语言模型
- 但可能受到输入长度限制
- 对噪声信息较敏感
3.2 中间层集成
中间层集成在模型的内部层进行知识融合,例如RETRO和FiD模型。它们的主要特点是:
- 使用注意力机制实现查询与知识的深度交互
- 可以处理更多的检索文档
- 能够更精确地利用相关信息
- 但需要特殊的模型架构设计
3.3 输出层集成
输出层集成在生成过程中动态使用检索知识,如Atlas和REALM-Doc模型。其特点包括:
- 可以动态决定何时使用检索知识
- 更灵活的生成控制
- 支持多轮交互式生成
- 但实现复杂度高,训练难度大
3.4 集成策略的训练方法
根据检索器和生成器之间的交互方式,RAG的训练策略可以分为三种主要类型:
1. 静态训练(Static Training):
- 检索器和生成器独立训练,互不影响
- 检索器基于预定义的相关性标签进行优化
- 生成器使用固定的检索结果进行训练
- 优点:训练流程简单,实现相对容易
- 缺点:组件间缺乏协同优化,可能存在不一致
2. 单向引导训练(Unidirectional Guided Training):
- 生成器的反馈用于指导检索器的优化
- 检索器根据生成质量动态调整检索策略
- 实现检索-生成的联合优化
- 优点:能够提升检索质量,改善生成效果
- 缺点:优化过程可能不稳定,需要精细调优
3. 协作训练(Collaborative Training):
- 检索器和生成器实现双向交互和反馈
- 两个组件共同优化,追求整体效果
- 支持端到端的联合训练
- 优点:可以达到最佳的系统整体性能
- 缺点:训练复杂度高,对计算资源要求大
RAG的进阶架构:五大技术范式
RAG的基本目标和组成,包括精确的用户意图理解、准确的知识检索、无缝的知识集成、优质的答案生成和全面的RAG评估。
随着研究的深入,RAG技术已发展出多种高级架构。这些架构代表了RAG技术的不同发展方向,各有侧重点。
1. 基础检索增强范式
基本RAG方法,包括多源知识处理、嵌入、索引、检索和生成等核心流程。展示了从查询理解到最终答案生成的完整技术链路。
基础检索增强范式是RAG技术的基石,通过将检索系统与生成模型紧密结合,实现了知识驱动的生成能力。其核心架构包括:
1.1 查询理解与处理
- 查询意图分析:使用意图识别模型理解用户真正想要的信息
- 查询重写优化:通过同义词扩展、实体识别等技术增强查询表达
- 上下文理解:考虑多轮对话历史,把握完整语境
1.2 知识检索机制
- 向量检索引擎:使用HNSW或IVF等高效索引算法加速检索
- 混合排序策略:结合BM25词频统计和向量余弦相似度的混合排序
- 动态更新机制:支持实时的知识库更新和索引刷新
1.3 生成控制策略
- 提示词工程:设计高效的提示模板引导模型生成
- 上下文组装:优化检索结果与原始查询的组合方式
- 质量控制:实现基于规则和模型的输出质量评估
基础检索增强范式的代表模型包括原始的RAG-Sequence、RAG-Token和后来的REALM、DPR等,它们奠定了检索增强生成的理论基础。
2. 记忆增强范式
记忆增强范式通过引入外部记忆组件,突破了传统RAG系统在知识持久化方面的限制。这一范式特别关注如何有效地存储、更新和利用历史知识,使系统能够在多轮交互中保持知识的连贯性和一致性。
2.1 记忆表示学习
- 向量化表示:将知识高效编码为向量形式
- 关系建模:捕捉知识间的内在关联
- 时序特征提取:保留知识的时间属性和变化规律
2.2 记忆检索优化
- 多级缓存设计:实现快速、中速和慢速记忆的分层访问
- 注意力机制:动态关注最相关的记忆片段
- 相关性计算:结合语义、时序和频率因素评估记忆相关性
2.3 记忆管理策略
- 存储压缩:使用知识蒸馏和低秩分解减少存储需求
- 更新调度:实现基于重要性的差异化更新策略
- 清理机制:自动识别和移除过时或冗余的知识
代表模型包括RETRO、Memorizing Transformer和RecurrentGPT,它们通过引入外部记忆组件,大幅提高了模型处理长文本和多轮对话的能力。
3. 多模态融合范式
多模态融合范式打破了传统RAG主要处理文本的局限,扩展到图像、音频、视频等多种模态。这种范式特别适合处理需要跨模态理解的复杂任务。
3.1 多模态表示学习
- 统一编码框架:使用如CLIP、ALIGN等模型构建跨模态表示空间
- 模态对齐技术:通过对比学习实现不同模态的语义对齐
- 多粒度特征提取:从像素级到语义级的多层次特征表示
3.2 多模态检索优化
- 跨模态索引结构:支持图像、视频、音频等多种模态的联合检索
- 模态特定排序:根据不同模态的特点采用差异化的相似度计算
- 多模态重排序:综合考虑各模态证据进行结果优化
3.3 跨模态生成控制
- 视觉引导文本生成:使用图像内容控制文本输出
- 文本引导视觉生成:基于文本描述生成或修改视觉内容
- 多模态一致性保证:确保跨模态输出的语义协调
代表工作包括CLIP-as-service、PaLM-E和Flamingo等,它们实现了文本、图像甚至视频之间的无缝融合,大幅拓展了RAG的应用场景。
4. 知识增强范式
知识增强范式通过引入结构化知识,如知识图谱、本体和规则库等,增强了RAG系统的推理能力和知识理解深度。
4.1 知识表示与获取
- 知识抽取:从非结构化文本中提取实体、关系和事件
- 知识组织:构建知识图谱、本体和知识库
- 知识更新:实现知识的动态扩充和修正
4.2 知识推理机制
- 路径推理:基于知识图谱的多跳推理
- 规则推理:结合符号逻辑规则进行推导
- 概率推理:处理知识的不确定性和模糊性
4.3 知识与语言模型融合
- 知识引导注意力:使用知识结构指导模型关注重点
- 知识约束生成:确保输出符合知识规范和限制
- 知识解释生成:基于知识提供可解释的推理过程
代表工作包括KG-BART、ERNIE和K-BERT等,它们通过整合结构化知识,实现了更深层次的语义理解和推理能力。
5. 自适应RAG范式
自适应RAG范式代表了RAG技术的最新发展方向,它赋予系统自主决策和学习能力,能够根据任务需求动态选择最优的检索和生成策略。
5.1 策略学习与优化
- 强化学习框架:通过奖励信号优化检索-生成策略
- 元学习机制:快速适应新任务和领域
- 自适应采样:智能调整采样策略和采样深度
5.2 检索决策与控制
- 检索必要性判断:智能决定是否需要检索外部知识
- 查询生成与改写:根据上下文动态生成最优查询
- 多步骤推理规划:设计复杂推理路径解决困难问题
5.3 自评估与持续改进
- 输出质量自评估:系统自动判断生成质量
- 错误检测与修正:识别并纠正推理或事实错误
- 主动学习机制:从交互中不断优化系统性能
代表工作包括Self-RAG、Active-RAG和ReAct等,它们将RAG系统从被动的知识获取工具提升为具有决策能力的智能代理。
RAG的专业领域适配:从通用到垂直
虽然通用RAG系统已经表现出色,但在专业领域中,RAG需要特殊的适配才能发挥最佳性能。下面介绍几个重要的垂直领域适配方法:
1. 专业领域知识优化
专业领域通常有其特有的术语、概念和知识体系,需要针对性地优化RAG系统。
1.1 领域知识建模
- 专业词表构建:收集和整理领域特有的术语和表达
- 专业向量空间:训练特定领域的词向量和文本表示
- 领域知识图谱:构建反映领域知识结构的图谱
1.2 领域检索优化
- 专业词向量:使用领域数据训练特化的向量表示
- 领域特征:设计捕捉专业特征的相似度计算方法
- 知识推理:结合领域规则进行专业推理
1.3 专业生成控制
- 规范模板:按照领域标准格式生成内容
- 专业校验:确保输出符合领域准确性要求
代表性工作包括医疗领域的Med-PALM、法律领域的LegalRAG和金融领域的FinRAG等,它们通过深度领域适配,大幅提升了在垂直领域的表现。
2. 多源知识融合
RAG利用的多样化知识类型,包括结构化知识(知识图谱、表格)、半结构化知识(网页)、非结构化知识(PDF、文本)和多模态知识(音频、视频、图像)。
实际应用中,知识往往分散在多种不同的源中,需要有效的融合策略。
2.1 异构数据源集成
- 文档库接入:支持PDF、Word、HTML等多种文档格式
- 数据库连接:与SQL、NoSQL等各类数据库系统对接
- API调用集成:实时获取外部系统和服务的数据
2.2 知识一致性保障
- 冲突检测:识别不同来源知识间的矛盾
- 可信度评估:基于来源可靠性和时效性评估知识质量
- 知识融合:整合多源信息形成一致的知识视图
2.3 源感知生成
- 来源标注:在生成过程中保留知识来源信息
- 不确定性表达:适当表达知识的确定程度
- 差异性展示:呈现不同来源的知识差异
这种多源融合技术在企业内部知识管理、智能客服和综合信息系统中应用广泛,显著提升了系统的全面性和准确性。
RAG评估框架:全面衡量系统性能
评估RAG系统的性能是一个复杂的任务,需要从多个维度进行综合考量。
1. 多维度评估指标
高质量的RAG系统需要在多个方面表现出色,主要评估维度包括:
1.1 信息准确性
- 事实正确率:生成内容的事实准确程度
- 信息完整性:回答是否涵盖所有相关信息
- 知识时效性:信息是否最新和及时更新
1.2 检索效果
- 检索准确率:检索结果的相关程度
- 检索召回率:能否找到所有相关信息
- 排序质量:关键信息的排序是否合理
1.3 生成质量
- 流畅度:文本生成的自然程度
- 一致性:回答内部逻辑是否一致
- 相关性:生成内容与问题的匹配度
1.4 系统性能
- 响应时间:从输入到输出的延迟
- 吞吐量:单位时间处理的请求数
- 资源消耗:计算和存储需求
2. 综合评估方法
为了全面评估RAG系统,研究者开发了多种评估方法:
2.1 人工评估
- 专家评测:领域专家对系统输出的全面评价
- 用户测试:真实用户使用体验和反馈
- A/B测试:对比不同系统版本的实际效果
2.2 自动评估
- 参考答案对比:与标准答案的相似度比较
- 模型辅助评估:使用大型模型评估输出质量
- 多指标综合打分:结合多个指标的加权评分
2.3 持续评估框架
- 在线监控:实时监测系统性能变化
- 反馈收集:持续收集用户反馈
- 定期基准测试:与标准测试集的定期对比
目前业界广泛使用的评估基准包括KILT、LAMA、T-REx等,它们提供了标准化的测试集合和评估流程,便于不同系统间的公平比较。
结语
RAG技术正在重新定义AI系统与知识交互的方式,从早期的简单拼接发展到今天的多模态融合和自适应学习。本文详细介绍了RAG的各种核心技术和方法,希望能为你在实际开发中提供参考。
文章来自于“AI修猫Prompt”,作者“AI修猫Prompt”。
全部评论
留言在赶来的路上...
发表评论