面向AI内容生成的检索增强生成(RAG)技术全面综述:背景、基础、进阶、应用、展望(下)

发布于: Android转发:0回复:0喜欢:1

IV 应用

表I:RAG应用在各种模态的分类。

在本节中,我们专注于RAG在各种模态的应用。为了与RAG基础和增强的分类相呼应,我们在表I中也展示了它们在不同任务中的使用。

IV-A 文字RAG

首先,文本生成是RAG应用中最重要和最广泛部署的应用之一。这里我们分别介绍了七个任务的流行工作。

IV-A1 Question Answering

问答涉及通过利用大量和全面的文字来源提供对提出问题的响应的过程。

FiD和REALM根据查询识别最重要的k篇文章片段,并将每个片段连同问题一起发送给LLMs以生成k个响应。这些响应随后被合成为最终答案。Toutanova等人用知识图谱中的子图替换了REALM中的文本语料库,取得了令人印象深刻的结果。RETRO采用注意力机制将问题与相关检索文档在模型内整合,以产生最终答案。SKR观察到使用RAG并不总是有益于问答,因此探索引导模型评估其对相关知识的理解,随后调整其使用外部资源进行检索增强。TOG引入了一个创新的知识图谱增强LLM框架,通过促进LLM与知识图谱之间的交互,并通过束搜索扩展推理路径空间,表现出色。NPM开创了使用非参数数据分布代替softmax层的方法,使参数更少的模型能够有效地执行。Self-RAG通过学习判断何时检索、评估检索内容的相关性以及评估最终生成结果来提高答案质量,使用四种反思标记。CL-ReLKT使用语言通用编码器弥合跨语言问题-文档对之间的差距,从而更好地利用多语言数据。CORE通过引入一种新的密集段落检索算法和多语言自回归生成模型,减少了语言资源的不平衡。最后,EAE通过检索查询实体的实体嵌入并将这些与隐藏状态整合,以提高答案质量。

UR-QA提出了同时检索QA对和文本块,通过比较它们的校准置信度来选择最终答案。DISC-LawLLM通过法律三段论提示策略构建了一个监督微调数据集,使模型能够从最新的法律信息中获得支持。RAG-end2end进行了检索器(DPR)和生成器(BART)的同时训练,以优化端到端问答任务的性能,并促进领域适应。MultiHop-RAG通过从不同文档中提取和聚合信息,为生成器提供生成明确查询答案所需的上下文。

IV-A2 事实验证

事实验证通常指的是确定给定的自然语言文本和一个相关的声明或断言是否与文本中的事实相匹配。

CONCRETE利用跨语言检索机制,利用多语言证据的丰富性,有效地弥合了事实检查数据集中资源不足的语言之间的差距。Hagström等人证明了在LLaMA和Atlas上,搜索增强比增加模型大小更有助于解决不一致问题。Atlas显示,使用RAG支持LLMs在知识密集型任务中显著提高了它们的少次学习能力。

IV-A3 常识推理

常识推理是指机器能够像人类一样推断或对问题或任务做出决策,利用它们获得的外部知识及其应用。

KG-BART通过将知识图中不同概念之间复杂的相互关系纳入其中,扩展了概念领域。它使用图注意力机制帮助LLMs构建更细致入微、逻辑上更连贯的句子。Wan等人构建了CONFLICTINGQA数据集,该数据集包含有争议的问题和相互矛盾的答案,以研究文本特征如何影响LLMs处理有争议问题。

IV-A4 人机对话

人机对话包括机器理解自然语言并熟练运用这种技能与人类进行交流的能力。

