当前位置: 首页 > news >正文

An Efficient Memory-Augmented Transformer for Knowledge-Intensive NLP Tasks

本文是LLM系列文章,针对《An Efficient Memory-Augmented Transformer for
Knowledge

一种用于知识密集型NLP任务的高效内存增强转换器

  • 摘要
  • 1 引言
  • 2 相关工作
  • 3 高效内存增强Transformer
  • 4 EMAT的训练流程
  • 5 实验
  • 6 分析
  • 7 结论
  • 局限性

摘要

获取外部知识对于许多自然语言处理任务至关重要,例如问答和对话。现有的方法通常依赖于将知识存储在其参数中的参数模型,或者使用可以访问外部知识源的检索增强模型。参数模型和检索增强模型在计算效率和预测准确性方面具有互补优势。为了结合这两种方法的优势,我们提出了高效内存增强Transformer(EMAT)——它将外部知识编码为键值内存,并利用快速最大内积搜索进行内存查询。我们还引入了预训练任务,允许EMAT对信息性键值表示进行编码,并学习将多个内存槽集成到Transformer中的隐式策略。在各种知识密集型任务(如问答和对话数据集)上的实验表明,使用我们的方法简单地扩充参数模型(T5基础)会产生更准确的结果(例如,25.8→ NQ上的44.3 EM)同时保持高吞吐量(例如NQ上1000个查询/s)。与检索的改进模型相比,EMAT在WoW和ELI5上运行得更快,结果更准确。

1 引言

2 相关工作

3 高效内存增强Transformer

4 EMAT的训练流程

5 实验

6 分析

7 结论

在这项工作中,我们提出了一种有效的内存改进Transformer(EMAT),它结合了参数模型和检索改进模型的优点。它将外部知识编码到键值存储器中,并利用快速MIPS搜索进行存储器查询。我们引入了预训练任务,以学习更好的键值表示和将多个内存槽集成到transformer中。在知识密集型任务上的实验,包括开放域问答、对话和长形式问答,表明了EMAT的准确性和快速性。在未来,我们将寻求改进,将更多样化的知识整合到记忆中,并将我们的方法推广到更多的下游任务中。

局限性

一个限制是内存检索模块需要弱监督才能进行训练。这可能意味着,当应用于不同的下游任务时,我们定义了不同的弱监管标签。可以使用端到端的训练技术,如Paranjape等人提出的技术,用解码器的梯度训练记忆检索模块,我们将其作为未来的工作。另一个潜在的限制是,我们需要存储密集的键值存储器M,这需要大约300GB的CPU RAM。但由于获得CPU RAM比GPU内存多的机器相对容易,而且大多数深度学习工作站都能达到这一要求,我们认为这并不是太大的限制。此外,在内存资源不足的情况下,我们可以使用LRU缓存来节省RAM。

相关文章:

An Efficient Memory-Augmented Transformer for Knowledge-Intensive NLP Tasks

本文是LLM系列文章,针对《An Efficient Memory-Augmented Transformer for Knowledge 一种用于知识密集型NLP任务的高效内存增强转换器 摘要1 引言2 相关工作3 高效内存增强Transformer4 EMAT的训练流程5 实验6 分析7 结论局限性 摘要 获取外部知识对于许多自然语言…...

Java项目中jar war pom包的区别

1、pom&#xff1a;用在父级工程或聚合工程中&#xff0c;用来做jar包的版本控制&#xff0c;必须指明这个聚合工程的打包方式为pom。 <project ...> <modelVersion>4.0.0</modelVersion> <groupId>com.wong.tech</groupId> <artifactI…...

整理mongodb文档:分页

个人博客 整理mongodb文档:分页 个人博客&#xff0c;求关注&#xff0c;如果文章不够清晰&#xff0c;麻烦指出。 文章概叙 本文主要讲下在聚合以及crud的find方法中如何使用limit还有skip进行排序。 分页的情况很经常出现&#xff0c;这也是这篇博客诞生的理由。 数据准备…...

社区团购新玩法,生鲜蔬菜配货发货小程序商城

在当前的电商市场中&#xff0c;生鲜市场具有巨大的潜力和发展空间。为了满足消费者的需求&#xff0c;许多生鲜店正在寻找创新的方法来提高销售和客户满意度。其中&#xff0c;制作一个个性且功能强大的生鲜小程序商城是一个非常有效的策略。以下是在乔拓云平台上制作生鲜小程…...

shell bash中设置命令set

1 Preface/Foreword set命令用于shell脚本在执行命令时候&#xff0c;遇到异常的处理机制。 2 Usage 2.1 set -e 当执行命令过程中遇到异常&#xff0c;那么就退出脚本&#xff0c;不会往下执行其它命令。 #!/bin/bash #set -eroot GIT_TAG${CI_BUILD_TAG-NOTAG} GIT_REV…...

