RAG开山之作:结合参数化与非参数化记忆的知识密集型NLP任务新解法

20年RAG刚提出时的论文:Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks,也算是RAG的开山之作之一了。

摘要:检索增强生成(RAG)方法结合了预训练语言模型与基于检索的非参数化记忆,通过端到端训练提升知识密集型NLP任务的性能。RAG模型在多个任务上展现卓越成果,解决了传统模型的知识访问、操作及更新难题,为NLP领域带来新启示。

image.png

引言

在自然语言处理(NLP)领域,大型预训练语言模型已经在各种下游任务中取得了显著的成果。然而,这些模型在处理知识密集型任务时,如开放域问答(QA)和事实验证,仍然存在局限性。这些模型虽然能够存储大量事实知识,但在精确操作和检索这些知识方面能力有限。此外,为模型的决策提供出处(provenance)以及更新其世界知识仍然是开放的研究问题。本文提出了一种名为检索增强生成(Retrieval-Augmented Generation, RAG)的方法,旨在通过结合预训练的参数化记忆和非参数化记忆来提升模型在知识密集型任务上的性能。

方法背景与动机

传统的预训练语言模型,如BERT和GPT,虽然在许多NLP任务上表现出色,但在需要外部知识的任务中,它们的性能受限于其参数化的知识库。这些模型无法轻松扩展或修改其记忆,也难以提供对其预测的洞察,有时甚至会产生“幻觉”。为了解决这些问题,研究者们提出了结合参数化记忆(如预训练的语言模型)和非参数化记忆(基于检索的记忆)的混合模型。
在知识密集型自然语言处理任务中,传统的预训练语言模型面临以下几个主要问题:

  1. 知识访问与操作限制:尽管预训练模型能够存储大量知识,但它们在精确访问和操作这些知识方面存在局限,尤其是在需要复杂推理和外部知识验证的任务中。
  2. 缺乏可解释性:预训练模型往往被视为“黑箱”,难以提供对其决策过程的清晰解释,这在需要高度可靠性的任务中尤为突出。
  3. 知识更新困难:预训练模型通常难以适应新信息或纠正错误知识,因为它们的参数化知识库一旦固定,就很难进行修改或扩展。
  4. 生成内容的幻觉问题:在没有足够外部知识支持的情况下,模型可能会生成与事实不符的内容,即所谓的“幻觉”。

RAG方法的动机是将预训练的序列到序列(seq2seq)模型与非参数化的密集向量索引(例如Wikipedia)相结合,通过预训练的神经检索器访问这些索引。这种方法允许模型在生成语言时利用外部知识源,从而提高在知识密集型任务上的表现。

方法详解

针对上述问题,RAG模型提出了以下解决方案:

  1. 检索增强的生成模型:RAG通过结合预训练的seq2seq模型(参数化记忆)和基于Wikipedia的密集向量索引(非参数化记忆),增强了模型对知识的访问和操作能力。
  2. 端到端训练:RAG模型通过端到端训练的方式,使得检索器和生成器能够共同学习如何最有效地利用外部知识源,而无需额外的检索监督。
  3. 知识源的动态更新:RAG模型的非参数化记忆允许通过替换文档索引来更新模型的知识,而无需重新训练整个模型。
  4. 生成内容的准确性提升:RAG模型在生成文本时,可以利用检索到的具体文档内容,从而减少幻觉的发生,并提高生成内容的准确性和事实性。

RAG模型的核心是结合了两种类型的内存:参数化内存和非参数化内存。参数化内存是一个预训练的seq2seq模型,而非参数化内存则是一个由Wikipedia文章组成的密集向量索引。以下是RAG方法的关键步骤:

  1. 预训练的检索器(DPR):使用Dense Passage Retriever(DPR)作为检索组件,它基于BERTBASE文档编码器和查询编码器生成文档的密集表示。
  2. 预训练的生成器(BART):使用BART-large作为生成组件,它是一个预训练的seq2seq变换器,具有400M参数。
  3. 端到端训练:通过最小化目标序列的负对数似然来联合训练检索器和生成器,不需要直接监督检索到的文档。
  4. 解码策略:在测试时,RAG-Sequence和RAG-Token需要不同的解码方法来近似最大似然生成序列。
  5. 检索增强:对于查询x,使用最大内积搜索(MIPS)找到前K个文档,然后将这些文档作为生成目标序列y的上下文。

实验分析

