2024 年1月12日最热NLP大模型论文:Transformers are Multi-State RNNs

揭秘Transformer的无限可能,Meta研究发现Transformer其实是多状态RNN

引言:重新定义Transformer的视角

在自然语言处理(NLP)的领域,Transformer架构自2017年提出以来,已经成为了一种主流的模型,它在多种任务中取得了前所未有的成功。与此同时,循环神经网络(RNN)这一曾经的主流架构逐渐被边缘化。然而,本文的研究提出了一个颠覆性的观点:即使Transformer在概念上与RNN有所不同,但在某些情况下,仅包含解码器的Transformer实际上可以被视为一种无限多状态的RNN(MSRNN)——一种具有无限隐藏状态大小的RNN变体。

通过将预训练的Transformer转换为有限的MSRNN,我们可以通过固定其隐藏状态的大小来实现这一点。这种转换不仅揭示了Transformer在实践中常常表现为RNN的行为,而且还为缓解其最大的计算瓶颈之一——缓存大小提供了可能的解决方案。本研究提出了一种名为TOVA的新策略,它通过仅基于注意力分数来选择保留哪些令牌,相比于现有的缓存压缩技术,TOVA更为简单。实验结果表明,TOVA在多个长期任务中的表现超越了所有其他基线策略,同时与完整(无限)模型几乎持平,有时仅使用原始缓存大小的1/8。

我们的研究不仅重新定义了Transformer的理解,还为减少推理过程中的内存消耗提供了实际的方法,有望在硬件资源受限的情况下推广Transformer模型的使用。

本文内容由 赛博马良「AI论文解读达人」 智能体生成,人工整理排版。

「AI论文解读达人」 可提供最热AI论文推荐、论文解读等功能。

传送门:

https://www.saibomaliang.com/generate?agent_id=68248fd1-32f9-4869-a35d-b6086ac0ebcf

论文标题、机构、论文链接和项目地址(如有)

论文标题:Transformers are Multi-State RNNs
机构:The Hebrew University of Jerusalem, FAIR, AI at Meta
论文解读链接:

https://www.saibomaliang.com/generate?session_id=210b194f-c5c4-4a1c-8d81-8ddae744aa4a

项目地址:未提供具体链接,但论文中提到公开发布了相关代码。

Transformer与RNN的联系:一种新的视角

1. Transformer的无限多状态RNN(MSRNN)理论

在对自然语言处理(NLP)模型的发展历程进行回顾时,我们发现Transformer模型(Vaswani et al., 2017)已经取代了循环神经网络(RNNs; Elman, 1990)成为了NLP领域的首选架构。尽管Transformer与RNN在概念上被认为有着显著的不同——Transformer能够直接访问序列中的每个标记,而RNN则通过维护先前输入的递归状态来处理信息——我们在本工作中展示了,仅包含解码器的Transformer实际上可以被概念化为无限多状态的RNN(MSRNN),这是一种具有无限隐藏状态大小的RNN变体。随着每个解码步骤中先前标记数量的增加,Transformer对应于具有无限状态数的MSRNN。

2. 将Transformer转化为有限MSRNN的方法

我们进一步展示了,通过限制每一步处理的标记数量,预训练的Transformer可以被压缩成有限的MSRNN。我们观察到,一些现有的Transformer缓存压缩技术可以被视为这种转换策略,并引入了一种新的策略,即TOVA,这种策略相比于这些策略更为简单。我们的实验表明,TOVA在多个长期任务上的表现超过了所有其他基线策略,同时与完整的(无限)模型几乎持平,在某些情况下仅使用原始缓存大小的1/8。

提出TOVA策略:简化的有限MSRNN压缩方法

1. TOVA策略的工作原理

TOVA策略基于一个简单的原则:仅根据它们的注意力分数来选择保留在多状态中的标记。在每个解码步骤中,我们考虑当前查询对所有当前多状态中的标记以及当前标记的softmax归一化注意力分数。得分最低的标记将被丢弃。这种策略相比于上述策略做出了更少的假设:它既不固定最近的标记窗口,也不偏好序列中早期的标记。我们的分析表明,尽管TOVA策略存在轻微的近期偏见,但大量的近期标记被丢弃,而一些初始标记在数千个解码步骤中被保留,表明它们对于成功解码确实很重要。

