直接扩展到无限长,谷歌Infini-Transformer终结上下文长度之争

    ChatGPT狂飙160天,世界已经不是之前的样子。
新建了免费的人工智能中文站https://ai.weoknow.com
新建了收费的人工智能中文站https://ai.hzytsoft.cn/

更多资源欢迎关注

不知 Gemini 1.5 Pro 是否用到了这项技术。

谷歌又放大招了,发布下一代 Transformer 模型 Infini-Transformer。

Infini-Transformer 引入了一种有效的方法,可以将基于 Transformer 的大型语言模型 (LLM) 扩展到无限长输入,而不增加内存和计算需求。使用该技术,研究者成功将一个 1B 的模型上下文长度提高到 100 万;应用到 8B 模型上,模型能处理 500K 的书籍摘要任务。

自 2017 年开创性研究论文《Attention is All You Need》问世以来,Transformer 架构就一直主导着生成式人工智能领域。而谷歌对 Transformer 的优化设计最近比较频繁,几天前,他们更新了 Transformer 架构,发布 Mixture-of-Depths(MoD),改变了以往 Transformer 计算模式。没过几天,谷歌又放出了这项新研究。

专注 AI 领域的研究者都了解内存的重要性,它是智能的基石,可以为 LLM 提供高效的计算。然而,Transformer 和基于 Transformer 的 LLM 由于注意力机制的固有特性,即 Transformer 中的注意力机制在内存占用和计算时间上都表现出二次复杂性。例如,对于批大小为 512、上下文长度为 2048 的 500B 模型,注意力键 - 值 (KV) 状态的内存占用为 3TB。但事实上,标准 Transformer 架构有时需要将 LLM 扩展到更长的序列(如 100 万 token),这就带来巨大的内存开销,并且随着上下文长度的增加,部署成本也在增加。

基于此,谷歌引入了一种有效的方法,其关键组成部分是一种称为 Infini-attention(无限注意力)的新注意力技术。不同于传统的 Transformer 使用局部注意力丢弃旧片段,为新片段释放内存空间。Infini-attention 增加了压缩内存(compressive memory),可以将使用后的旧片段存储到压缩内存中,输出时会聚合当前上下文信息以及压缩内存中的信息,因而模型可以检索完整的上下文历史。

该方法使 Transformer LLM 在有限内存的情况下扩展到无限长上下文,并以流的方式处理极长的输入进行计算。

实验表明,该方法在长上下文语言建模基准测试中的性能优于基线,同时内存参数减少了 100 倍以上。当使用 100K 序列长度进行训练时,该模型实现了更好的困惑度。此外该研究发现,1B 模型在 5K 序列长度的密钥实例上进行了微调,解决了 1M 长度的问题。最后,论文展示了具有 Infini-attention 的 8B 模型经过持续的预训练和任务微调,在 500K 长度的书籍摘要任务上达到了新的 SOTA 结果。

本文贡献总结如下:

  • 引入了一种实用且强大的注意力机制 Infini-attention—— 具有长期压缩内存和局部因果注意力,可用于有效地建模长期和短期上下文依赖关系;

  • Infini-attention 对标准缩放点积注意力( standard scaled dot-product attention)进行了最小的改变,并通过设计支持即插即用的持续预训练和长上下文自适应;

  • 该方法使 Transformer LLM 能够通过流的方式处理极长的输入,在有限的内存和计算资源下扩展到无限长的上下文。

图片

  • 论文链接:https://arxiv.org/pdf/2404.07143.pdf

  • 论文标题:Leave No Context Behind: Efficient Infinite Context Transformers with Infini-attention

方法介绍

Infini-attention 使 Transformer LLM 能够通过有限的内存占用和计算有效地处理无限长的输入。如下图 1 所示,Infini-attention 将压缩记忆融入到普通的注意力机制中,并在单个 Transformer 块中构建了掩码局部注意力和长期线性注意力机制。

图片

对 Transformer 注意力层进行这种微妙但关键的修改可以通过持续的预训练和微调将现有 LLM 的上下文窗口扩展到无限长。

Infini-attention 采用标准注意力计算的所有键、值和查询状态,以进行长期记忆巩固(memory consolidation)和检索,并将注意力的旧 KV 状态存储在压缩内存中,而不是像标准注意力机制那样丢弃它们。在处理后续序列时,Infini-attention 使用注意查询状态从内存中检索值。为了计算最终的上下文输出,Infini-attention 聚合了长期记忆检索值和局部注意力上下文。

如下图 2 所示,研究团队比较了基于 Infini-attention 的 Infini-Transformer 和 Transformer-XL。与 Transformer-XL 类似,Infini-Transformer 对 segment 序列进行操作,并计算每个 segment 中的标准因果点积注意力上下文。因此,点积注意力计算在某种意义上是局部的。

图片

然而,局部注意力在处理下一个 segment 时会丢弃前一个 segment 的注意力状态,但 Infini-Transformer 复用旧的 KV 注意力状态,以通过压缩存储来维护整个上下文历史。因此,Infini-Transformer 的每个注意力层都具有全局压缩状态和局部细粒度状态。

