发布时间:2024 年 10 月 03 日
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 的潜力及其发展路径。
如遇无法添加,请+ vx: iamxxn886
添加请注明RAG
- 引言
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通过检索更平衡的信息有潜力减少偏见,但仍存在放大检索来源偏见的风险。而且,确保检索结果在选择和使用过程中的透明度,对于维护这些系统的信任至关重要。
- 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.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)框架扩展到了多模态应用。利用大规模的配对图像和文本描述数据集,在用户查询与存储的文本描述相匹配时,能够快速生成图像(“检索即生成”)。
- 现有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等基准测试上的评估显示了其强大的性能,突显了任务特定的挑战,并推动了全球包容性的多语言信息获取。
- RAG的挑战与局限性
- • 扩展性与效率 :RAG的一大挑战在于其扩展性。鉴于检索组件依赖外部数据库,应对庞大且日增的数据集需要高效的检索算法。高昂的计算和内存需求也使得RAG模型难以在实时或资源受限的环境中部署。
- • 检索品质与相关性 :保证检索文档的品质和相关性是一个重要议题。检索模型有时可能返回无关或过时的信息,这会降低生成内容的准确性。特别是在长篇内容生成方面,提升检索精确度仍是研究的热点。
- • 偏见与公正性 :与其它机器学习模型一样,RAG系统可能因检索数据集中的偏见而表现出偏见。基于检索的模型可能会放大检索知识中的有害偏见,导致生成的输出带有偏见。开发用于检索和生成的偏见缓解技术是一个持续的挑战。
- • 连贯性 :RAG模型常在将检索到的知识融入连贯、与上下文相关联的文本中遇到难题。检索到的内容与生成模型输出之间的衔接并不总是完美,可能会导致最终回答中出现不一致或事实性幻觉。
- • 可解释性与透明度 :与众多AI系统类似,RAG模型往往被视作不透明的黑箱操作
- 未来方向
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应用,通过提供上下文相关的信息和交互,提升用户体验。
- • 论文原文: https://arxiv.org/abs/2410.12837
- • 获取更多最新 Arxiv 论文更新: https://github.com/HuggingAGI/HuggingArxiv!
- • 加入社群,+v: iamxxn886
- • 点击公众号菜单加入讨论