2. TOVA策略与现有方法的对比

我们的实验结果表明,TOVA策略在长期任务的评估中超越了所有现有策略,并且在多数情况下,使用1/8至1/4的多状态大小就能与无限MSRNN模型(即常规预训练的Transformer)的性能相媲美。此外,我们的分析还发现,并非所有最近的标记都是重要的,有些可以安全地丢弃。我们还强调了在序列中保留第一个标记的重要性,并突出了其他一些可能令人惊讶的重要标记,例如所有格名词。我们的结果揭示了Transformer解码器LLMs的行为;虽然它们被训练为无限MSRNNs,但它们在实践中通常表现为有限MSRNNs。我们的结果还具有实际的好处——我们提出的方法在推理过程中大幅度减少了内存消耗,导致LLM缓存大小减少了多达88%。

实验设置:评估压缩策略的性能

1. 长范围评估的三种类型

在评估压缩策略的性能时,我们采用了三种长范围评估类型:语言建模、长范围理解和长文本生成。语言建模任务使用PG-19测试集,该测试集包含平均长度为70k令牌的100本完整书籍。长范围理解任务则采用了ZeroSCROLLS基准测试中的两个测试集,分别关注长范围摘要和长范围问答。长文本生成任务则通过提示促使模型生成长篇故事,并使用GPT-4作为评估器,比较不同种子生成的故事质量。

2. 选用的Transformer LLM家族

实验中选用了三个最先进的Transformer LLM家族:LLaMA-2、Mistral和Yi,每个家族提供了约7B参数的版本进行评估。对于语言建模任务,使用了模型的原始版本。对于长范围理解任务,还考虑了三个经过微调的版本:LLaMA-2-chat、Mistral-Instruct和neural-chat,这些版本在特定指令任务中表现出色。最后,对于文本生成任务,使用了专门为故事生成微调的MythoLogic版本。

实验结果:TOVA策略的表现

1. 语言建模任务的结果

在语言建模任务中,TOVA策略在所有多状态大小中均优于其他策略,并且在使用1/8至1/4的上下文大小时,与完整上下文的顶线模型的结果相当(图3)。这表明TOVA策略在保留关键信息的同时,大幅减少了所需的上下文长度。

2. 长范围理解任务的结果

在长范围理解任务中,TOVA策略在所有多状态大小中一致地优于其他基线策略。在SQuALITY数据集上,使用1/8至1/4的完整上下文大小,TOVA的结果与顶线模型相差不到一个点(图4)。在QASPER基准测试上,尽管TOVA策略需要一半的完整多状态大小才能与顶线模型的结果相当,但它仍然优于其他基线策略(图5)。

3. 长文本生成任务的结果

在长文本生成任务中,限制多状态大小会导致生成的文本更短。然而,TOVA策略在多状态大小为1024时,能够保持与完整模型相同的平均故事长度。通过GPT-4对生成的故事进行评估,TOVA策略在与顶线模型的比较中获得了平均胜率(图6)。尽管评估长篇故事的质量具有挑战性,但TOVA策略在生成长文本方面的表现仍然与无限MSRNN模型相当。

综上所述,TOVA策略在各项任务中表现出色,特别是在使用远小于原始缓存大小的情况下,仍能与完整模型相媲美,显示出其在压缩Transformer LLM缓存方面的巨大潜力。

分析:哪些Token更重要?

在深入探讨Transformer模型的行为时,了解哪些Token在模型中扮演关键角色是至关重要的。本章节将分析保留和丢弃Token的趋势,以及特定Token的重要性。

1. 保留和丢弃Token的趋势

研究表明,并非所有最近的Token都是重要的,有些可以安全地从记忆中丢弃。此外,研究还显示了序列中第一个Token的重要性,并强调了其他一些意外重要的Token,例如所有格名词。这些发现揭示了Transformer解码器LLMs的行为;虽然它们被训练为无限MSRNNs,但在实践中它们通常表现为有限MSRNNs。这些结果还具有实际的好处,它们提出的方法大幅度减少了推理过程中的内存消耗,导致LLM缓存大小减少了多达88%。

