单个GPU,只花一天时间,能把BERT训练成什么样

人工智能 新闻
这次研究的目标也很明确,就是反其道行之:缩小语言训练模型的算力,在有限的计算量的情况下如何达到BERT的性能水平。

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

单个GPU,只花一天时间,能把BERT训练成什么样?

现在,终于有研究人员做这件事了,在有限的计算条件之下看看语言模型的真实性能如何。

图片

要知道在以往,大多数专业人员的关注点都在极端计算的条件下的语言模型性能。

但这样的语言训练模型环境,对很多研究人员和从业人员是不可能存在的。

因此这个单天单个GPU的挑战,就有网友称是一个最希望看到的基准。

图片

连ViT作者,谷歌大脑研究员Lucas Beyer都发文推荐,称这是一个令人耳目一新的转变。

图片

具体的过程和结果如何,一起来看看~

挑战过程

这次研究的目标也很明确,就是反其道行之:缩小语言训练模型的算力,在有限的计算量的情况下如何达到BERT的性能水平

既然要缩小计算量,那第一步肯定是对模型作出一些限定。

这也还是之前提到的,限定时间和GPU个数:单天单个GPU。

关于GPU,研究人员分别选取了3个进行测试,即rtx2080ti、rtxa4000和rtxa6000,每个单元有4个CPU核和32GB内存。

图片

在限定计算量之后,就要对模型的其他参数进行一些调整,以进一步对BERT的实际适用性进行评估

这些调整包括初始数据设置、模型架构、训练以及数据集的改进。

并且在调整的过程中,整体基调都是围绕“实际使用”进行的,避免跳转到专业的设置,为此,研究人员将所有内容都保持在PyTorch框架的实现级别上。

先来说说初始数据设置,这部分可以简单概括为以下几点:

  • 将标记化的数据打包成长度为128的随机序列,不相关的片段用分割;
  • 删除< cls > 标记,因为在训练前训练中加入它并没有对性能产生多大影响;
  • 将序列长度为64到96微小批量累积到大批量再处理。

然后是对架构的修改,下图显示了不同模型在随着token数量的增加MLM任务损失的变化。

结果很显然,一个模型损失的衰减很大程度地取决于模型的大小,而不是模型的类型。

图片

并且,因为每个token的性能与模型大小之间的关系紧密耦合,若想通过改变Transformer模型的大小和类型来获得巨大性能增益是不太可能的。

不过对于同大小的所有模型,每个梯度效率是几乎保持不变的,因此可以在保证模型大小不变的情况下,选择能够通过快速搜索加速计算的架构。

具体的优化和其他调整如下:

  • 减少注意力头的数量来降低梯度成本:禁用所有QKV偏差;
  • 禁用所有线性层偏差,通过加速梯度计算,不会对模型大小产生明显影响;
  • 实现比例正弦位置嵌入,相较于学习或非比例正弦嵌入有增量收益;
  • LN的预标准化比后LN更有益;
  • 去除非线性头部并无影响。

接下来便要对训练进行设置,具体也就不再赘述,直接来看相关调整:

  • 优化器依旧是Adam;
  • 设定Learning Rate计划和批量大小;
  • 丢掉Dropout环节。(因为Dropout会导致每秒更新的净减少)

而在数据集方面,研究团队采用了两种基于数据的途径来更好地缩小规模,分别是以各种方式过滤、处理或排序现有的数据交换数据源,具体可以看下表。

性能接近最初的BERT

在调整完各种参数后,这个单卡一天的BERT性能到底如何?直接看看最终的数据!

在下游性能评估时是通过GLUE来进行的,下表能够看到在3个不同显卡上的得分,非常接近最初的BERT。

图片

而当模型训练计算量为16倍时,即(2天,在8个GPU),依旧是一样的数据和设置,最终得到的结果比最初的BERT提高了很多,达到了RoBERTa的性能水平。

图片

如果想了解更多,可以点击下面链接查看论文原文~

论文原文:​​​https://arxiv.org/abs/2212.14034​

责任编辑:张燕妮 来源: 量子位
相关推荐

2015-09-15 10:51:35

2020-11-18 10:17:22

比特币加密货币区块链

2015-04-08 10:40:09

2020-07-23 08:17:47

代码开发人员用户

2013-06-26 10:49:09

云端大脑科技技术

2020-05-08 15:49:50

神经网络人工智能架构

2009-08-02 22:32:44

综合布线系统

2015-10-22 16:01:52

无线网络华三通信

2020-09-23 08:55:16

交换机配置网络vlan

2019-05-13 15:45:29

程序员面试招聘

2022-10-30 15:03:25

人工智能仓库管理机器人

2013-12-25 09:07:24

微软鲍尔默诺基亚

2022-04-05 20:24:19

元宇宙技术数字化

2010-09-01 15:27:40

DHCP工作流程

2012-06-18 09:33:03

云计算IBM惠普

2013-09-24 09:52:24

2009-10-26 13:36:10

BSM

2019-01-22 10:58:07

2013-01-31 11:51:37

开源KVM

2019-04-26 13:59:10

网络VLAN虚拟局域网
点赞
收藏

51CTO技术栈公众号