大道至简?ETH研究团队提出简化版Transformer模型,综合效率明显提升

news2024/12/26 11:24:08

7844e28e008b454faa2ab09c3834846f.png

论文题目: Simplifying Transformer Blocks

论文链接:https://arxiv.org/abs/2311.01906

2023年,Transformer已经成为人工智能领域中最受欢迎的基础模型,如今火热的大型语言模型,多模态大模型均由不同类型的Transformer架构组成。与先前的CNN模型类似,Transformer同样遵循一个设计规范,即首先构造一个基础块,这个基础块通常由注意力块、MLP层、跳跃连接和归一化层构成,它们以特定的排列方式进行组合,随后对基础块进行堆叠形成最终的Transformer模型。不难看出,每个基础块的内部其实存在多种不同的排列方式,这种复杂性直接导致了整体架构的不稳定

本文介绍一篇来自苏黎世联邦理工学院(ETH Zurich)计算机科学系的研究工作,本文从信号传播理论的角度重新审视了标准Transformer基础块的设计缺陷,并提出了一系列可以在不降低训练速度的情况下对基础块进行优化的方案。例如直接移除跳跃连接和调整投影层参数等操作来简化基础块,作者在自回归解码器和BERT编码器等具体模型上的实验表明,通过简化后的Transformer可以达到与标准Transformer的相当的训练速度和性能,同时训练吞吐量提高了15%,使用的参数减少了 15%。

01. 引言

简单来说,本文的研究目的是探究Transformer基础块中各个组件的必要性,包括跳跃连接、投影矩阵、自注意力和归一化层等。从信号传播理论层面出发,本文的工作突出了信号传播的优势和目前的局限性,信号传播理论研究了神经网络参数初始化时网络内部几何信息的演化,其通过捕捉对不同层表征之间计算内积的方式来提高模型性能。然而,目前的理论往往只考虑模型的前向传递过程,而忽略了研究网络动态训练过程中的信息传递,例如跳跃连接对训练速度的益处。

从模型实际落地方面考虑,目前数十亿参数级别的参数规模已经逐渐成为大模型入门的门槛,如果能移除掉一些非必要的组件来简化Transformer基础块,既能减少参数数量,又能提高模型的吞吐量。本文简化Transformer基础块的出发点来源于作者在ICLR 2023上发表的论文《Deep Transformers without Shortcuts: Modifying Self-attention for Faithful Signal Propagation》[1]。

5e47a53761d64e718ccf7005486b4d7c.png

在这篇论文中,作者证明了一个重要的观察,即Transformer模型在缺乏残差连接或归一化层时仍然可以成功训练,但每次参数更新的收敛速度会显着降低。因此本文对基础块中其他组件的参数进行调整,例如调整value和投影参数的更新策略,或者直接移除,可以提高模型在缺乏残差连接时的性能。更进一步,作者将这种简化后的基础块与并行子块策略相结合就可以弥补之前方法在收敛速度上的缺陷。同时,从模型实用性和泛化性方面考虑,作者将本文的简化块应用到各种Transformer架构上,包括纯编码器和纯解码器架构,实验结果均表明简化后的基础块会达到更好的综合性能。

02. 本文方法

2.1 标准块和并行结构

目前流行的Transformer的标准块结构如下图左侧所示,称为Pre-LN,其与最原始的Post-LN块的不同之处在于二者的归一化层相对于跳跃连接的位置不同,由于Post-LN块的训练稳定性较差以及深层信号传播等问题,目前Pre-LN模块更加常用。

0248751e7f9e44de89a1c2ae3b9564fa.png

2.2 简化Transformer标准块

虽然本文的简化操作建立在信号传播理论基础之上,但是作者进行了大量的实验来进行验证,本文的所有实验均在CodeParrot数据集上进行了实验,该数据集的规模非常庞大,网络在不同设置下训练的泛化差距非常小,这使得作者可以更加专注于观察训练速度的差异。

2.2.1 移除注意力子块的跳跃连接

1c3c49469f944bf0be1aee0570729edf.png

71f12446be6b4a3aac7e3e8329890db9.png

2.2.2 删除 MLP 子块的跳跃连接

2.2.3 移除归一化层

如果我们仔细观察Pre-LN基础块,会发现在每个子块中都会使用归一化层作为前处理或后处理,如果能去除归一化层,那我们就可以得到最简单的标准块。从信号传播初始化的角度来看,归一化操作可以隐含的削减上一子块中的权重,而这种效果也可以在跳跃连接过程通过明确指定来实现,或者使用Shaped Attention来代替

e08c417bbb1e4042affeceda11bab235.png

上图展示了本文移除归一化层(SAS系列)之后模型的训练速度对比,可以看到,在移除归一化层之后,最简单的SAS仍然能够达到Pre-LN块的训练速度。

03. 进一步的实验分析

3.1 深度缩放实验

