人工智能生成内容(AIGC)的发展得益于模型算法的进步、可扩展的基础模型架构以及大量高质量数据集的可用性。尽管AIGC取得了显著的性能,但仍面临一些挑战,例如维护最新和长尾知识的困难、数据泄露的风险以及与训练和推理相关的高成本。最近,检索增强生成(RAG)作为一种应对这些挑战的范式出现了。特别是,RAG引入了信息检索过程,通过从可用的数据存储中检索相关对象来增强AIGC结果,从而提高准确性和鲁棒性。在本文中,我们全面回顾了将RAG技术集成到AIGC场景中的现有工作。我们首先根据检索器如何增强生成器对RAG基础进行分类。我们提炼了各种检索器和生成器的增强方法论的基本抽象。这种统一的视角包括了所有RAG场景,阐明了助力未来进展的进步和关键技术。我们还总结了RAG的额外增强方法,促进RAG系统的有效工程实施。然后,从另一个视角,我们调查了RAG在不同模态和任务中的实际应用,为研究人员和从业者提供宝贵的参考。此外,我们介绍了RAG的基准,讨论了当前RAG系统的局限性,并提出了未来研究的潜在方向。项目仓库:https://github.com/hymie122/RAG-Survey。
近年来,人工智能生成内容(AIGC)引起了广泛的兴趣。各种内容生成工具被精心设计,以在不同的模态中生成多样化的对象,例如包括GPT系列[1]-[3]和LLAMA系列[4]-[6]的大型语言模型(LLM)用于文本和代码,DALL-E[7]-[9]和Stable Diffusion[10]用于图像,以及Sora[11]用于视频。"AIGC"这个词强调的是内容是由先进的生成模型而非人类或基于规则的方法产生的。这些生成模型由于采用了新型模型算法、广泛的基础模型架构和大量高质量数据集而取得了显著的性能。特别是,序列到序列的任务已从使用长短期记忆(LSTM)[12]网络转移到基于Transformer的模型[13],而图像生成任务已从生成对抗网络(GAN)[14]转移到潜在扩散模型[10]。值得注意的是,基础模型的架构最初由数百万参数[15]、[16]组成,现在已发展到包含数十亿参数[1]、[4]。这些进步进一步得到了丰富、高质量数据集[1]、[17]的支持,这些数据集提供了大量的训练示例以充分优化模型参数。
信息检索是计算机科学领域内另一个关键的应用。与生成不同,检索旨在从庞大的资源池中定位相关的现有对象。检索的最常见应用在于网络搜索引擎,主要关注文档检索任务[18]、[19]。在当今时代,高效的信息检索系统能够处理高达数十亿[20]、[21]的文档集合。除了文档外,检索也已被应用于其他模态[22]-[25]。 尽管先进的生成模型取得了显著的进展,AIGC仍面临一些众所周知的挑战,包括维护最新知识的挑战、无法融合长尾知识[26],以及泄露私有训练数据的风险[27]。提出检索增强生成(RAG)以缓解,如果不是完全解决,上述挑战,通过其可适应的数据仓库。用于检索的知识可以被概念化为非参数记忆。这种形式的记忆易于修改,能够容纳广泛的长尾知识,并且也能编码机密数据。此外,检索也可以用来降低生成成本。例如,RAG可以减小大型生成模型的大小[28],为长上下文提供支持[29],并省略某些生成步骤[30]。
典型的RAG过程如图1所示:给定一个输入查询,检索器定位并查找相关数据源,然后检索结果与生成器交互,以增强整体生成过程。检索结果可以以不同的方式与生成过程交互:它们可以作为增强输入供生成器使用[31]、[32];它们可以在生成的中间阶段作为潜在表示加入[33]、[34];它们可以以逻辑形式贡献于最终生成结果[35]、[36];它们甚至可以影响或省略某些生成步骤[30]、[37]。此外,在典型的基础RAG过程之上,也提出了许多增强方法以提高整体质量。这些增强包括针对特定组件的方法以及针对整个管道的优化。 虽然RAG的概念最初出现在文本到文本的生成中[32],但它也已被适应到各种领域,包括代码[38]-[40]、音频[41]、[42]、图像[43]-[45]、视频[46]、[47]、3D[48]、[49]、知识[50]-[52]和AI科学[53]、[54]。特别是,RAG的基本思想和过程在模态之间大体一致。然而,它需要在增强技术上进行特定的小调整,而检索器和生成器的选择则取决于特定的模态和任务。
尽管近期关于RAG的研究迅速增长,但一个涵盖所有基础、增强和应用的系统性综述显然是缺失的。对RAG基础的缺乏讨论显著削弱了这一领域研究的实际价值,使RAG的潜力没有得到充分探索。虽然大多数研究兴趣,特别是在LLM研究人员中,集中在文本生成任务中基于查询的RAG上,但认识到其他RAG基础范式也是有效的技术,并具有显著的使用和进一步发展潜力是至关重要的。对RAG应用的概述缺乏导致研究人员和从业者忽视RAG在多个模态中的进展,并且不了解如何有效地应用RAG。尽管文本生成通常被视为RAG的主要应用,我们强调RAG在其他模态的发展也在早期阶段开始,并已取得了有希望的进展。某些模态与检索技术有着丰富的历史联系,为RAG注入了独特的特征。尽管已经提出了一些关于RAG的调查,但它们主要关注于特定的方法论和任务。在本文中,我们的目标是提供一个全面的调查,以提供RAG的系统性概述。
这篇综述提供了关于RAG的全面概览,涵盖了基础、增强、应用、基准、局限性和潜在的未来方向。尽管检索器和生成器在不同的模态和任务中展现出变化,我们提炼了RAG基础的基本抽象,将应用视为源自这些抽象的适应。我们旨在为研究人员和从业者提供参考和指南,为推进RAG方法论及其相关应用提供有价值的见解。总结来说,我们的贡献如下: 我们对RAG进行了全面的回顾,并提炼了各种检索器和生成器的RAG基础抽象。 我们总结了现有RAG流程的增强,详细说明了用于实现更有效RAG系统的技术。 对于不同的模态和任务,我们调查了融合RAG技术的现有AIGC方法,展示了RAG如何为当前的生成模型做出贡献。 我们讨论了RAG的局限性和有前景的研究方向,阐明了其潜在的未来发展。
这篇综述提供了关于RAG的全面概览,涵盖了基础、增强、应用、基准、局限性和潜在的未来方向。尽管检索器和生成器在不同的模态和任务中展现出变化,我们提炼了RAG基础的基本抽象,将应用视为源自这些抽象的适应。我们旨在为研究人员和从业者提供参考和指南,为推进RAG方法论及其相关应用提供有价值的见解。总结来说,我们的贡献如下: * 我们对RAG进行了全面的回顾,并提炼了各种检索器和生成器的RAG基础抽象。 * 我们总结了现有RAG流程的增强,详细说明了用于实现更有效RAG系统的技术。 * 对于不同的模态和任务,我们调查了融合RAG技术的现有AIGC方法,展示了RAG如何为当前的生成模型做出贡献。 * 我们讨论了RAG的局限性和有前景的研究方向,阐明了其潜在的未来发展。
方法
在本节中,我们首先在AIGC的背景下介绍RAG的基础。随后,我们概述了进一步提高RAG有效性的增强方法。根据检索器如何增强生成器,我们将RAG基础范式分类为4个不同的类别,如图6所示。
在本节中,我们将介绍用于增强RAG性能的方法。我们根据增强目标将现有方法分为5个不同的组别:输入、检索器、生成器、结果和整个流程。
结论
在本文中,我们对与AIGC相关的场景中的RAG进行了全面和深入的调查,特别关注增强基础、增强措施和实际应用。我们首先系统地组织和总结了RAG的基础范式,提供了关于检索器和生成器之间互动的见解。基于构建的RAG系统,我们回顾了进一步提高RAG有效性的增强措施,包括对输入、检索器、生成器和结果的增强。为了便于跨不同领域的研究人员,我们展示了在多种模态和任务中RAG的实际应用。最后,我们还介绍了RAG的现有基准,讨论了RAG当前的局限性,并展望了有前景的未来方向。