机器学习---预剪枝、后剪枝(REP、CCP、PEP、)

1. 为什么要进行剪枝 横轴表示在决策树创建过程中树的结点总数&#xff0c;纵轴表示决策树的预测精度。 实线显示的是决策树 在训练集上的精度&#xff0c;虚线显示的则是在⼀个独⽴的测试集上测量出来的精度。 随着树的增⻓&#xff0c;在 训练样集上的精度是单调上升的&…...

Python 爬虫—scrapy

scrapy用于从网站中提取所需数据的开源协作框架。以一种快速、简单但可扩展的方式。 该爬虫框架适合于那种静态页面&#xff0c; js 加载的话&#xff0c;如果你无法模拟它的 API 请求&#xff0c;可能就需要使用 selenium 这种使用无头浏览器的方式来完成你的需求了 入门 imp…...

ABB机器人20032转数计数器未更新故障报警处理方法

ABB机器人20032转数计数器未更新故障报警处理方法 ABB的机器人上面安装有电池,需要定期进行更换(正常一年换一次),如果长时间不更换,电量过低,就会出现转数计数器未更新的报警,各轴编码器的位置就会丢失,在更换新电池后,需要更新转数计数器。 具体步骤如下: 先用手动…...

C# 记事本应用程序

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System...

模型训练:优化人工智能和机器学习,完善DevOps工具的使用

作者&#xff1a;JFrog大中华区总经理董任远 据说法餐的秘诀在于黄油、黄油、更多的黄油。同样&#xff0c;对于DevOps而言&#xff0c;成功的三大秘诀是自动化、自动化、更高程度的自动化&#xff0c;而这一切归根结底都在于构建能够更快速地不断发布新版软件的流程。 尽管人…...

WorldCoin 运营数据,业务安全分析

WorldCoin 运营数据&#xff0c;业务安全分析 Worldcoin 的白皮书中声明&#xff0c;Worldcoin 旨在构建一个连接全球人类的新型数字经济系统&#xff0c;由 OpenAI 创始人 Sam Altman 于 2020 年发起。通过区块链技术在 Web3 世界中实现更加公平、开放和包容的经济体系&#…...

Java之Calender类的详细解析

Calendar类 3.1 概述 java.util.Calendar类表示一个“日历类”&#xff0c;可以进行日期运算。它是一个抽象类&#xff0c;不能创建对象&#xff0c;我们可以使用它的子类&#xff1a;java.util.GregorianCalendar类。 有两种方式可以获取GregorianCalendar对象&#xff1a; …...

uniapp 微信小程序 锚点跳转

uniapp文档 以下是我遇到的业务场景&#xff0c;是点击商品分类的某一类 然后页面滚动至目标分类&#xff0c; 首先第一步是设置锚点跳转的目的地&#xff0c;在目标的dom上面添加id属性 然后给每个分类每一项添加点击事件&#xff0c;分类这里的item数据里面有一字段是和上…...

主成分分析笔记

主成分分析是指在尽量减少失真的前提下&#xff0c;将高维数据压缩成低微的方式。 减少失真是指最大化压缩后数据的方差。 记 P P P矩阵为 n m n\times m nm&#xff08; n n n行 m m m列&#xff09;的矩阵&#xff0c;表示一共有 m m m组数据&#xff0c;每组数据有 n n n…...

android studio 的 adb配置

首先在 Android Studio 中 打开 File -> Settings: 下载 “Google USB Driver” 这个插件 (真机调试的时候要用到), 并且记一下上面的SDK路径: 右键桌面上的 “我的电脑”, 点击 “高级系统设置”, 配置计算机的高级属性, 有两步: 添加一个新的环境变量 ANDROID_HOME, 变量…...

【HTML5高级第一篇】Web存储 - cookie、localStorage、sessionStorage

文章目录 一、数据存储1.1 cookie1.1.1 概念介绍1.1.2 存储与获取1.1.3 方法的封装1.1.4 总结 1.2 localstorage 与 sessionstorage1.2.1 概述1.2.2 操作数据的属性或方法1.2.3 案例-提交问卷1.2.4 Web Storage带来的好处 附录&#xff1a;1. HTML5提供的数据持久化技术&#x…...

Flink---1、概述、快速上手

1、Flink概述 1.1 Flink是什么 Flink的官网主页地址&#xff1a;https://flink.apache.org/ Flink的核心目标是“数据流上有状态的计算”(Stateful Computations over Data Streams)。 具体说明&#xff1a;Apache Flink是一个“框架和分布式处理引擎”&#xff0c;用于对无界…...

QT实现TCP通信(服务器与客户端搭建)

