检索增强生成 (RAG)
通用语言模型可以进行微调,以完成多种常见任务,如情感分析和命名实体识别。这些任务通常不需要额外的背景知识。
对于更复杂和知识密集型任务,可以构建一个基于语言模型的系统,该系统访问外部知识源来完成任务。这能够增强事实一致性,提高生成响应的可靠性,并有助于缓解“幻觉”问题。
Meta AI 研究人员引入了一种称为检索增强生成 (RAG) (在新标签页中打开)的方法来解决此类知识密集型任务。RAG 将信息检索组件与文本生成模型结合起来。RAG 可以高效地进行微调,并且可以在不重新训练整个模型的情况下修改其内部知识。
RAG 接收输入,并根据来源(例如维基百科)检索一组相关/支持文档。这些文档作为上下文与原始输入提示连接起来,然后馈送给文本生成器,文本生成器生成最终输出。这使得 RAG 能够适应事实随时间变化的情况。这非常有用,因为 LLM 的参数化知识是静态的。RAG 允许语言模型绕过重新训练,从而通过基于检索的生成访问最新信息以生成可靠的输出。
Lewis 等人(2021 年)提出了 RAG 的通用微调方案。预训练的 seq2seq 模型用作参数化记忆,维基百科的密集向量索引用作非参数化记忆(使用神经预训练检索器访问)。下面是该方法工作原理的概述

图片来源:Lewis 等人 (2021) (在新标签页中打开)
RAG 在多个基准测试中表现出色,例如 Natural Questions (在新标签页中打开)、WebQuestions (在新标签页中打开) 和 CuratedTrec。在 MS-MARCO 和 Jeopardy 问题上进行测试时,RAG 生成的响应更加真实、具体和多样。RAG 还改进了 FEVER 事实核查的结果。
这表明 RAG 在增强语言模型在知识密集型任务中的输出方面具有可行性。
最近,这些基于检索的方法变得越来越流行,并与 ChatGPT 等流行的 LLM 相结合,以提高能力和事实一致性。
在我们的新 AI 课程中了解更多关于 RAG 和相关提示技术的知识。立即加入! (在新标签页中打开) 使用代码 PROMPTING20 可额外享受 20% 折扣。
RAG 用例:生成友好的机器学习论文标题
下面,我们准备了一个 Notebook 教程,展示如何使用开源 LLM 构建 RAG 系统以生成简短简洁的机器学习论文标题
参考文献
- 大型语言模型的检索增强生成:一项调查 (在新标签页中打开) (2023 年 12 月)
- 检索增强生成:简化智能自然语言处理模型的创建 (在新标签页中打开) (2020 年 9 月)