由于信号传播理论通常对网络深度参数非常敏感,一般来说,信号的退化通常出现在更深的网络中。因此,作者在下图中对transformer简化标准块在不同深度网络中的表现进行了实验,可以看出,当网络深度从18层拓展到72层时,简化标准块可以获得更低的训练loss,这表明本文提出的简化模型不仅能够训练得更快,而且能够利用更多深度提供的额外信息。

3.2 下游任务性能测试

0447c7973a874fa5ba7a0834d577e1f9.png

为了衡量本文简化标准块在实际下游任务中的性能,作者选择了标准的双向纯编码器 BERT 模型作为基础模型,并采用了下游 GLUE 基准进行实验。同时,作者采用了更加经济的Crammed BERT 设置,即在有限的训练预算(在单个消费 GPU 上训练 24 小时)下,测试BERT模型的性能。

324eaa5a1f6b47e39c0235c190efcfa3.png

上表展示了本文方法的不同版本在masked语言建模任务上的参数数量和训练速度对比,可以发现,本文的SAS模型使用的参数减少了16%,SAS-P 和 SAS 的每次迭代速度分别比Pre-LN模块快 16% 和 9%。

f207fa7b61fa4aa18b8418cd7392d7eb.png

在下图中,作者展示了在 24 小时运行时间内,本文的简化区块(尤其是归一化区块)与 Pre-LN 基线的收敛速度对比,可以看到,本文的SAS系列模型的训练速度也达到了与Pre-LN相近的水平,另一方面,在不修改value和projection的情况下删除跳跃连接(即Value-SkipInit方法)会再次导致训练速度大幅下降。

04. 总结

本文针对Transformer架构中的基础块进行了一系列的理论分析和优化简化工作,但作者提到,尽管本文提出的简化块在很多架构和数据集上均能实现更高效的性能,但是目前所考虑的模型相对于几十亿和几百亿参数的transformer来说还是很小的。但是通过本文的深度缩放等实验,证明了简化块在更深层次网络中进行信息传递的潜力,这表明,通过进一步在信号传播理论层面探索基础块的运行机制,就可以将简化块扩展到更深层次和更多参数的LLMs中,将会大幅度降低参数占用和训练时间,降低大模型实际落地的成本。

参考

[1] Bobby He, James Martens, Guodong Zhang, Aleksandar Botev, Andrew Brock, Samuel L Smith, and Yee Whye Teh. Deep transformers without shortcuts: Modifying self-attention for faithful signal propagation. In The Eleventh International Conference on Learning Representations, 2023.

[2] Ben Wang and Aran Komatsuzaki. GPT-J-6B: A 6 Billion Parameter Autoregressive Language Model. https://github.com/kingoflolz/mesh-transformer-jax, May 2021.


关于TechBeat人工智能社区

TechBeat(www.techbeat.net)隶属于将门创投,是一个荟聚全球华人AI精英的成长社区。

我们希望为AI人才打造更专业的服务和体验,加速并陪伴其学习成长。

期待这里可以成为你学习AI前沿知识的高地,分享自己最新工作的沃土,在AI进阶之路上的升级打怪的根据地!

更多详细介绍>>TechBeat,一个荟聚全球华人AI精英的学习成长社区 

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

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

相关文章

数据结构与算法-Rust 版读书笔记-2线性数据结构-队列

数据结构与算法-Rust 版读书笔记-2线性数据结构-队列 1、队列:先进先出 队列是项的有序集合,其中,添加新项的一端称为队尾,移除项的另一端称为队首。一个元素在从队尾进入队列后,就会一直向队首移动,直到…

财务机器人(RPA)会影响会计人员从业吗?

财务机器人会对会计从业人员有影响。 不过是正面积极的影响。 它是财务人员工作的好助手好帮手。 具体展开聊聊财务RPA机器人是如何成为财务人员的好帮手。 财务机器人是在人工智能和自动化技术的基础上建立的、以软件机器人作为虚拟劳动力、依据预先设定的程序与现有用户系…

Axure的安装以及简单使用

目录 Axure简介 是什么 有什么用 Axure的优缺点 优点: 缺点: 安装 汉化 Axure的使用 工具栏 页面 ​编辑 添加子页面 ​编辑 Axure简介 是什么 Axure是一款著名的原型设计工具。它允许用户创建交互式线框图、流程图、原型和其他设计文档&…

ERROR: [BD 41-237] Bus Interface property FREQ_HZ does not match between

在自定义IP出现以上错误时可以通过双击模块clk属性 如果是灰色无法二次编辑时,在封装IP时,选择以下菜单

【笔记】硬件工程师入门基础课程

学习视频(b站):硬件工程师入门基础元器件课程 基础元器件课程 p1 电阻1. 定义、特性及参数1.1 色环电阻 识别方法:1.2 伏安特性1.3 基本参数 2.电阻的功能2.1 分压2.2 限流2.3 浪涌保护 3. 如何选择电阻 p2 电容1. 电容的定义1.1电…

redis(设置密码)配置文件详细