一、TCP通信框架 二、QT中的服务器操作 创建一个QTcpServer类对象&#xff0c;该类对象就是一个服务器调用listen函数将该对象设置为被动监听状态&#xff0c;监听时&#xff0c;可以监听指定的ip地址&#xff0c;也可以监听所有主机地址&#xff0c;可以通过指定端口号&#x…...

云备份项目

云备份项目 1. 云备份认识 自动将本地计算机上指定文件夹中需要备份的文件上传备份到服务器中。并且能够随时通过浏览器进行查看并且下载&#xff0c;其中下载过程支持断点续传功能&#xff0c;而服务器也会对上传文件进行热点管理&#xff0c;将非热点文件进行压缩存储&…...

基础算法(一)

目录 一.排序 快速排序: 归并排序: 二.二分法 整数二分模板: 浮点二分: 一.排序 快速排序: 从数列中挑出一个元素&#xff0c;称为 "基准"重新排序数列&#xff0c;所有元素比基准值小的摆放在基准前面&#xff0c;所有元素比基准值大的摆在基准的后面&#…...

DS4Windows 3步掌握:如何在Windows上完美使用PS4手柄

DS4Windows 3步掌握&#xff1a;如何在Windows上完美使用PS4手柄 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows DS4Windows是一款功能强大的开源工具&#xff0c;让你在Windows电脑上也能…...

快速导出微信聊天记录:WeChatExporter让你轻松备份珍贵对话

快速导出微信聊天记录&#xff1a;WeChatExporter让你轻松备份珍贵对话 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否曾担心手机丢失或更换设备时&#xff0c;那…...

用知识图谱重构搜索引擎

一、传统搜索&#xff1a;关键词的“机械匹配”时代你输入词&#xff0c;它找文档我们熟悉的搜索引擎&#xff0c;无论是早期的Google还是百度的首页&#xff0c;核心逻辑都是关键词匹配。你输入“苹果热量”&#xff0c;它就把互联网里包含“苹果”和“热量”两个词的网页抓出…...

告别折腾:esir高大全版OpenWrt软路由安装后,必做的5项安全与性能优化设置

软路由进阶指南&#xff1a;esir高大全版OpenWrt安装后的5项关键优化 对于已经完成esir高大全版OpenWrt软路由基础安装的用户而言&#xff0c;真正的挑战才刚刚开始。一套配置得当的软路由系统不仅能提供稳定的网络环境&#xff0c;更能释放硬件全部潜能。本文将深入探讨五项关…...

5分钟快速上手!免费开源字幕编辑器Subtitle Edit终极使用指南

5分钟快速上手&#xff01;免费开源字幕编辑器Subtitle Edit终极使用指南 【免费下载链接】subtitleedit the subtitle editor :) 项目地址: https://gitcode.com/gh_mirrors/su/subtitleedit 你是否正在寻找一款功能强大且完全免费的字幕编辑软件&#xff1f;Subtitle …...

java篇12-Java中的异常

java中的异常是一个类&#xff0c;处理异常就是创建一个异常类对象并抛出这个对象&#xff0c;java处理异常的机制是中断&#xff0c;异常不是语法错了&#xff0c;语法错了编译不通过&#xff0c;不会产生字节码文件&#xff0c;不会运行&#xff0c;而异常是在运行过程中导致…...

如何用AI生成高性能无机材料?MatterGen让材料设计革命化

如何用AI生成高性能无机材料&#xff1f;MatterGen让材料设计革命化 【免费下载链接】mattergen Official implementation of MatterGen -- a generative model for inorganic materials design across the periodic table that can be fine-tuned to steer the generation tow…...

如何快速实现微信小游戏开发:weapp-adapter的完整实践指南

如何快速实现微信小游戏开发&#xff1a;weapp-adapter的完整实践指南 【免费下载链接】weapp-adapter weapp-adapter of Wechat Tiny Game in ES6 项目地址: https://gitcode.com/gh_mirrors/we/weapp-adapter 对于熟悉Web前端开发的程序员来说&#xff0c;微信小游戏开…...

QKeyMapper:重新定义Windows输入控制的终极解决方案

QKeyMapper&#xff1a;重新定义Windows输入控制的终极解决方案 【免费下载链接】QKeyMapper [按键映射工具] QKeyMapper&#xff0c;Qt开发Win10&Win11可用&#xff0c;不修改注册表、不需重新启动系统&#xff0c;可立即生效和停止。支持游戏手柄映射到键鼠&#xff0c;手…...

DeepSpeech终极指南:离线语音识别的深度学习引擎完整实践

DeepSpeech终极指南&#xff1a;离线语音识别的深度学习引擎完整实践 【免费下载链接】DeepSpeech DeepSpeech is an open source embedded (offline, on-device) speech-to-text engine which can run in real time on devices ranging from a Raspberry Pi 4 to high power G…...