Retrieval Augmented Generation

检索增强生成 (RAG)

通用语言模型可以通过微调来完成几种常见任务,如情感分析和命名实体识别。这些任务通常不需要额外的背景知识。

对于更复杂和知识密集型的任务,可以构建一个基于语言模型的系统,该系统访问外部知识源以完成任务。这使得生成的反应更具事实一致性,提高了生成反应的可靠性,并有助于缓解“幻觉”问题。

Meta AI研究人员引入了一种名为检索增强生成(RAG)(在新标签页中打开)的方法来解决此类知识密集型任务。RAG将信息检索组件与文本生成器模型相结合。RAG可以进行微调,并且可以高效地修改其内部知识,而无需重新训练整个模型。

RAG 接收一个输入,并根据给定的来源(例如,维基百科)检索一组相关/支持文档。这些文档与原始输入提示连接作为上下文,并输入到文本生成器中,生成最终输出。这使得 RAG 能够适应事实可能随时间变化的情况。这非常有用,因为 LLMs 的参数知识是静态的。RAG 允许语言模型绕过重新训练,通过基于检索的生成访问最新信息,从而生成可靠的输出。

Lewis 等人(2021)提出了一种通用的 RAG 微调方法。使用预训练的 seq2seq 模型作为参数化记忆,并使用维基百科的密集向量索引作为非参数化记忆(通过神经预训练检索器访问)。以下是该方法的工作原理概述:

RAG

图片来源:Lewis et el. (2021) (在新标签页中打开)

RAG 在多个基准测试中表现强劲,例如 Natural Questions (在新标签页中打开)WebQuestions (在新标签页中打开) 和 CuratedTrec。在 MS-MARCO 和 Jeopardy 问题上测试时,RAG 生成的回答更加真实、具体且多样化。RAG 还提高了 FEVER 事实验证的结果。

这展示了RAG作为一种可行选项的潜力,用于增强语言模型在知识密集型任务中的输出。

最近,这些基于检索器的方法变得更加流行,并与像ChatGPT这样的大型语言模型结合使用,以提高能力和事实一致性。

RAG 使用案例:生成友好的机器学习论文标题

下面,我们准备了一个笔记本教程,展示了如何使用开源LLMs构建一个RAG系统,用于生成简短而精确的机器学习论文标题:

参考文献