本文转发自:大语言模型论文追踪,主要分享卡内基梅隆大学最新的 RAG 综述。
论文标题:
A Comprehensive Survey of Retrieval-Augmented Generation (RAG): Evolution, Current Landscape and Future Directions
论文简介:
本文深入探讨了 Retrieval-Augmented Generation (RAG) 的发展历程,从基础概念到最新技术。RAG 通过结合检索与生成模型,有效提升了输出准确性,克服了 LLM 的局限。研究详细分析了 RAG 的架构,展示了检索与生成如何协同处理知识密集型任务。此外,本文还回顾了 RAG 在问答、摘要等领域的关键技术进展,并探讨了提升检索效率的新方法。同时,文章也指出了 RAG 在可扩展性、偏见和伦理方面的挑战,并提出了未来研究方向,以增强模型鲁棒性、拓展应用范围并关注社会影响。本调查旨在为 NLP 领域的研究者和实践者提供一份基础指南,帮助他们更好地理解 RAG 的潜力及其发展路径。
论文链接:
https://arxiv.org/abs/2410.12837
▌1. 引言
1.1 检索增强生成(RAG)概览
RAG(Retrieval-Augmented Generation)融合了两大核心组件:
-(i)检索模块,负责从外部知识库中检索相关文档或信息,利用密集向量表示从大型数据集,如维基百科或私有数据库中识别相关文档。
-(ii)生成模块,负责处理这些信息,产出类似人类语言的文本,检索到的文档随后被送至生成模块,该模块通常基于 transformer 架构构建。
RAG 有助于减少生成内容的“幻觉”现象,确保文本更具事实性和上下文适宜性。RAG 已广泛应用于多个领域,包括:
• 开放领域问答
• 对话智能体
• 个性化推荐。
1.2 混合检索和生成的新系统
在RAG出现之前,自然语言处理(NLP)主要依赖于检索或生成方法。
• 基于检索的系统:例如传统的信息检索引擎,能够高效地根据查询提供相关文档或片段,但无法合成新信息或以连贯的叙述形式呈现结果。
• 基于生成的系统:随着 transformer 架构的兴起,纯生成模型以其流畅性和创造力受到欢迎,却常常在事实准确性上有所欠缺。
这两种方法的互补性,使得大家开始尝试检索和生成的混合系统。最早的混合系统可以追溯到 DrQA,使用检索技术来获取问答任务的相关文档。
1.3 RAG 的局限性
• 在面对模糊查询或特定知识领域的检索时,仍可能出现错误。依赖于如 DPR(Dense Passage Retrieval)所使用的密集向量表示,有时也会检索出不相关或偏离主题的文档。因此,需要通过引入更精细的查询扩展和上下文消歧技术来提升检索技术的精准度。理论上,检索与生成的结合应该是天衣无缝的,但在实际操作中,生成模块有时难以将检索到的信息有效整合进回应中,导致检索事实与生成文本间的不一致或不连贯。
• 计算成本也是一个备受关注的点,因为需要对每个查询执行检索和生成两个步骤,这对于大规模应用尤其资源密集。模型剪枝或知识蒸馏等技术可能有助于在不牺牲性能的前提下降低计算负担。
• 伦理问题,尤其是偏见和透明度问题。AI 和 LLM 中的偏见是一个广泛研究且不断演变的领域,研究者们识别出包括性别、社会经济阶层、教育背景在内的多种偏见类型。虽然 RAG 通过检索更平衡的信息有潜力减少偏见,但仍存在放大检索来源偏见的风险。而且,确保检索结果在选择和使用过程中的透明度,对于维护这些系统的信任至关重要。
▌2. RAG 系统的核心构件与架构概览
2.1 RAG 模型概览
RAG 模型包括两个核心组件:
• 检索器:利用密集段落检索(DPR)或传统 BM25 算法等技术,从语料库中检索最相关的文档。
• 生成器:将检索到的文档整合成连贯、上下文相关的回答。
RAG 的强项在于其能够动态利用外部知识,在性能上超越了依赖静态数据集的生成模型如 GPT-3。
2.2 RAG系统中的检索器
2.2.1 BM25
BM25 是一种使用较广的信息检索算法,利用词频-逆文档频率(TF-IDF)来根据相关性对文档进行排序。尽管是一种经典方法,依然是许多现代检索系统,包括 RAG 模型中使用的系统的一个标准算法。
BM25 根据查询词在文档中的出现频率来计算文档的相关性得分,同时考虑文档长度和词在整个语料库中的频率。尽管 BM25 在关键词匹配方面表现出色,但它在理解语义含义上存在局限。例如,BM25 无法捕捉词与词之间的关系,并且在处理需要上下文理解的复杂自然语言查询时表现不佳。
但是,BM25 因简单高效而被广泛采用。适用于基于关键词的简单查询任务,尽管像 DPR 这样的现代检索模型在处理语义复杂的任务时往往性能更好。
2.2.2 密集段落检索(DPR)
密集段落检索(Dense Passage Retrieval,DPR)是一种新的信息检索方法。使用一个高维向量空间,查询和文档都被编码成高维向量。
采用双编码器架构,分别对查询和文档进行编码,从而实现高效的最近邻搜索。
与 BM25 不同,DPR 在捕捉查询和文档之间的语义相似性方面表现出色,使其在开放域问答任务中极为有效。
DPR 的优势在于其能够根据语义含义而非关键词匹配来检索相关信息。通过在大量问答对语料库上训练检索器,DPR 能够找到与查询上下文相关的文档,哪怕查询和文档没有使用完全相同的词汇。最新的研究通过将 DPR 与预训练语言模型结合,进一步优化了 DPR。
2.2.3 REALM(Retrieval-Augmented Language Model)
REALM 将检索过程融入语言模型的预训练,确保检索器与生成器协同优化,以适应后续任务。
REALM 的创新之处在于:能够学习检索出能够提升模型在特定任务上表现的文档,比如问答或文档摘要。
训练过程中,REALM 对检索器和生成器进行同步更新,优化检索流程以更好地服务于文本生成任务。
REALM 的检索器被训练为能够识别出既与查询相关又有助于生成准确、连贯回答的文档。因此,REALM 显著提升了生成回答的质量,尤其是在需要依赖外部知识的那些任务上。
最新研究显示,在某些知识密集型任务中,REALM 超越了 BM25 和 DPR,特别是在检索与生成紧密结合的情况下。
RAG 的精髓在于检索段落的质量,但许多现有方法依赖于基于相似性的检索(Mallen等,2022)。
Self-RAG 和 REPLUG 通过利用大型语言模型(LLM)增强检索能力,实现了更灵活的检索。
初次检索后,交叉编码器模型通过联合编码查询和检索文档来重新排序结果,计算相关性得分。这些模型虽然提供了更丰富的上下文感知检索,但计算成本较高。
RAG 系统利用 LLM 中的自注意力机制来管理输入和检索文本各部分的上下文和相关性。在将检索信息整合到生成模型时,采用交叉注意力机制,以确保在生成过程中突出最相关的信息片段。
2.3 RAG系统中的生成器
在 RAG 中,生成器是将检索到的信息与输入查询融合,生成最终输出的关键环节。
一旦检索组件从外部资源中提取出相关知识,生成器便会将这些信息编织成连贯、符合上下文的回应。大型语言模型(LLM)构成了生成器的核心,确保生成的文本流畅、准确,并与原始查询保持一致。
2.3.1 T5
T5(Text-to-Text Transfer Transformer)是 RAG 系统中用于生成任务的常用模型之一。
T5 的灵活性体现在其将所有 NLP 任务视为文本到文本的任务。这种统一的框架使得 T5 能够针对广泛的任务进行微调,包括问答、摘要和对话生成。
通过整合检索与生成,基于 T5 的 RAG 模型在多个基准测试中超越了传统生成模型,如 GPT-3 和 BART,特别是在 Natural Questions 数据集和 TriviaQA 数据集上。
此外,T5 在处理复杂多任务学习方面的能力,使其成为需要应对多样化知识密集型任务的 RAG 系统的首选。
2.3.2 BART
BART(Bidirectional and Auto-Regressive Transformer)特别适合处理从嘈杂输入中生成文本的任务,例如摘要和开放域问答。
作为一种去噪自编码器,BART 能够重建损坏的文本序列,使其在需要从不完整或嘈杂数据中生成连贯、事实性输出的任务中表现出色。
当与 RAG 系统中的检索器结合时,BART 已被证明能够通过外部知识提高生成文本的事实准确性。
▌3. 跨模态的检索增强型生成模型
3.1 基于文本的 RAG 模型
基于文本的 RAG 模型是目前最为成熟且广泛研究的类型。
依托文本数据,执行检索与生成任务,推动了问答、摘要和对话智能体等应用的发展。
BERT 和 T5 等 Transformer 架构构成了文本 RAG 模型的基石,运用自注意力机制来捕捉文本内的上下文联系,从而提升检索的精确度和生成的流畅度。
3.2 基于音频的 RAG 模型
基于音频的 RAG 模型将检索增强型生成的理念拓展至音频领域,为语音识别、音频摘要和语音界面中的对话智能体等应用开辟了新天地。音频数据常通过 Wav2Vec 2.0 等预训练模型衍生的嵌入表示来呈现。这些嵌入作为检索和生成组件的输入,使得模型能够有效地处理音频数据。
3.3 基于视频的 RAG 模型
基于视频的 RAG 模型融合视觉与文本信息,增强了视频理解、字幕生成和检索等任务的表现。视频数据通过 I3D TimeSformer 等模型的嵌入表示来呈现。这些嵌入捕捉了时间与空间特征,对于有效的检索和生成至关重要。
3.4 多模态 RAG 模型
多模态 RAG 模型融合了文本、音频、视频和图像等多种模态的数据,为检索和生成任务提供了一种更全面的方法。
例如 Flamingo 这样的模型将不同模态整合进一个统一的框架内,实现了文本、图像和视频的同时处理。跨模态检索技术涉及在不同模态间检索相关信息。
“检索即生成(Retrieval as generation)”通过结合文本到图像和图像到文本的检索,将检索增强型生成(RAG)框架扩展到了多模态应用。利用大规模的配对图像和文本描述数据集,在用户查询与存储的文本描述相匹配时,能够快速生成图像(“检索即生成”)。
▌4. 现有 RAG 框架一览
基于智能体的 RAG
一种新的智能体检索增强型生成(RAG)框架采用了分层的多智能体结构,子智能体使用小型预训练语言模型(SLMs)针对特定的时间序列任务进行微调。主智能体将任务分配给这些子智能体,从共享知识库中检索相关提示。这种模块化多智能体方法实现了较高的性能,展现了在时间序列分析中相较于特定任务方法的灵活性和效率。
RULE
RULE 是一个多模态 RAG 框架,旨在提升医学视觉-语言模型(Med-LVLM)的事实准确性,通过引入校准选择策略控制事实风险,并开发偏好优化策略平衡模型内在知识与检索上下文,证明了其在提升 Med-LVLM 系统事实准确性方面的有效性。
METRAG
METRAG,一个多层次、思维增强(thoughts enhanced)的检索增强型生成框架,结合文档相似性和实用性来提升性能。包括一个任务自适应摘要器,以产生蒸馏后内容摘要。利用这些阶段的多次思考,LLM 生成知识增强内容,在知识密集型任务上与传统方法相比展现出更优越的性能。
RAFT(Retrieval Augmented Fine-Tuning)
干扰文档是检索增强型微调(RAFT)(Zhang等,2024)的关键特征之一,用不相关、干扰性文档训练模型如何辨别,而直接引用相关来源。结合思维链推理,增强了模型的推理能力。RAFT 在特定领域的 RAG 任务中表现出一致的性能提升,包括 PubMed、HotpotQA 和 Gorilla 数据集,作为 LLMs 的后训练增强。
FILCO
FILCO 旨在提升生成模型在开放域问答和事实验证等任务中提供的上下文质量,解决对检索段落过度或不足依赖的问题,可能导致生成输出中的幻觉问题。该方法通过词汇和信息论方法识别有用的上下文,并通过训练上下文过滤模型在测试期间提炼检索上下文,提高了上下文质量。
Self-RAG
反思标记是自反思检索增强型生成(Self-RAG)(Asai等,2023)的关键属性,通过结合检索与自反思来提高大型语言模型(LLMs)的事实准确性。与传统方法不同,Self-RAG 自适应地检索相关段落,并使用反思标记评估和提炼其响应,允许模型根据特定任务需求调整行为,并在开放域问答、推理、事实验证和长篇生成任务中表现出优越性能。RAG 的智能性和有效性在很大程度上取决于检索质量,对知识库的更多元数据理解将增强 RAG 系统的有效性。
MK Summary
一种以数据为中心的检索增强型生成(RAG)工作流程,超越了传统的检索-阅读模式,采用了准备-重写-检索-阅读框架,通过整合上下文相关、时间关键或特定领域的信息来增强 LLMs。其创新点包括生成元数据、合成问题和答案(QA),并引入文档集群的元知识摘要(MK摘要)。
CommunityKG-RAG
CommunityKG-RAG 是一个零样本框架,将知识图谱(KGs)中的社区结构整合到检索增强型生成(RAG)系统中。通过利用 KGs 中的多跳连接,提高了事实检查的准确性和上下文相关性,超越了不需要额外领域特定训练的传统方法。
RAPTOR
RAPTOR 引入了一种层次化方法来增强检索增强型语言模型,解决了传统方法只检索短的、连续文本块的限制。RAPTOR 通过递归嵌入、聚类和总结文本,形成摘要树以在不同抽象级别检索信息。实验表明 RAPTOR 在需要复杂推理的问答任务中表现出优越性能。当与 GPT-4 配对时,RAPTOR 在 QuALITY 基准测试中的准确性提高了 20%。
4.1 基于长上下文的RAG框架
近期推出的支持长期上下文的大型语言模型(LLMs),如 Gemini-1.5 和 GPT-4,显著提升了 RAG 性能。
Self-Route
Self-Route 通过模型自省动态分配查询至 RAG 或 LC,从而优化计算成本与性能。为 RAG 和 LC 在处理长期上下文任务时的最佳应用提供了深刻见解。
SFR-RAG
SFR-RAG是一个小巧而高效的 RAG 模型,旨在增强 LLMs 对外部上下文信息的整合,同时减少幻觉现象。
LA-RAG
LA-RAG 是一种新型 RAG 范式,旨在提升 LLMs 中的自动语音识别(ASR)能力。亮点在于其能够利用细粒度的标记级语音数据存储和语音到语音的检索机制,通过 LLM 的上下文学习提高 ASR 的精确度。
HyPA-RAG
LLMs 在 AI 法律和政策背景下因知识过时和幻觉而面临挑战。HyPA-RAG 是一个混合参数自适应检索增强型生成系统,通过自适应参数调整和混合检索策略提高了精确度。在 NYC Local Law 144 的测试中,HyPA-RAG 展现了更高的正确性和上下文精度,有效应对了法律文本的复杂性。
MemoRAG
MemoRAG 引入了一种新型 RAG 范式,克服传统 RAG 系统在处理模糊或非结构化知识时的局限。MemoRAG 的双系统架构利用轻量级长距离 LLM 生成草稿答案并指导检索工具,而更强大的 LLM 则负责完善最终输出。这一框架针对更好的线索提取和记忆容量进行了优化,在复杂和简单的任务中都显著超越了传统 RAG 模型。
NLLB-E5
NLLB-E5 推出了一个可扩展的多语言检索模型,解决支持多语言,尤其是像印度语这样的低资源语言所面临的挑战。借助 NLLB 编码器和 E5 多语言检索器的蒸馏方法,NLLB-E5 能够实现跨语言的零样本检索,无需多语言训练数据。在 Hindi-BEIR 等基准测试上的评估显示了其强大的性能,突显了任务特定的挑战,并推动了全球包容性的多语言信息获取。
▌5. RAG 的挑战与局限性
• 扩展性与效率:RAG 的一大挑战在于其扩展性。鉴于检索组件依赖外部数据库,应对庞大且日增的数据集需要高效的检索算法。高昂的计算和内存需求也使得RAG模型难以在实时或资源受限的环境中部署。
• 检索品质与相关性:保证检索文档的品质和相关性是一个重要议题。检索模型有时可能返回无关或过时的信息,这会降低生成内容的准确性。特别是在长篇内容生成方面,提升检索精确度仍是研究的热点。
• 偏见与公正性:与其它机器学习模型一样,RAG 系统可能因检索数据集中的偏见而表现出偏见。基于检索的模型可能会放大检索知识中的有害偏见,导致生成的输出带有偏见。开发用于检索和生成的偏见缓解技术是一个持续的挑战。
• 连贯性:RAG 模型常在将检索到的知识融入连贯、与上下文相关联的文本中遇到难题。检索到的内容与生成模型输出之间的衔接并不总是完美,可能会导致最终回答中出现不一致或事实性幻觉。
• 可解释性与透明度:与众多 AI 系统类似,RAG 模型往往被视作不透明的黑箱操作
▌6. 未来方向
6.1 强化多模态融合
在 RAG 模型中整合文本、图像、音频和视频数据,需着眼于提升多模态融合技术,实现不同数据类型间的无缝交互,包括:
• 研发更先进的方法来对齐和合成跨模态信息。
• 需要更多创新来增强多模态输出的连贯性和情境适应性。
• 提升 RAG 系统跨不同模态检索相关信息的能力。例如,结合基于文本的查询与图像或视频内容检索,可以增强视觉问答和多媒体搜索等应用。
6.2 扩展性与效率
随着 RAG 模型在更广泛的大规模应用中部署,其扩展性变得至关重要。研究应聚焦于开发高效扩展检索和生成过程的方法,同时不牺牲性能。分布式计算和高效索引技术对于处理庞大数据集至关重要。提升 RAG 模型的效率需要优化检索和生成组件,以减少计算资源和延迟。
6.3 个性化与适应性
未来的 RAG 模型应专注于根据个体用户的偏好和情境个性化检索过程。这包括开发基于用户历史、行为和偏好调整检索策略的技术。通过深入理解查询和文档库的上下文和情感,增强 RAG 模型的上下文适应性,对于提升生成响应的相关性至关重要。研究应探索基于互动上下文的动态调整检索和生成过程的方法,包括将用户反馈和上下文线索整合到 RAG 流程中。
6.4 伦理与隐私考量
解决偏见是未来研究的关键领域,尤其是针对 RAG 模型的偏见。随着 RAG 系统在多样化应用中的部署,确保公平性并减少检索和生成内容中的偏见至关重要。未来的 RAG 研究应聚焦于保护隐私的技术,以在检索和生成过程中保护敏感信息。包括开发安全数据处理方法和隐私意识的检索策略。模型的可解释性也是持续改进 RAG 研究的一个关键领域。
6.5 跨语言及低资源语言支持
拓展 RAG 技术以支持多语言,尤其是资源匮乏的语言,是一个充满希望的发展方向。
致力于提升跨语言检索与生成能力,确保在不同语言中都能提供准确且相关的结果。提升 RAG 模型对低资源语言的有效支持,需要开发在有限训练数据下进行内容检索与生成的方法。研究应聚焦于转移学习与数据增强技术,以提高在边缘语言中的表现。
6.6 高级检索机制
未来 RAG 研究应探索能够适应变化查询模式和内容需求的动态检索机制。包括构建能够根据新信息和用户需求演进而动态调整检索策略的模型。
研究混合检索方法,结合密集检索与稀疏检索等不同策略,有望提升 RAG 系统的效果。研究应着眼于如何整合多样化的检索方式,以适应各种任务并达到最佳性能。
6.7 与新兴技术的融合
将 RAG 模型与脑机接口(BCIs)相结合,可能在人机交互和辅助技术领域开辟新的应用。研究应探讨 RAG 系统如何利用 BCI 数据来提升用户体验和生成具有上下文感知的响应。RAG 与增强现实(AR)和虚拟现实(VR)技术的结合,为创造沉浸式互动体验提供了机遇。未来的研究应调查 RAG 模型如何被用于增强 AR 和 VR 应用,通过提供上下文相关的信息和交互,提升用户体验。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。