ConceptFlow利用常识知识图谱来构建对话,根据注意力分数引导对话的流程,并推动对话向前发展。Cai等人将文本生成任务重新构想为填空测试,通过检索和提炼过去对话历史的精华,取得了显著的成果。Komeili等人通过利用先进的搜索引擎技术从互联网上获取相关内容,提高了对话生成的质量。BlenderBot3扩大了其搜索范围,不仅挖掘相关的互联网内容,还利用本地对话历史,并采用实体提取等技术来提高生成对话的质量。Kim等人、PARC和CREA-ICLU通过整合跨语言知识,提高了非英语对话的质量,有效解决了非英语数据集的稀缺性问题,并提高了生成对话的质量。CEG通过后处理机制解决幻觉问题,通过检索验证LLM生成的答案。

IV-A5 神经机器翻译

神经机器翻译(NMT)是将文本从源语言自动翻译成目标语言的过程。它是NLP领域中的一个关键任务,代表着人工智能追求中的一个重大目标,具有重要的科学和实际意义。

Cai等人提出了一种创新方法,该方法使用单语料库以及多语言学习技术,挑战了传统上对双语语料库的依赖。KNN-MT在词汇空间距离的基础上执行翻译任务。TRIME通过联合训练检索系统和生成模型,有效地最小化了训练和推理阶段之间的差异,从而提高了翻译的准确性。

IV-A6 事件抽取

事件抽取是NLP中的一个过程,涉及识别和分类文本中的特定事件,并将它们与相关实体关联起来。这些事件通常由动词表示,实体是参与事件的参与者。

R-GQA通过识别和利用问题库中最紧密对齐的问答对,增强了给定问题上下文,从而丰富了处理当前查询时可用的信息。

IV-A7 摘要

摘要是一项旨在从长篇文本中提取关键信息并生成简洁、连贯的摘要的任务,该摘要概括了主要主题。摘要有两种主要方法:抽取式和抽象式。

抽取式摘要涉及自动选择和编译源文本中的关键短语。这种技术避免创建新句子,而是重新利用原始文本的片段。抽象摘要则涉及理解原始文本的含义,并将其改写为新句子。这种方法可以更流畅地传达来源的意图,但由于其复杂性,在实现方面面临更大的挑战。

RAMKG有效地利用了一个全面的英文语料库,以增强非英语环境中关键短语生成的性能。Unlimiformer通过检索和利用最相关的前k个隐藏状态,解决了基于Transformer的模型的输入长度限制问题,从而扩展了模型处理更长输入的能力。RPRR采用了一种检索-计划-再检索-阅读的方法,克服了LLMs面临的有限上下文窗口限制,利用检索到的信息为新兴事件生成高质量的Wikipedia文档。RIGHT选择在不同数据集上使用不同类型的检索器来增强生成器。

IV-B 代码RAG

在代码相关任务中,检索和生成方法历来是分开使用的。对于检索,可以使用抽象语法树(AST)或文本编辑距离来识别相似的代码片段。对于生成,使用序列到序列模型生成代码或自然语言。最近的RAG研究结合了检索和生成技术,以提高整体性能。

IV-B1 代码生成

代码生成的目标是将自然语言(NL)描述转换成代码实现。基于查询的RAG是代码生成的常用方法。它为基于Transformer的生成模型构建提示,包括检索信息,如相似的示例、相关的API细节、文档、导入和全局函数。

SKCODER检索相关代码片段,以产生最终代码生成的草图模板。RRGCode使用交叉编码器对检索结果进行排名。CODEAGENT为网络搜索、文档检索、程序生成和正确性测试设计代理。ARKS将迭代RAG纳入其中,重新制定查询并更新检索来源。

IV-B2 代码摘要

代码摘要任务将代码转换为自然语言描述。许多研究工作使用额外的编码器处理检索结果,然后结合它们进行后续解码器,这类似于Fusion-in-Decoder。

Re2Com和EditSum使用BM25检索相似代码,并使用LSTM生成摘要。它们分别对输入、检索到的代码和相应的摘要进行编码,然后在解码器中组合隐藏状态或对数几率。HGNN使用代码编辑距离进行检索,并用其Code Property Graphs上的混合GNN替换代码编码器。RACE使用不同的编码器对输入代码差异、通过密集检索检索到的代码差异和相应的提交消息进行编码,以生成最终的提交消息。BASHEXPLAINER应用密集检索,并融合嵌入以用于后续的基于Transformer的解码器。READSUM使用Levenshtein距离进行检索,并采用融合网络来组合检索到的代码和摘要的表示。

