2

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

 1 year ago
source link: https://www.51cto.com/article/743725.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

作者:Pine 2023-01-01 13:51:06
这次研究的目标也很明确,就是反其道行之:缩小语言训练模型的算力,在有限的计算量的情况下如何达到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​

c4faefa55ea021f261a7291b7f0d97c0f43e0d.jpg

责任编辑:张燕妮 来源: 量子位

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK