直接扩展到无限长,谷歌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/

更多资源欢迎关注


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

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

相关文章

突破像素限制,尽显照片细腻之美——Topaz Gigapixel AI for Mac/Win

在这个数字化的时代,我们都热爱用照片记录生活中的美好瞬间。然而,有时候我们会发现,由于各种原因,照片的像素可能无法满足我们的需求。这时候,Topaz Gigapixel AI for Mac/Win 这款强大的照片放大工具应运而生。 Top…

联储降息预期落空打了谁的脸

美国 3 月消费者价格指数(CPI)于本周发布,最新数据全线高于预期。具体而言,美国劳工部周三公布的数据显示,美国 3 月消费者物价指数(CPI)同比上涨 3.5%,为 2023 年 9 月以来最高水平…

python基础——类【类的定义和使用、魔术方法】

📝前言: python中的类,自我感觉在某种程度上和C语言的结构体是有共同之处的,如果有兴趣,可以先看看这篇文章:C语言——结构体类型(一),先了解一下C语言中的结构体&#x…

在Ubuntu上安装Docker Compose

Docker Compose 是一个用于定义和管理Docker容器的工具,它使用yml来配置应用的服务、网络和卷等。特别是在定义多个容器时,它非常擅长定义多个容器之间的关系和依赖。 第一步:更新软件包 sudo apt update第二步:安装网络工具cur…

基于FMC接口的Kintex-7 XC7K325T PCIeX4 3U PXIe接口卡

基于FMC接口的Kintex-7 XC7K325T PCIeX4 3U PXIe接口卡 一、板卡概述 本板卡基于Xilinx公司的FPGAXC7K325T-2FFG900 芯片,pin_to_pin兼容FPGAXC7K410T-2FFG900 ,支持PCIeX8、64bit DDR3容量2GByte,HPC的FMC连接器,板卡支持PXI…

【INNODB引擎篇】深奥探究Innodb存储引擎

🔥作者主页:小林同学的学习笔录 🔥mysql专栏:小林同学的专栏 目录 1.InnoDB引擎 1.1 逻辑存储结构 1.2 架构 1.2.1 概述 1.2.2 内存结构 1.2.3 磁盘结构 1.2.4 后台线程 1.3 事务原理 1.3.1 事务基础 1.3.2 redo log 1.…

时间复杂度详解1——定义和简单计算

算法效率的度量方法 事后统计方法 事后统计方法:这种方法主要是通过设计好的测试程序和数据,利用计算机计时器对不同算法编制的程序的运行时间进行比较,从而确定算法效率的高低。 但这种方法显然是有很大缺陷的: 必须依据算法事先…

分布式系统:缓存与数据库一致性问题

前言 缓存设计是应用系统设计中重要的一环,是通过空间换取时间的一种策略,达到高性能访问数据的目的;但是缓存的数据并不是时刻存在内存中,当数据发生变化时,如何与数据库中的数据保持一致,以满足业务系统…

02-攻防世界PHP2

题目 authenticate:证明什么是真的 解题 观察题目可知,访问index.phps可能会有不一样的发现 http://61.147.171.105:51671/index.phps访问该链接,可以得到下面的界面 这里只显示出了部分代码,右键该界面,点击查看源代码&#xf…

使用ArrayList.removeAll(List list)导致的机器重启

背景 先说一下背景,博主所在的业务组有一个核心系统,需要同步两个不同数据源给过来的数据到redis中,但是每次同步之前需要过滤掉一部分数据,只存储剩下的数据。每次同步的数据与需要过滤掉的数据量级大概在0-100w的数据不等。 由…

【学习】移动端兼容性测试有什么方法及重要性

随着移动互联网的快速发展,移动应用程序已经成为人们日常生活中不可或缺的一部分。然而,由于各种移动设备的硬件和软件差异,移动应用程序的兼容性问题也越来越突出。因此,移动端兼容性测试成为了一个重要的环节,它可以…

如何在 Android 设备上恢复已删除/丢失的文档

随着Android设备内存容量的不断增加,许多人将手机作为移动硬盘来存储大量文档或其他文件。由于某些原因,文件丢失绝对是一场彻头彻尾的噩梦,因为里面的数据可能是要汇报的学习档案、领导会议的安排、或者付费电子书等。通常,你首先…

02_JavaWeb中的Tomcat(详解)

文章目录 Tomcat1, 概述1.1 安装1.2 目录结构1.3 启动/停止 2, 资源部署2.1 直接部署: 主要和重要的方式2.2 虚拟映射: 重要2.2.1 方式一:2.2.1 方式二: 2.3 原理解析 3, Tomcat组件3.1 Connector3.2 Engine3.2.1 Host3.2.1.1 Context 4, 其它: 重要4.1 设置 Tomcat 1, 概述 w…

sql server2008触发器

sql server在Navicat工具不能插入数据 可以去写代码插入,代码连接sql server可以插入 或者使用sql server专门的工具 BEGINdeclare a int;declare s t_amount;select a baddebt_age_id,srate from aa_baddebt_age;INSERT INTO dade(id,name) VALUES(a,s) END

手机外屏碎8折维修,天星金融(原小米金融)助阵米粉节

今年4月6日是小米公司14岁生日,也是一年一度的盛会“米粉节”。据“小米服务”官方公众号发布的消息,为庆祝这一重要日子,从4月6日起至4月17日,为用户带来一系列服务权益。 据悉,活动共包括8项服务权益,其…

12.4.1 实验1:配置CDP

12.4.1 实验1:配置CDP 1、实验目的 通过本实验可以掌握: CDP特征。CDP配置和调试方法。通过CDP查看设备直连邻居信息的方法。 2、实验拓扑 配置CDP的实验拓扑如上图所示。 3、实验步骤 (1)配置路由器R1 R1(config)#interface serial 0…

【opencv】示例-pca.cpp PCA图像重建演示

// 加载必要的头文件 #include <iostream> // 用于标准输入输出流 #include <fstream> // 用于文件的输入输出 #include <sstream> // 用于字符串的输入输出流操作#include <opencv2/core.hpp> // OpenCV核心功能的头文件 #include "o…

Pycharm通过配置隧道连接远程服务器

前言&#xff1a; 上篇有说到局域网windows和服务器互通的情况下连接远程pycharm&#xff0c;这次咱们来说下通过跳板机的方式连接服务器如何做到windows远程连接到服务器 1&#xff1a;设置SSH隧道或SSH代理 ssh -L localhost:LOCAL_PORT:FINAL_SERVER_IP:FINAL_SERVER_PORT…

AI赋能的BIM体验

近年来&#xff0c;人工智能&#xff08;AI&#xff09;技术与建筑信息模型&#xff08;BIM&#xff09;的融合给建筑行业带来了革命性的变化。 BIM 是建筑物物理和功能特征的数字表示&#xff0c;与 AI 功能相结合&#xff0c;显着改变了客户的体验。 在本文中&#xff0c;我们…

1.Chinese Tiny LLM_ Pretraining a Chinese-Centric Large Language Model

文章目录 摘要一、背景二、预训练数据统计信息数据处理 模型架构 三、SFT四、Learning from Human Preferences五、评估数据集和指标训练过程和比较分析安全性评估中文硬指令理解与遵循评价 六、结论 https://arxiv.org/abs/2404.04167https://github.com/Chinese-Tiny-LLM/Chi…