2. 特定Token的重要性

通过分析TOVA策略保留的Token,我们发现,尽管大多数压缩策略(如Sec. 3.3中提到的)保留了最近的Token,TOVA策略却显示出了明显的窗口趋势,表明了最近Token对解码的重要性。然而,我们也观察到许多较旧的Token被保留下来。实际上,只有73-76%的Token是最近的,其余的是较旧的。这表明,尽管最近的Token很重要,但远远不够。重要的是,与之前手工制作的最近窗口不同,我们的方法自动识别了它。

此外,通过将每个Token映射到其词性标记(POS-tag),我们发现标点符号和其他特殊符号往往被保留。然而,我们还发现了其他倾向于保留更长时间的Token,例如所有格名词(POS)和专有名词(NNPS)。研究这些Token的作用是一个令人兴奋的研究方向,我们将在未来的工作中探讨。

讨论:Transformer作为有限MSRNN的行为

Transformer模型通常被视为与RNNs不同的架构,因为它们可以直接访问序列中的每个Token,而不是像RNNs那样维护前一个输入的重复状态。然而,最近的研究表明,仅解码器的Transformer实际上可以被概念化为具有无限隐藏状态大小的多状态RNNs(MSRNNs)。通过限制每一步处理的Token数量,Transformer可以被压缩成有限的MSRNNs。

本文介绍的TOVA策略,通过仅基于它们的注意力分数来选择保留哪些Token,表现出比现有策略更优越的性能。此外,我们的结果表明,在许多情况下,使用TOVA策略的有限MSRNNs在性能上与相应的无限MSRNNs相当,同时只需要1/8–1/4的多状态大小。值得注意的是,尽管Transformer没有被训练为这样,它们通常的功能类似于有限MSRNNs。

这些发现不仅揭示了Transformer的内部工作机制,以及它们与RNNs的联系,而且还具有实际价值——它们可以显著减少Transformer LLMs的缓存大小,从而可能增加它们被具有有限硬件访问的用户采用的可能性。

相关工作:Transformer、RNN和有限KV缓存

在自然语言处理(NLP)领域,Transformer模型自2017年由Vaswani等人提出以来,已经取代了循环神经网络(Recurrent Neural Networks, RNNs)成为了主流架构。与RNNs不同,Transformer模型能够直接访问序列中的每个token,而不是像RNNs那样维护一个反复出现的先前输入的状态。然而,最近的研究表明,仅包含解码器的Transformer(decoder-only transformers)实际上可以被概念化为具有无限隐藏状态大小的多状态RNNs(infinite multi-state RNNs, MSRNNs)。

1. Transformer与RNN的关系

在本项工作中,我们展示了解码器仅包含Transformer的自回归性与RNNs的核心原则——保留从一个步骤到下一个步骤的状态——是一致的。基于这一观察,我们正式将仅包含解码器的Transformer重新定义为MSRNNs的一种形式。重要的是,随着每个解码步骤之前的tokens数量的增长,Transformers对应于具有无限数量状态的MSRNNs。我们进一步展示了通过限制每个步骤处理的tokens数量,Transformers可以被压缩成有限的MSRNNs。

2. 有限KV缓存

在先前的工作中,已经提出了几种压缩策略,这些策略有效地限制了预训练基于Transformer的大型语言模型(LLMs)的容量。这些压缩策略通常被称为KV缓存技术,例如H2O策略和Window+i策略,它们通过聚合整个序列的注意力分数并保留得分最高的tokens来动态选择非窗口tokens。我们的定义将这些工作框定为将预训练的Transformers从无限转换为有限的MSRNNs。

结论:Transformer作为MSRNN的实践意义

我们的研究结果表明,尽管Transformer模型在理论上被训练为无限的MSRNNs,但在实践中它们通常表现为有限的MSRNNs。我们提出的方法TOVA(Token Omission Via Attention)在多个长期任务中的表现超过了所有现有策略,并且与完整的(无限)模型相比,性能几乎相同,而在某些情况下只使用了原始缓存大小的1/8。