与多头注意力(MHA)类似,除了点积注意力之外,Infini-attention 还为每个注意力层维护 H 个并行压缩内存(H 是注意力头的数量)。

图片

下表 1 列出了几种模型根据模型参数和输入 segment 长度,定义的上下文内存占用和有效上下文长度。Infini-Transformer 支持具有有限内存占用的无限上下文窗口。

图片

实验

该研究在长上下文语言建模、长度为 1M 的密钥上下文块检索和 500K 长度的书籍摘要任务上评估了 Infini-Transformer 模型,这些任务具有极长的输入序列。对于语言建模,研究者选择从头开始训练模型,而对于密钥和书籍摘要任务,研究者采用不断预训练 LLM 的方式,以证明 Infini-attention 即插即用的长上下文适应能力。

长上下文语言建模。表 2 结果表明 Infini-Transformer 优于 Transformer-XL 和 Memorizing Transformers 基线,并且与 Memorizing Transformer 模型相比,存储参数减少了 114 倍。

图片

密钥任务。表 3 为 Infini-Transformer 在 5K 长度输入上进行微调后,解决了高达 1M 上下文长度的密钥任务。实验中输入 token 的范围从 32K 到 1M,对于每个测试子集,研究者控制密钥的位置,使其位于输入序列的开头、中间或结尾附近。实验报告了零样本准确率和微调准确率。在对 5K 长度输入进行 400 个步骤的微调后,Infini-Transformer 解决了高达 1M 上下文长度的任务。

图片

摘要任务。表 4 将 Infini-Transformer 与专门为摘要任务构建的编码器 - 解码器模型进行了比较。结果表明 Infini-Transformer 超越了之前最佳结果,并且通过处理书中的整个文本在 BookSum 上实现了新的 SOTA。 

图片

研究者还在图 4 中绘制了 BookSum 数据验证分割的总体 Rouge 分数。根据折线趋势表明,随着输入长度的增加,Infini-Transformers 提高了摘要性能指标。

图片

    ChatGPT狂飙160天,世界已经不是之前的样子。
新建了免费的人工智能中文站https://ai.weoknow.com
新建了收费的人工智能中文站https://ai.hzytsoft.cn/

更多资源欢迎关注


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

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

相关文章

springboot同时支持jsp+vue页面启动

1、参考文档链接 参考上面文档边百度边改&#xff0c;现在可以了&#xff0c;分享下 2、Java项目目录结构 3、pom.xml内容 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi&quo…

计算机网络 路由器基本配置

一、实验内容 1、按照下表配置好PC机IP地址和路由器端口IP地址 2、配置好路由器特权密文密码“abcd&#xff0b;两位班内序号”和远程登录密码“star” 3、验证测试 a.验证各个接口的IP地址是否正确配置和开启 b.PC1 和 PC2 互ping c.验证PC1通过远程登陆到路由器上&#…

【教学类-52-04】20240412动物数独(4宫格)空1-空15

作品展示 背景需求&#xff1a; 【教学类-52-03】20240412动物数独&#xff08;4宫格&#xff09;难度1-9 打印版-CSDN博客文章浏览阅读603次&#xff0c;点赞20次&#xff0c;收藏8次。【教学类-52-03】20240412动物数独&#xff08;4宫格&#xff09;难度1-9 打印版https://…

MATLAB | 怎样绘制更有立体感的柱状图

之前写了一篇文章说明了MATLAB图例可以自己diy&#xff0c;这次又有了diy的机会&#xff0c;我开发了一个简单的小工具&#xff0c;能够实现绘制伪3d的柱状图&#xff0c;大概效果如下&#xff1a; 使用说明 由于涉及的代码比较接近MATLAB底层的图形对象&#xff0c;有点东西还…

MVCC(解决MySql中的并发事务的隔离性)

MVCC 如何保证事务的隔离性&#xff1f; 1.排他锁&#xff1a;如一个事务获取了一个数据行的排他锁&#xff0c;其他事务就不能再获取改行的其他锁。 2.MVCC&#xff1a;多版本并发控制。 MVCC&#xff1a; 1.隐藏字段 1.DB_TRX_ID&#xff1a;最近修改事务的id。默认值从0开…

4.9总结(Stream流,方法引用概述 || 乘法逆元,组合数)

Stream流 基本概念&#xff1a;以更简便的方式操作集合数据的形式&#xff1b; Steam流的操作步骤&#xff1a; 获取Stream流 中间方法&#xff1a;去重&#xff0c;跳过&#xff0c;获取&#xff0c; 过滤&#xff0c; 合并流&#xff0c;转换类型&#xff1b; 终结方法&…

黑马鸿蒙学习5:渲染foreach

foreach是用来循环渲染界面用的&#xff0c;比如&#xff1a;语法是先定义一个数组&#xff0c;如上图&#xff1a; 其中的keygenerator&#xff0c;其实意思是说&#xff0c;如果要渲染的内容发生了变化&#xff0c;则由于有独特的标识&#xff0c;可以 减少渲染次数。 实例&a…

【linux深入剖析】深入理解基础外设--磁盘以及理解文件系统

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 前言1.磁盘物理结构2.磁盘…