基于查询的RAG在代码摘要生成中很普遍。REDCODER、ASAP和SCCLLM都使用检索内容形成提示进行摘要。它们分别采用密集检索、稀疏检索和混合检索(包括语义、句法和词汇基础检索)。该范式还被用于伪代码生成和日志语句生成。

基于对数几率的RAG在代码摘要中也很流行。Rencos和CoRec通过AST或密集表示检索相似的代码片段或代码差异。它们都采用多个LSTMs对输入和检索结果进行处理,并将概率组合以进行最终生成。kNN-Transformer使用基于Transformer的生成器获取输入代码的上下文向量,然后将来自向量搜索、生成器和输入中的稀有标记的复制机制的三部分对数几率结合起来。Tram也结合了原始生成器、用于句子级检索结果的生成器和代表源代码及其AST的标记级向量(搜索对数几率)的三组对数几率。CMR-Sum将检索到的摘要和生成摘要之间的交叉注意力概率纳入原始生成对数几率中。

IV-B3 代码补全

代码补全类似于代码版本的“下一句预测”任务。基于查询的RAG是代码补全的主流范式。

Drain等人检索模板函数以完成函数补全。ReACC使用稀疏和密集检索。RepoCoder通过在检索输入中增加先前生成的代码来执行迭代RAG。De-Hallucinator使用首次生成的内容检索API引用,然后进行基于查询的RAG以改进代码补全。REPOFUSE包括理由上下文和检索到的代码以形成提示,并排名上下文以适应长度限制。

许多工作利用基于潜在表示的RAG。Retrieve-and-edit、RepoFusion和EDITAS为检索内容或编辑序列使用多个编码器,然后将信息融合以供后续解码器使用。CoCoMic在项目上下文图上检索代码,在整个代码项目的生成器中共同处理源代码和检索上下文的表示。

KNM-LM执行基于对数几率的RAG,使用贝叶斯推断结合检索和生成的对数几率。

IV-B4 自动程序修复

基于查询的RAG通常用于自动程序修复,以帮助生成模型修复错误代码。

RING、CEDAR和RAP-Gen都使用混合检索(包括稀疏和密集检索)来构建提示,以获取相似的错误消息、错误代码或修复。InferFix在提示中包括错误类型、位置、相关语法层次结构和类似修复。

SARGAM使用提示生成与错误代码相似的补丁;然后另一个模型被用来提炼最终结果。RTLFixer利用ReAct实现一个代理,修复Verilog代码中的错误。它迭代地检索错误和配对解决方案,并将推理和动作规划结合起来,为LLMs形成提示。

IV-B5 文本到SQL和基于代码的语义解析

语义解析将自然语言转换为清晰、结构化的表示,如SQL或其他特定领域的语言,通常需要代码的协助。

所有相关作品都特别使用RAG的基于查询的变体。XRICL使用非英语话语搜索并重新排名英语话语,然后构建提示以生成SQL查询。SYNCHROMESH检索相似的自然语言和SQL以构建提示,然后在SQL生成过程中进行受限的语义解码,以强化丰富的句法和语义约束。

CodeICL使用Python进行语义解析,利用BM25将相似的训练示例纳入提示中。RESDSQL包括排名模式在内的提示,以生成SQL骨架和SQL查询。ReFSQL使用具有模式链接和马氏对比学习的增强结构检索器,有助于改进文本到SQL的生成。

为了构建SQL生成的提示,ODIS检索了领域内和领域外的示范,而Nan等人检索了相似和多样化的示范。MURRE对表格进行多跳检索-重写,生成表格化问题,然后对结果进行排名以构建提示。CodeS以粗到细的方式从表格数据库中检索相关信息,以生成SQL。

