挑战单卡单日训练BERT,ViT作者推荐

Pine 发自 凹非寺

量子位 | 公众号 QbitAI

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

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

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

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

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

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

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

挑战过程

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

性能接近最初的BERT

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

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

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

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

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

参考链接:
https://twitter.com/giffmana/status/1608568387583737856

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态

展开阅读全文

页面更新:2024-05-04

标签:梯度   正弦   单日   量子   研究人员   架构   模型   大小   性能   语言   作者   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top