我们的分析还发现,并非所有最近的tokens都需要保留在内存中,有些可以安全地丢弃。此外,我们还展示了保留序列中的第一个token的重要性,并强调了其他一些可能令人惊讶的重要tokens,如所有格名词。这些发现不仅揭示了Transformer解码器LLMs的行为,并且还具有实际价值——我们提出的方法大幅度减少了推理过程中的内存消耗,导致LLM缓存大小减少了多达88%。

总的来说,我们的工作不仅阐明了Transformers的内部工作原理及其与RNNs的联系,还具有实际应用价值,可以显著减少Transformer LLMs的内存占用,从而可能增加其在硬件资源有限的用户中的采用率。

本文内容由 赛博马良「AI论文解读达人」 智能体生成,人工整理排版。

传送门:

赛博马良——懂流量密码的新媒体AI员工定制平台

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第十四章JSON

第十四章JSON 1.什么是JSON2.JSON的定义和访问3.JSON在JavaScript中两种常用的转换方式4.JavaBean和JSON的相互转换5.List集合和JSON的相互转换6.map集合和JSON的相互转换 1.什么是JSON 2.JSON的定义和访问 JSON的定义 JSON的类型是一个Object类型 JSON的访问 我们要…

芋道框架----(业务表单工作流)短信通知流程分析

芋道中给的请假流程示例,在发起流程的时候,可以看到它是由短信通知的,找了好久,想看看是什么时候触发的,之前一直以为是监听器,结果导致思维先入为主,陷入了怪圈,现做如下总结。 首先…

轻松批量重命名,一键随机并控制长度:让你的文件夹名充满无限可能

在数字时代,我们拥有海量的数据和文件,其中很多都存储在各种文件夹中。然而,随着时间的推移,文件夹名称可能变得不再相关或难以记忆。如何给这些文件夹一个全新的、充满创意的名字?今天,我们为你带来了这款…

20/100 删除链表的倒数第 N 个结点 21/100 有效的括号 22/100 合并两个有序列表

20/100 删除链表的倒数第 N 个结点 题目: 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 题解: 方法1:第一次完整遍历一遍得到长度,第二次遍历到倒数第n个数据前一个,进…

vue3中组合式api的常用方法

vue3中组合式api的常用方法 记录一下vue3中常用的组合式api&#xff0c;包括计算属性computed、监听器watch及watchEffective 一、computed 作用&#xff1a;根据已有数据计算出新数据&#xff08;和Vue2中的computed作用一致&#xff09;。 <template><div class&…

Bom 和 Dom 区别 ----- 真是DOM 和 虚拟Dom区别

DOM和BOM的区别 我们都指代&#xff0c;javascript由三个部分组成&#xff1a; ECMAScript&#xff1a;描述了JS的语法和基本对象 BOM(浏览器对象)&#xff1a;与浏览器交互的方法和对象 DOM(文档对象模型)&#xff1a;处理网页内容的方法和接 ps&#xff1a;根据宿主&#x…

Nerf相关研究

1.Nerf相关研究 随着Luma AI的到来&#xff0c;再次将Nerf推向浪尖&#xff0c;实用性进一步得到强化。Nerf仍以极速的发展速度前行&#xff0c;越来越多的研究方向不断涌现。 4K-Nerf 4K-NeRF: High Fidelity Neural Radiance Fields at Ultra High Resolutions 论文&#…

JVM内存模型深度剖析与优化

欢迎大家关注我的微信公众号&#xff1a; 目录 JVM整体结构及内存模型 JVM内存参数设置 JVM整体结构及内存模型 首先附一段简单代码&#xff0c;我们从代码层面来讲解内存模型 public class Math {public static final int initData 666;public static User user new …

性能测试分析案例-定位DNS解析很慢

环境准备 预先安装 docker 等工具&#xff0c;如 apt install docker.io。 操作和解析 执行下面的命令&#xff0c;拉取案例中使用的 Docker 镜像&#xff1a; docker pull feisky/dnsutils运行下面的命令&#xff0c;查看主机当前配置的 DNS 服务器&#xff1a; cat /etc…

你知道谁才是 “最懂程序员” 的搜索引擎?