IV-B6 其他

还有几个其他代码相关任务采用基于查询的RAG范式,将相似示例纳入提示。

Jie等人使用程序作为数值推理的中间步骤。De-fine使用程序解决复杂任务。它通过基于查询的RAG改进由查询生成的答案,然后将改进后的程序重新添加到检索源中。

对于程序静态分析,E&V利用LLM代理,以AST为基础的源代码检索、伪代码执行、执行规范验证和其他工具形成中间结果。Code4UIE通过代码表示进行信息提取。StackSpotAI构建了一个带有RAG组件的AI编码助手。InputBlaster生成可能导致移动应用崩溃的不寻常文本输入。

IV-C 知识RAG

结构化知识,包括知识图谱(KGs)和表格,广泛用于语言相关任务。它通常作为检索源,以增强生成。

除了常规的稀疏和密集检索,NER(命名实体识别)技术和图感知邻居检索被应用于识别和提取相关实体和关系。

IV-C1 知识库问答

KBQA(知识库问答)通常使用知识库来确定问题的正确答案。已经提出许多语义解析方法,基于问题生成逻辑形式(例如SPARQL)。

基于查询的RAG是主流方法。Unseen Entity Handling使用FreeBase检索主题实体,这些实体与查询结合生成SPARQL输出。

CBR-KBQA结合查询和检索到的(查询,逻辑形式)对进行生成。它还修订最终结果以与知识图中的关系对齐。GMT-KBQA重新排名检索到的实体和关系,并在生成之前进行关系分类和实体消歧。

RNG-KBQA、TIARA、BLLM增强和Shu等人重新排名知识图中的候选逻辑形式或实体以构建提示。Uni-Parser包括来自提及检测、2跳路径提取和数据库表中的实体到生成器输入。ECBRF遵循案例推理范式,检索相似的三元组以构建提示输入。FC-KBQA从BM25或提及检测中提取相关类、关系和实体,StructGPT提取相关三元组和最近实体,KAPING通过实体匹配提取相关事实。

Sen等人用关系分布生成模型替换检索,以加权三元组。Retrieve-Rewrite-Answer使用跳预测、关系路径预测和三元组采样将子图检索到提示中。Keqing通过LLM将复杂问题分解为简单子问题,然后检索子问题模板,从知识图中提取候选实体,最后通过ChatGPT生成答案。Liu等人利用检索对探索形式语言理解和生成的能力。Interactive-KBQA使用LLM作为代理,对KG进行实体链接,并生成当前思想和行动,直到获得最终答案。

IV-C2 知识增强的开放域问答

结构化知识经常用于增强ODQA(开放域问答)。基于潜在表示的RAG,特别是融合解码器技术,是知识增强ODQA的流行方法。

UniK-QA、KG-FiD、GRAPE都应用了融合解码器技术。它们分别整合了基于三元组的文档、通过KG重新排名的文档和问题与段落的二分图。OREOLM赋予LLM知识推理路径,将从知识图谱上的上下文化随机游走路径派生出的实体值记忆整合到LLM的隐藏状态中。SKURG执行迭代检索和生成,使用交叉注意力将数据源整合到输入嵌入中。它使用门控分数决定是否重新启动检索或生成真实答案。

随着LLMs的快速发展,基于查询的RAG正在成为新的标准。DIVKNOWQA从多个来源检索,使用不同的技术。它迭代地检索和重新排名数据,然后生成最终答案。KnowledGPT使用生成的代码从公共和个人知识库中检索。EFSUM优化了事实增强生成后的证据聚焦摘要,以使QA特定偏好的有用性和忠实性对齐。GenTKGQA使用GNN(图神经网络)整合子图检索中的结构和时间信息到虚拟标记表示中。KnowledgeNavigator通过迭代过滤与核心实体相关的关系到知识图谱上进行检索,以获得相关的三元组。