image.png
RAG模型在多个知识密集型任务上的实验结果表明:

  1. 性能提升:RAG在开放域QA任务上取得了最先进的结果,显示出比纯参数化seq2seq模型更强的性能。
  2. 生成内容的改善:在语言生成任务中,RAG生成的文本比基线模型更具体、多样且事实性更强。
  3. 知识更新的灵活性:通过替换非参数化记忆的索引,RAG能够适应世界知识的变化,显示出良好的适应性和灵活性。
  4. 可解释性的提高:尽管RAG模型的可解释性仍有待提高,但非参数化记忆的使用使得模型的决策过程更加透明,因为可以检查和验证检索到的文档。

RAG模型通过检索增强的方法,有效地解决了传统预训练语言模型在知识密集型任务中面临的挑战,提高了任务性能和生成内容的质量。然而,如何进一步提高模型的可解释性和减少训练成本,仍然是未来研究需要关注的方向。
image.png
研究者们在多个知识密集型NLP任务上对RAG模型进行了评估,包括开放域QA、抽象问答生成、Jeopardy问题生成和事实验证(FEVER)。实验结果显示,RAG模型在开放域QA任务上取得了最先进的结果,并且在语言生成任务中生成了更具体、多样和事实性更强的文本。

创新点

RAG模型的主要创新点在于:

  • 混合内存架构:结合了参数化和非参数化记忆,使得模型能够利用外部知识源。
  • 端到端训练:通过联合训练检索器和生成器,无需额外的检索监督。
  • 灵活的检索机制:能够根据不同的输入动态检索相关信息,提高了模型的适应性和准确性。
  • 实时知识更新:非参数化记忆的索引可以轻松替换,以适应世界知识的变化。

不足与挑战

尽管RAG模型在多个任务上取得了显著的成果,但仍存在一些挑战和不足:

  • 检索崩溃:在某些任务中,检索器可能会“崩溃”,忽略输入的变化,导致生成器学习忽略检索到的文档。
  • 训练成本:虽然不需要直接监督检索到的文档,但训练过程仍然需要大量的计算资源。
  • 知识源的局限性:模型的性能受限于外部知识源的质量和覆盖范围。
  • 解释性:虽然非参数化记忆提供了一定程度的可解释性,但模型的决策过程仍然不够透明。

结语

RAG模型通过结合参数化和非参数化记忆,为知识密集型NLP任务提供了一种新的解决方案。它在多个任务上的表现证明了这种方法的有效性,同时也为未来的研究提供了新的方向,特别是在如何更有效地结合参数化和非参数化记忆方面。尽管存在一些挑战,但RAG模型无疑为NLP领域带来了新的启示和可能性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/569753.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

正整数的性质:和与根

目录 数字和 数字和介绍 数字和简单应用 哈沙德数 最小元素各数位之和 数字根 数字根介绍 数字根简单应用 数字和 数字和介绍 简单来说,数字和即一个整数数字每一位数值相加求和所得的值,数字和可以为任意正整数,使用代码获取一个数值的数字和…

Git笔记-配置ssh

Git在Deepin中的ssh配置 一、环境二、安装1. 查看GitHub账户2. 配置 git3. 生成 ssh key 三、配置 一、环境 系统: Deepin v23 Git仓库:GitHub 二、安装 1. 查看GitHub账户 在设置界面看到自己的邮箱,这个邮箱就是后面会用到的邮箱 2. …

在Java中使用XxlCrawler时防止被反爬的几种方式

目录 前言 一、常见的反爬措施 1、User-Agent识别 2、Referer识别 3、频率限制 4、IP限制 二、XxlCrawer的应对之道 1、User-Agent应对 2、频率限制 3、IP限制 三、XxlCrawler执行解析 1、XxlCrawler对象 2、启动对象 3、信息爬取线程 总结 前言 众所周知&#x…

LAMMPS单层石墨烯建模

