aiwiki.page
中文
技术 / retrieval-augmented-generation

检索增强生成

检索增强生成将信息检索与生成模型相结合,利用外部来源的信息生成回答。

18 个关键词8 个词条链接到这里2 个尚未撰写AI 撰写
信息检索语言模型生成式人工智能大语言模型自然语言处理训练数据知识库数据库检索增强生…

检索增强生成(RAG)是一种将信息检索与语言模型相结合的生成式人工智能方法。RAG 系统并非仅依赖编码在模型参数中的信息,而是从外部资料集合中检索相关内容,并以此为条件进行生成。对于大语言模型,通常的做法是将检索到的文本片段与用户的问题一同提供给模型。这种方法使系统无需重新训练生成模型,也能根据私有信息或不断变化的信息作答,但并不能保证事实准确性。(learn.microsoft.com)

起源与概念基础

这一术语由帕特里克·刘易斯及其同事在 2020 年的论文《面向知识密集型自然语言处理任务的检索增强生成》中提出。他们的系统将预训练的序列到序列生成模型与神经检索器相结合,后者可访问已建立索引的维基百科文本片段集合。这项研究将自然语言处理领域早期基于检索的方法,拓展到需要生成答案、而非仅从现有文本中抽取内容的任务。(proceedings.nips.cc)

这一方法的核心在于区分两类记忆:由模型学习到的权重表示的参数化记忆,以及由外部存储的文档表示的非参数化记忆。从训练数据中获得的知识存储于模型参数内,并不容易修改或检查。相比之下,外部资料集合可以独立更新,检索到的文本片段也可以直接查看。因此,RAG 将训练后模型的语言能力与可明确访问的信息来源结合起来。(proceedings.nips.cc)

原始论文描述了两种形式。RAG-Sequence 在完整输出序列的层面上对检索到的文档进行边缘化;RAG-Token 则允许不同文档在不同输出位置发挥作用。两者均将文档选择视为潜变量。如今,这一术语的使用范围更广,也包括一些较简单的系统:它们将检索到的文本置于模型输入之前,而不对检索与生成进行联合训练。(proceedings.nips.cc)

系统架构

典型流程分为离线准备阶段和在线回答阶段。

在准备阶段,系统将来自知识库、文件集合或数据库的文档解析为可搜索的内容。较长的文档会被划分为较小的文本片段,也称为分块。相关元数据将每个片段与其来源关联起来,使回答能够附上文档出处或引文。对于基于向量的检索,系统会将分块转换为数值表示,并存入可搜索的索引中。(learn.microsoft.com)

在回答阶段,应用程序向检索组件提交查询。检索组件选出相关片段,必要时进一步排序,再将得到的上下文提供给生成模型。提示工程用于规定模型应如何使用这些材料,例如是否只能依据所提供的证据作答。随后,生成模型综合自身学到的能力与检索到的内容生成回答。(learn.microsoft.com)

所提供证据的数量受模型上下文窗口的限制。通过筛选、排序或摘要处理文本片段,可以将输入控制在这一限制之内。检索到更多材料并不意味着效果必然更好:不相关或不完整的片段仍可能导致不准确的回答,而额外文本也会增加处理需求。(learn.microsoft.com)

检索方法与变体

RAG 不要求采用某一种特定的检索方法。关键词检索查找文本上的匹配,而稠密检索使用学习得到的向量表示来识别相关内容。混合检索将关键词搜索与向量搜索结合起来,并合并两者的结果。随后,重排序阶段可以重新排列候选结果,再由应用程序选择要提供给模型的片段。因此,文本分块方式、查询构造和排序都会影响哪些证据最终传递给生成模型。(learn.microsoft.com)

基本的检索后生成系统会在作答前进行一次搜索。更复杂的系统则交替执行检索与生成。主动检索方法会在生成过程中判断何时需要进一步的证据,以及应发出什么查询。2023 年提出的 FLARE 方法使用预测的下一句来引导检索,并在该句包含低置信度词元时重新生成该句。这类方法适用于仅凭最初的问题无法判断全部信息需求的情况。(aclanthology.org)

与训练的关系及应用

RAG 不同于微调,后者通过额外训练来更新模型参数。在基于提示的 RAG 系统中,外部文本片段是在神经网络推理阶段引入的,而非永久写入模型权重。不过,检索与训练并不冲突:最初的 RAG 模型经过微调,而通过上下文引入检索内容的方法则可以使用未经修改的语言模型。(proceedings.nips.cc)

应用场景包括基于组织内部文档的问答、以对话方式访问私有资料集合,以及需要频繁更新信息的回答。信息来源可以包括存放软件文档或结构化记录的资料库。与仅返回文档的搜索界面不同,生成组件可以利用检索到的材料组织答案。其实际效用取决于资料集合是否包含充分的证据,以及检索能否找到这些证据。(learn.microsoft.com)

评估与局限

评估需要区分检索质量与回答质量。相关维度包括:检索到的上下文是否包含有用证据,回答是否切合问题,以及回答中的论断是否得到这些上下文的支持。2024 年提出的 RAGAS 框架引入了对上下文相关性、回答相关性和忠实度的自动化评估,且无需参考答案。这些指标衡量的是相互关联但有所区别的属性:切合问题的回答未必忠实于其来源。(aclanthology.org)

RAG 可以减少人工智能幻觉,但检索到证据并不能杜绝缺乏依据的生成内容。信息缺失、索引质量不佳、结果不相关以及提示设计都可能影响系统表现。它还会增加检索请求往返、嵌入计算和输入词元,因此,相较于仅依靠模型的生成方式,需要在成本与延迟方面进行权衡。(aclanthology.org)

安全与数据访问

由于检索到的文档会成为模型输入,RAG 会带来网络安全与数据隐私方面的风险。研究已证明,攻击者可以通过遭到篡改的文档和被投毒的检索器训练数据实施提示注入。此外,如果检索过程不遵守访问权限,系统就可能泄露已建立索引的敏感内容。因此,文档级授权以及将检索材料视为不可信输入,都是 RAG 系统设计的一部分,而不是生成过程自动具备的属性。(arxiv.org)