IV-C3 表格问答

表格,作为另一种形式的结构化知识,也促进了问答。

融合解码器风格的RAG通常用于表格QA。EfficientQA,2020年NeurIPS举行的比赛,见证了依赖文本和表格数据的众多检索-阅读器系统的提出。Dual Reader-Parser和CORE都重新排名检索到的文本和表格数据以进行生成。Convinse在理解问题后从知识库、表格和文本中检索信息。

RINK设计了一组级阅读器继承的重新排名器,以获得表格段的相关性分数。TAG-QA通过GNN(表格到图转换后)和BM25分别检索表格和文本。表格可以集成到基于查询的RAG的提示中。

T-RAG和OmniTab将检索到的表格与查询连接起来以生成答案。CARP提取检索到的表格和段落的混合链以构建提示。StructGPT从多个来源检索,包括KGs、表格和数据库。cTBLS在检索后形成提示,与排名表格一起。Min等人通过表格到文本技术整合表格数据,然后在微调和RAG上进行实验。

IV-C4 其他

Prototype-KRG将检索到的知识事实和对话原型通过隐藏状态和对数几率集成到GRU模型中。SURGE将相关子图组合成输入,用于对话生成。RHO在对话生成期间将知识图谱嵌入相关实体和关系融合到文本嵌入中。K-LaMP在历史查询中检索实体以构建提示,用于查询建议。ReSKGC检索相关三元组以完成三元组使用Fid。G-Retriever从文本图中检索节点和边以构建子图并执行图提示调整以进行QA。

IV-D 图像RAG

IV-D1 图像生成

图像生成是指使用人工智能和机器学习领域的算法创建新图像的过程。检索过程不仅可以帮助即使对于罕见或未见过的主体也产生高质量的图像,而且还可以减少参数计数和计算开销。

对于基于GAN的模型,RetrieveGAN使用可微分的检索器进行图像块选择,促进端到端训练。IC-GAN将数据建模为围绕每个训练实例的条件分布,将生成器和鉴别器都条件化在这些实例上。最近,扩散模型在图像生成方面超越了GAN。KNN-Diffusion和RDM在CLIP嵌入和图像邻居的条件下训练扩散模型,实现事后条件化标签、提示和零样本风格化。

超越仅图像,Re-imagen扩展检索到图像-文本对以进行文本到图像生成,带有交替指导以平衡提示和检索条件之间的对齐。Retrieve&Fuse通过在每个U-Net注意力块之前将检索到的和噪声图像连接起来,防止CLIP嵌入的信息丢失,允许通过自注意力完全交互。RPG检索代表性图像以构建上下文示例,并使用链式思考推理规划补充子区域以进行组合文本到图像扩散。

IV-D2 图像字幕

图像字幕是生成图像的文本描述的过程。增强检索图像字幕通常与检索到的字幕集合成描述。

MA通过记忆库增强,该记忆库使用图像-文本训练集的历史上下文和目标词构建,并在推理上下文中进行查询。基于检索到的条目计算词汇分布,并与原始预测进行插值。在对抗性训练中,RAMP将检索到的字幕作为鉴别器参考,并采用记忆增强注意力和复制机制以更好地利用检索到的字幕。RA-Transformer和EXTRA,都是基于检索增强的基于Transformer的字幕模型,使用编码检索字幕的交叉注意力。

除了字幕检索,REVEAL统一编码和检索多模态世界知识,与检索分数感知注意力集成。直接地,SMALLCAP使用CLIP视觉编码器和LLM解码器,检索到的字幕作为输入特定的上下文示例。对于遥感图像,CRSR通过过滤误导细节并强调视觉上显著的内容来提炼检索到的字幕。

IV-D3 其他