本文主要介绍两种晶胞建模方式。 一、Z形晶胞 晶胞分析:a1沿水平x轴方向,a2沿垂直y轴方向。石墨烯是二维结构,a3取小于单层石墨烯厚度。假设石墨烯键长L1.421,则a13L,a21.732L,a32L(低于3.35即…

IDEA离线安装插件

1、下载地址 https://plugins.jetbrains.com/idea 如果去其他编辑器,点击下拉,选择即可。 2.搜索 在输入框输入关键词,按照提示选择即可,点击搜索按钮,查看结果。 3、选择版本 按照自己的版本选择合适的版本 4、安…

探索比特币符文热:市场趋势与持续性分析

在加密货币世界中,比特币一直是备受关注的焦点之一。然而,近年来,随着DeFi(去中心化金融)的兴起,一种新的潮流开始崭露头角——比特币符文。本文将探讨比特币符文的兴起,分析市场趋势&#xff0…

FTP与SMB深度对比:文件传输协议谁更胜一筹?

在数字化时代,文件传输已成为日常工作中不可或缺的一部分。 FTP(文件传输协议)和SMB(服务器消息块)是两种最为常见的文件传输协议。它们各自在文件传输领域拥有独特的优势和特点,但同时也存在一些差异。 今…

【学习】软件测试自动化,是未来的趋势还是当前的必需

在当今快速迭代的软件开发周期中,速度和质量成为了企业生存的关键。随着DevOps实践的普及和持续集成/持续部署(CI/CD)流程的标准化,软件测试自动化已经从未来的趋势转变为当前的必要性。本文将探讨自动化测试的现状、必要性以及其…

C基础语法速览

叠甲:以下文章主要是依靠我的实际编码学习中总结出来的经验之谈,求逻辑自洽,不能百分百保证正确,有错误、未定义、不合适的内容请尽情指出! 文章目录 1.数据类型1.1.数据类型的常见分类1.2.数据类型的符号修饰1.3.数据…

W801学习笔记十一:掌机进阶V3版本之硬件改造

经由前面的笔记,我们打造出了一款游戏掌机。 W801学习笔记十:HLK-W801制作学习机/NES游戏机(总结) 然而,考虑到后续的游戏开发,总是忧心容量不足。故而,在正式展开软件开发工作以前,最终进行一下升级改造…

百面算法工程师 | 激活函数 Activate Function

目录 10.1激活函数作用: 10.2 为什么激活函数都是非线性的 10.3 常见激活函数的优缺点及其取值范围 10.4 激活函数问题的汇总 10.4.1 Sigmoid的缺点,以及如何解决 10.4.2 ReLU在零点可导吗,如何进行反向传播 10.4.3 Softmax溢出怎么处…

当贝D6X和坚果N1 Air高亮版哪个好?参数对比,教你怎么选

当贝在4月18日的春季新品发布会上推出了首款三色激光投影仪——当贝D6X。这款D6X系列的新品不仅采用了一体式灵动云台,还首创“AI灵动屏”,一经发布就引发热议。那么,当贝D6X的实力究竟如何呢? 我们通过同价位的当贝D6X和坚果N1 A…

Vue+Echarts 实现中国地图和飞线效果

目录 实现效果准备 实现效果 在线预览:https://mouday.github.io/vue-demo/packages/china-map/dist/index.html 准备 高版本的echarts,不包含地图数据,需要自己下载到项目中 1、地图数据下载 https://datav.aliyun.com/portal/school/at…

接口测试和Mock学习路线(中)

1.什么是 swagger Swagger 是一个用于生成、描述和调用 RESTful 接口的 WEB 服务。 通俗的来讲,Swagger 就是将项目中所有想要暴露的接口展现在页面上,并且可以进行接口调用和测试的服务。 现在大部分的项目都使用了 swagger,因为这样后端…

Maven基础篇7

私服-idea访问私服与组件上传 公司团队开发流程 本地上传–>repository–>私服 其他成员从私服拿 1.项目完成后发布到私服 在pom文件最后写上发布的配置管理 ​ //写发布的url也就是你发布到哪一个版本,以及写入id ​ ​ 发布的时候,将项…

开源贡献代码之​探索一下Cython

探索一下Cython 本篇文章将会围绕最近给Apache提的一个feature为背景,展开讲讲Cython遇到的问题,以及尝试自己从0写一个库出来,代码也已经放星球了,感兴趣的同学可以去下载学习。 0.背景 最近在给apache arrow提的一个feature因为…

通配符SSL证书有哪些优点?怎么免费申请?

通配符证书就像一把“万能钥匙”,可以同时给一家公司旗下所有以某个主域名开头的子网站都“上锁”。这样有以下几个好处: 安全放心: - 全副武装:甭管用户访问的是公司的邮箱网站(比如mail.公司名.com)、购…

【电控笔记5.10】Luenberger估测器

Luenberger估测计 单积分器:pi控制器的补偿 双积分器:使用pid控制器的补偿 除了受控厂跟传感器,其他都在mcu 去掉Rs就是一个PLL锁相环 带宽比PLL更大

WEB服务的配置与使用 Apache HTTPD

服务端:服务器将发送由状态代码和可选的响应正文组成的 响应 。状态代码指示请求是否成功,如果不成功,则指示存在哪种错误情况。这告诉客户端应该如何处理响应。较为流星的web服务器程序有: Apache HTTP Server 、 Nginx 客户端&a…

揭秘npm:高效包管理的绝佳技巧(AI写作)

首先,这篇文章是基于笔尖AI写作进行文章创作的,喜欢的宝子,也可以去体验下,解放双手,上班直接摸鱼~ 按照惯例,先介绍下这款笔尖AI写作,宝子也可以直接下滑跳过看正文~ 笔尖Ai写作:…