【数据结构】04串

串 1. 定义2. 串的比较3. 串的存储结构4. 具体实现5. 模式匹配5.1 常规思路实现5.2 KMP模式匹配算法5.2.1 next数组计算5.2.1 代码计算next数组5.2.2 KMP算法实现 1. 定义 串(string)是由零个或多个字符组成的有限序列&#xff0c;又叫字符串。 一般记为s a 1 , a 2 , . . . ,…

软件供应链安全:寻找最薄弱的环节

在当今的数字时代&#xff0c;软件占据主导地位&#xff0c;成为全球组织业务和创新的支柱。它是差异化、项目效率、成本降低和竞争力背后的驱动力。软件决定了企业如何运营、管理与客户、员工和合作伙伴的关系&#xff0c;以及充分利用他们的数据。 挑战在于&#xff0c;当今…

【MVCC】深入浅出彻底理解MVCC

MVCC概述 MVCC&#xff08;Multi-Version Concurrency Control&#xff09;即多版本并发控制。主要是为了提高数据库的并发性能而提供的&#xff0c;采用了不加锁的方式处理读-写并发冲突&#xff0c;确保了任何时刻的读操作都是非阻塞的。只需要很小的开销&#xff0c;就可以…

电视盒子哪个好?2024口碑网络电视盒子排行榜

多年来电视盒子始终占据重要地位&#xff0c;功能上并没有受到影响。在这么多品牌中哪些电视盒子的评价是最好的呢&#xff1f;小编根据各大电商平台的用户评价情况整理了口碑最好的网络电视盒子排行榜&#xff0c;跟着小编一起看看市面上的电视盒子哪个好吧。 TOP 1&#xff1…

如何访问远程MySQL数据库?

远程访问MySQL数据库是在不同设备之间实现数据交互的一种方式。通过远程访问&#xff0c;用户可以轻松地操作远程MySQL数据库&#xff0c;从而实现数据的读写、修改和查询等操作。本文将介绍远程访问MySQL数据库的原理和实现方法&#xff0c;以及一种被广泛应用的解决方案【天联…

[入门到放弃]设计模式-笔记

模块化设计 20240448 模块不包含数据&#xff0c;通过实例的指针&#xff0c;实现对实例的操作&#xff1b;唯一包含的数据是用于管理这些模块的侵入式链表模块只负责更具定义的数据结构&#xff0c;执行对应的逻辑&#xff0c;实现不同实例的功能&#xff1b; 参考资料 使用…

TCP/IP协议—UDP

TCP/IP协议—UDP UDP协议UDP通信特点 UDP头部报文UDP检验 UDP协议 用户数据传输协议 (UDP&#xff0c;User Datagram Protocol) 是一种无连接的协议&#xff0c;提供了简单的数据传输服务&#xff0c;不保证数据的顺序以及完整性。应用层很多通信协议都基于UDP进行传输&#x…

[当人工智能遇上安全] 13.威胁情报实体识别 (3)利用keras构建CNN-BiLSTM-ATT-CRF实体识别模型

《当人工智能遇上安全》系列将详细介绍人工智能与安全相关的论文、实践&#xff0c;并分享各种案例&#xff0c;涉及恶意代码检测、恶意请求识别、入侵检测、对抗样本等等。只想更好地帮助初学者&#xff0c;更加成体系的分享新知识。该系列文章会更加聚焦&#xff0c;更加学术…

最新常见的图数据库对比,选型,架构,性能对比

图数据库排名 地址&#xff1a;https://db-engines.com/en/ranking/graphdbms 知识图谱查询语言 SPARQL、Cypher、Gremlin、PGQL 和 G-CORE 语法 / 语义 / 特性SPARQLCypherGremlinPGQLG-CORE图模式匹配查询语法CGPCGPCGP(无可选)1CGPCGP语义子图同态、包 2无重复边、包 2子…

大唐极简史

唐朝&#xff08;618年-907年&#xff09;&#xff0c;是中国历史上一个强盛的朝代&#xff0c;以其疆域辽阔、政治稳重、经济繁荣、文化繁荣而著称。唐朝的开国皇帝是李渊&#xff0c;他建立了一个强大的中央集权政府&#xff0c;使得唐朝成为当时世界上最繁荣的国家之一。 唐…

vmware虚拟机补救

更新了虚拟机里面工具和资料&#xff0c;进行了磁盘整理和压缩&#xff0c;虚拟机运行进不去系统了。 网站找的修复方法均不可行。补救措施&#xff1a;利用DiskGenius.exe&#xff08;要用高版本不然复制的时候就知道了&#xff09; DG1342.rar - 蓝奏云 加载虚拟硬盘 2008x…

最新微信支付商家转账到零钱各场景怎样开通?

商家转账到零钱是什么&#xff1f; 商家转账到零钱是企业付款到零钱的升级版&#xff0c;它的功能是&#xff0c;如果系统需要对用户支付费用&#xff0c;比如发放佣金、提成、退款等&#xff0c;可以直接转账到用户的微信零钱。这个功能在 2022 年 5 月 18 日之前叫做企业付款…