还有许多其他增强检索的工作用于其他图像相关任务。对于视觉问答(VQA),PICa将图像转换为文本描述,提示GPT-3并集成多查询结果。RA-VQA实现了端到端训练,具有不同检索的答案生成。对于视觉引导的对话,KIF和Maria增强了对话生成,辅以外部知识,如视觉体验。在多模态机器翻译中,将视觉信息整合到短语级别,以改善具有多模态信息的NMT。

IV-E 视频RAG

IV-E1 视频字幕生成(Video Captioning)

视频字幕是将视觉内容转换为描述性语句的过程。

KaVD使用相关文档中的背景知识,如命名实体和事件,生成新闻视频字幕。R-ConvED通过双编码检索相关句子和视频,并使用卷积编码器-解码器网络预测目标词。CARE结合了三种模态数据,即帧、音频和检索到的文本,以提供全局和局部语义指导作为增强。EgoInstructor专注于第一人称视频,检索相关的外中心视频和文本,并通过编码视频的LLM生成字幕。

IV-E2 视频问答(Video QA&Dialogue)

Video QA&Dialogue根据视频内容生成单个或多轮响应。

对于VideoQA,MA-DRNN在查询和视频中存储和检索有用信息,因此模拟了长期视觉-文本依赖性。R2A通过CLIP检索语义相似的文本,并使用查询和检索到的文本提示LLM。对于Video Dialogue,提出了TVQA+数据集,以实现相关时刻和视觉概念的检索,并设计了相应的时空感知生成器。VGNMN从视频中提取视觉线索,而检索过程由先前对话中的实体和动作参数化。

IV-E3 其他

VidIL将视频内容转换为时间感知的LLM提示,用于视频字幕、问题回答和未来事件预测等任务。

对于可信的自动驾驶,RAG-Driver将MLLM基于检索的专家演示,以产生驾驶行动解释。Animate-A-Story通过将其划分为基于情节的视频增强和基于文本和视频输入的视频扩散生成,简化了文本到视频的生成。

IV-F 音频RAG

IV-F1 音频生成

音频生成通常使用自然语言提示合成音频。

给定输入提示,Re-AudioLDM检索相关标题-音频对,使用密集检索CLAP进行生成。Make-An-Audio根据文本提示检索音频,然后构建伪提示,用于文本到音频扩散模型训练。

IV-F2 音频字幕生成(Audio Captioning)

音频字幕基本上是一个序列到序列的任务,为音频数据生成自然语言数据。

RECAP和利用密集检索器CLAP和VGGish分别检索给定音频数据的相关标题。对于RECAP,标题被包含在LLM提示中,而则使用音频和检索到的标题在注意力模块中。其他研究研究将音频模态与文本对齐,利用LLMs在各种下游文本生成中的进展。

IV-G 3DRAG

IV-G1 文本生成3D(Text-to-3D)

检索可以应用于增强3D资产生成。

ReMoDiffuse检索相关运动实体,并使用扩散模型生成运动,具有语义调节的注意力和条件混合指导。AMD设计并融合了两个运动扩散模型。一个分支基于原始提示条件化,而另一个分支将提示分解为解剖脚本,并检索相似的运动。RetDream检索3D资产以增强2D扩散模型的变分得分蒸馏。这些资产提供几何和适应的2D先验,不仅为粒子初始化施加了额外的速度,还通过LoRA帮助优化了2D扩散模型。

IV-H 科研研究RAG

RAG也成为许多跨学科应用的有希望的研究方向,如分子生成、医疗任务和计算研究。

IV-H1 药物发现(Drug Discovery)

药物发现的目标是生成同时满足多种属性的分子。

RetMol集成了一个轻量级检索机制和分子字符串到预训练的编码器-解码器生成模型中,以检索和融合示例分子与输入。

PromptDiff引入了一个基于交互的、增强检索的3D分子扩散模型,检索一组精选的配体参考,以指导合成满足特定设计标准的配体。

IV-H2 生物信息学增强(Biomedical Informatics Enhancement)

最近几项研究通过从生物医学领域特定数据库中检索信息,提高了LLM的表达能力,从而增强了模型在医疗领域任务中提供有价值指导的能力。