1.设置账号密码端口 config set requirepass 123456 设置密码为123456 config get requirepass 查看账号密码 auth 123456 登入的时候输入这个确定账号密码 1. 首先连接到Redis服务器: redis-cli 2. 然后使用CONFIG SET命令设置requirepass参数并指定密码: CONFIG SET requi…

Viewport Meta 标记:让网页适应各种设备的魔法符号

在我们用手机或平板电脑浏览网页时,你是否曾发现有些网页能够很好地适应屏幕,而有些却需要左右滑动才能完整显示内容?这就涉及到一个神奇的东西——Viewport Meta 标记。 最近本人在研究自适应的各自实现方法,比如media媒体查询、…

PR快闪模板|简约时尚快节奏开场视频PR模板剪辑素材

这是一款Premiere Pro快闪模板,简约时尚快节奏开场视频 pr模板剪辑素材,用于以独创的方式创建明亮的介绍、时尚的开场白或模特展示。 Premiere Pro CC21及以上,即使是初学者也可以轻松使用,包含视频教程。 来自PR模板网&#xff1…

Go json 差异比较 json-diff(RFC6902)

Go json 差异比较 json-diff(RFC 6902) 毕业设计中过程中为了比较矢量图的差异而依据 RFC 6902 编写的一个包,现已开源: Json-diff 使用 go get -u github.com/520MianXiangDuiXiang520/json-diff序列化与反序列化 与官方 json 包的序列化和反序列化不…

微服务学习|elasticsearch:数据聚合、自动补全、数据同步

数据聚合 聚合的分类 聚合 (aggregations)可以实现对文档数据的统计、分析、运算。聚合常见的有三类: 桶(Bucket)聚合:用来对文档做分组 TermAggregation:按照文档字段值分组 Date Histogram:按照日期阶梯分组,例如一周为一组,或者一月为一组 度量(M…

动能资讯 | 智慧汽车—城市NOA迎爆发

在特斯拉引领的 TransformerBev 架构驱动下,智驾算法趋近于端到端的智驾大模型,使得智能驾驶开始步入城市 NOA 新时代。 消费者认知增强,未来市场空间广阔。伴随城市 NOA 在 23-24 年的落地和普及、L3 法规在年内的落地,行业 0-1…

Java-异常(一)-异常的概述和常见异常的举例

🐶b站视频 124-异常处理-异常的概述与常见异常的举例_哔哩哔哩_bilibili 目录 b站视频 5.1 异常概念 5.2 Error 示例代码 5.3 Exception异常划分 ❓面试题:常见的异常有哪些?举例说明 🐶5.1 异常概念 在使用计算机语言进行…

HarmonyOS应用开发-手写板

这是一个基于HarmonyOS做的一个手写板应用,只需要简单的几十行代码,就可以实现如下手写功能以及清空画布功能。 一、先上效果图: 二、上代码 Entry Component struct Index {//手写路径State pathCommands: string ;build() {Column() {//…

HCIA-H12-811题目解析(10)

1、【单选题】DHCP客户端在租期到达哪个比例时第一次发送续租报文? 2、【单选题】在WLAN中用于标识无线网络, 区分不同的无线网络的是? 3、【单选题】我们在笔记本电脑上搜索可接入无线网络时,显示出来的网络名称实际是 4、【单…

leetcode 904. 水果成篮(优质解法)

代码: class Solution {public int totalFruit(int[] fruits) {int lengthfruits.length;int []fruitNumsnew int[length1]; //用于记录各个种类摘了多少个水果int count0; //用于记录当前采摘了几种水果int sum0; //用于记录当前共摘了多少水果for(int left0…

mmseg上手自己的数据集

制作自己的数据集,VOC格式为例。 这三个文件包括数据集的名称。可以使用labelme脚本自动生成。 跟据预测类别修改配置文件 D:\projects\mmsegmentation-main\mmseg\datasets\voc.py 因为是voc格式的数据集,在这个文件里进行配置,修改成自己数…

at least 1 bean which qualifies as autowire candidate

No qualifying bean of type com. spdbcccdl.mapper.dl.DatabaseDaoavailable: expected at least 1 bean which qualifies as autowire candidate.

《PySpark大数据分析实战》-02.了解Hadoop

📋 博主简介 💖 作者简介:大家好,我是wux_labs。😜 热衷于各种主流技术,热爱数据科学、机器学习、云计算、人工智能。 通过了TiDB数据库专员(PCTA)、TiDB数据库专家(PCTP…

PC 机与单片机通信(RS232 协议)

PC 机与单片机通信(RS232 协议) 目录: 1、单片机串口通信的应用 2、PC控制单片机IO口输出 3、单片机控制实训指导及综合应用实例 4、单片机给计算机发送数据: [实验任务] 单片机串口通信的应用,通过串口,我们的个人电脑和单…

智能优化算法应用:基于阴阳对算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于阴阳对算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于阴阳对算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.阴阳对算法4.实验参数设定5.算法结果6.参考文…