本文约3500字,建议阅读9分钟
本文深入探讨了 Retrieval-Augmented Generation (RAG) 的发展历程,从基础概念到最新技术。
15种典型RAG框架:卡内基梅隆大学最新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)主要依赖于检索或生成方法。
这两种方法的互补性,使得大家开始尝试检索和生成的混合系统。最早的混合系统可以追溯到DrQA,使用检索技术来获取问答任务的相关文档。
1.3 RAG 的局限性
2. RAG系统的核心构件与架构概览
2.1 RAG模型概览
RAG模型包括两个核心组件:
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)框架扩展到了多模态应用。利用大规模的配对图像和文本描述数据集,在用户查询与存储的文本描述相匹配时,能够快速生成图像(“检索即生成”)。