PoET是基于Transformer变体的自回归生成模型,它集成了检索机制以实现提示增强,从而加快了蛋白质变体的健身属性预测。Chat-Orthopedist通过专注于青少年特发性脊柱侧凸(AIS)的检索增强机制增强了ChatGPT,使用外部知识库进行精确响应。BIOREADER是第一个用于生物医学自然语言处理的基于文本到文本的增强转换器模型,使用分块交叉注意力机制将检索到的文献证据整合到模型中。MedWriter采用层次化的检索增强生成方法,结合报告级和句子级模板,从图像中产生连贯且临床准确的医疗报告。QA-RAG采用双轨RAG策略,通过有效检索和整合基于语言模型响应和用户查询的监管指南,增强了制药合规性。

IV-H3 数学应用(Math Applications)

数学中的增强检索生成技术简化了问题解决,促进了研究创新,并完善了教育策略。

LeanDojo通过使用增强检索方法从广泛的数学库中选择相关前提来提高定理证明,改善了自动化和定理概括。RAG-for-math-QA通过将高质量的数学教科书与增强检索生成集成,提高了中学代数和几何问题回答的LLM生成响应。

V 评估基准

鉴于RAG的研究兴趣和应用不断增加,也已经出现了几个从某些方面评估RAG的基准。

Chen等人提出了一个RAG基准,从四个维度进行评估:

噪声鲁棒性,测试LLMs能否从嘈杂文档中提取必要信息;

负拒绝,评估LLMs能否在检索内容不足时拒绝响应;

信息整合,检查LLMs能否获取知识并通过整合多个检索内容进行响应;

反事实鲁棒性,确定LLMs能否识别检索内容中的反事实错误。

另外三个基准,RAGAS、ARES和TruLens,借助一个单独的评估LLM考虑另外三个方面:

忠实度,检查当可以从检索内容中推断出正确答案时结果中的事实错误;

答案相关性,衡量生成结果是否真正解决了查询;

上下文相关性,判断检索内容是否提供了相关知识,同时最小化无关信息。

CRUD-RAG将RAG任务分为四种类型:创建、读取、更新和删除。它使用文本续写、问答(包括单文档和多文档问题)、幻觉修改和开放域多文档摘要对每个类别进行评估。

MIRAGE在医疗领域评估RAG,重点关注医疗问答系统的性能。

KILT对齐Wikipedia快照以验证信息准确性,使用BLEU分数来确定相关文本,并进行过滤以保持质量,从而为基于证据的预测或引用提供多样化的检索系统。

VI 讨论

VI-A 局限性

尽管RAG得到了广泛采用,但它天生存在几个局限性。

VI-A1 检索结果中的噪声

信息检索本质上存在缺陷,因为项目表示中的信息丢失和ANN搜索。

不可避免的噪声,表现为不相关内容或误导性信息,可以在RAG系统中造成故障点。然而,尽管直观上提高检索准确性似乎对RAG有效性至关重要,但最近的研究发现,嘈杂的检索结果可能增强生成质量。可能的解释是,多样化的检索结果可能有助于提示构建。因此,检索噪声的影响仍然不明确,导致实际使用中度量选择和检索器-生成器交互的困惑。

VI-A2 额外开销

虽然在某些情况下检索可以减少生成成本,但在大多数情况下,它会产生不可忽视的开销。换句话说,检索和交互过程不可避免地增加了延迟。当RAG与复杂的增强方法结合时,这种开销会被放大,例如递归检索和迭代RAG。此外,随着检索源的规模扩大,存储和访问复杂性也会增加。这种开销妨碍了RAG在对延迟敏感的实时服务中的实用性。

VI-A3 检索器与生成器之间的差距