大家好&#xff0c;我是奇兵&#xff0c;作为一名程序员&#xff0c;我们开发的过程中几乎每天都和搜索引擎打交道&#xff0c;利用它来搜文档、解决 Bug 等等。 而随着 AI 的发展&#xff0c;搜索引擎也变得越来越智能&#xff0c;市面上也涌现除了越来越多的 AI 搜索引擎。 …

【qt】sdk写pro写法,cv,onnx,cudnn

我的sdk在OpenCV003项目里&#xff1a; pro中添加 CONFIG(release, debug|release) {LIBS -L$$PWD/sdk/onnxruntime-x64-gpu/lib/ -lonnxruntimeLIBS -L$$PWD/sdk/onnxruntime-x64-gpu/lib/ -lonnxruntime_providers_cudaLIBS -L$$PWD/sdk/onnxruntime-x64-gpu/lib/ -lon…

深入探索JavaScript中实用而高级的Rest参数和Spread语法

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ ​ ✨ 前言 函数是JavaScript这个语言的核心,而如何处理函数的参数是函数编程中非…

深度学习工具-Amazon SageMaker使用

Amazon SageMaker 深度学习程序可能需要很多计算资源&#xff0c;这很容易超出你的本地计算机所能提供的范围。云计算服务允许你使用功能更强大的计算机更轻松地运行本书的GPU密集型代码。 注册 首先&#xff0c;我们需要在注册一个帐户https://aws.amazon.com/。 为了增加安…

io.lettuce.core.RedisCommandExecutionException: NOAUTH Authentication required.

报错信息&#xff1a; 浏览器中的报错信息 IDEA中的报错信息 报错原因&#xff1a; SpringBoot整合Redis使用的默认配置&#xff0c;但是我们设置了Redis的密码&#xff0c;而默认配置中密码是为空的&#xff0c;导致不能够连接 浏览器中的报错信息 There was an unexpected …

ChatGLM2-6B 大语言模型本地搭建

ChatGLM模型介绍&#xff1a; ChatGLM2-6B 是清华 NLP 团队于不久前发布的中英双语对话模型&#xff0c;它具备了强大的问答和对话功能。拥有最大32K上下文&#xff0c;并且在授权后可免费商用&#xff01; ChatGLM2-6B的6B代表了训练参数量为60亿&#xff0c;同时运用了模型…

Mac/Linux虚拟机CrossOver2024新版下载使用教程

CrossOver不像Parallels或VMware的模拟器&#xff0c;而是实实在在Mac OS X系统上运行的一个软件&#xff0c;该软件可以让用户在mac是上直接运行windows软件&#xff0c;本文为大家带来的是CrossOver Mac版安装教程&#xff01; CrossOver Mac-安装包下载如下&#xff1a;http…

zookerper入门

zookerper介绍 ZooKeeper 是一个开源的分布式协调框架,主要用来解决分布式集群中应用系统的一致性问题. ZooKeeper本质上是一个分布式的小文件存储系统&#xff08;Zookeeper文件系统监听机制&#xff09;.提供基于类似于文件系统的目录树方式的数据存储&#xff0c;并且可以…

typora导出html添加目录

typora导出html添加目录 使用方法 首先要从typora导出html文件&#xff0c;之后用记事本编辑器html文件 找到文档最后面&#xff0c;如图&#xff1a; 用文字编辑类工具打开sideBar.txt&#xff0c;复制其中所有内容【内容在下面】 在如上图的位置插入所复制的内容 打开修改…

漏油控制器有用吗?漏油监测器多少钱一个?

漏油控制器也可以被称作漏油监测器、漏油传感器&#xff0c;是漏油检测系统里的一部分&#xff0c;一般是和漏油检测绳组合在一起使用&#xff0c;用来检测油罐、输油管道、油类化工厂等场合是否有油料泄露。很多人刚开始可能会觉得难以置信&#xff0c;这么一个小东西就可以检…

SPDK中常用的性能测试工具

本文主要介绍磁盘性能评估的方法&#xff0c;针对用户态驱动Kernel与SPDK中各种IO测试工具的使用方法做出总结。其中fio是一个常用的IO测试工具&#xff0c;可以运行在Linux、Windows等多种系统之上&#xff0c;可以用来测试本地磁盘、网络存储等的性能。为了和SPDK的fio工具相…