由于检索器和生成器的目标可能不一致,它们的潜在空间可能不同,设计它们的交互需要精心设计和优化。当前的方法要么分离检索和生成,要么在中间阶段进行集成。前者更模块化,后者可能从联合训练中受益,但妨碍了通用性。选择一种成本效益的交互方法来弥合差距是一个挑战,需要在实践中深思熟虑。

VI-A4 系统复杂性增加

引入检索不可避免地增加了系统的复杂性和需要调整的超参数数量。例如,最近的一项研究发现,在基于查询的RAG中使用top-k而不是单个检索可以改善归因,但损害了流畅性,而其他方面,如度量选择仍未充分探索。因此,当涉及RAG时,调整生成服务需要更多的专业知识。

VI-A5 冗长上下文

RAG的一个主要缺点,特别是基于查询的RAG,是它极大地延长了上下文,使得对于有限制上下文长度的生成器来说变得不可行。此外,加长的上下文也通常会减慢生成过程。尽管在提示压缩和长上下文支持方面的研究进展已经部分缓解了这些挑战,但准确性或成本上仍有轻微的权衡。

VI-B 潜在的未来方向

最后,我们希望概述几个未来RAG研究和应用的潜在方向。

VI-B1 增强方法论的新设计

现有研究已经探索了检索器和生成器之间各种交互模式。然而,由于这两个组件的目标不同,实际的增强过程对最终生成结果有显著影响。探索更先进的增强基础,有望充分释放RAG的潜力。

VI-B2 灵活的RAG管道

RAG系统正在逐步采用灵活的管道,如递归、自适应和迭代RAG。除了适当调整和精心设计每个组件外,检索源、检索器、生成器和RAG子系统的独特的组合,有望处理复杂任务并提高整体性能。我们热切期待开创性的探索,将推动更加创新的RAG系统的演变。

VI-B3 更广泛的应用

RAG是一种通用技术,应用于各种应用。然而,一些生成任务尚未探索RAG,而且在许多领域,RAG的应用是简单直接的,没有考虑领域的独特特性。我们认为,设计特定于领域的RAG技术将显著有利于更广泛的应用。

VI-B4 高效部署和处理

对于基于LLM的查询RAG,已经存在几种部署解决方案,如LangChain、LLAMA-Index和PipeRAG。然而,对于其他RAG基础和/或生成任务,缺乏即插即用的解决方案。此外,由于检索开销和检索器及生成器中不断增加的复杂性,实现高效的RAG仍然具有挑战性,需要进一步的系统级优化。

VI-B5 结合长尾和实时知识

RAG的一个主要动机是利用实时和长尾知识,但很少有研究探索知识更新和扩展的管道。许多现有工作仅使用生成器的训练数据作为检索源,忽略了检索可能提供动态和灵活的信息。因此,越来越多的研究正在设计具有持续更新知识和灵活来源的RAG系统。我们还期望RAG能够更进一步,适应当今网络服务中的个性化信息。

VI-B6 与其他技术的结合

RAG与其他旨在提高人工智能生成内容(AIGC)有效性的技术是正交的,如微调、强化学习、链式思考和基于代理的生成。这些方法的结合仍处于初期阶段,需要进一步的研究,通过新颖的算法设计,充分利用它们的潜力。值得注意的是,最近出现了一个观点:“像Gemini 1.5这样的长上下文模型将取代RAG”。然而,这种断言忽视了RAG在管理动态信息方面的灵活性,包括最新的和长尾知识。我们期望RAG能够从长上下文生成中受益,而不是被其取代。

VII 结论

在本文中,我们对AIGC背景下的RAG进行了全面和系统的调查,特别关注增强基础、增强和应用。我们首先系统地组织和总结了RAG中的基础范式,提供了检索器和生成器之间交互的见解。然后,我们回顾了进一步提高RAG有效性的增强,包括对每个组件或整个管道的增强。为了促进不同领域研究人员的工作,我们展示了RAG在一系列模态和任务中的实践应用。最后,我们还介绍了RAG的现有基准,讨论了RAG的当前局限性,并展望了未来的有前景的方向。