ICLR Spotlight|Facebook提出无损INT8优化器,单机可以跑千亿参数模型了??(3)
扫一扫
分享文章到微信
扫一扫
关注99科技网微信公众号
动态量化 Dynamic Quantization 首先简绍一下动态树量化,动态树量化包括四部分:(1) 符号位Sign;(2)指数Exponent,使用0的数量表示指数大小;(3)标志位,表明后面是线性量化的数值;(4)线性数值。
与固定指数和分数的数据类型不同,动态树量化可以通过移动标志位,随每个数字动态变化指数和分数的范围,从而保留更多小数位的信息。动态量化实际上就是动态树量化在优化器场景下的拓展,优化器二阶矩估计恒为正,不需要符号位,因此将符号位重新利用来拓展线性数值的表达范围。 稳定的词嵌入层 StableEmbedding Layer
词嵌入层(embedding layer)经常在模型训练的时候发生梯度溢出的情况,从而让模型不能稳定训练。稳定的词嵌入层方法通过Xavier uniform进行参数初始化并在Embedding Layer后加上层归一化操作,保证张量大致为1的方差,并且均匀分布初始化相对于正态分布初始化避免了极值的出现,保证梯度不会溢出,极大地提高了训练稳定性。
效果
作者在机器翻译、基于RoBERTa模型的文本预训练及其在GLUE任务上微调、图像预训练和分类任务上比较了8位优化器和32位优化器的性能表现,效果如下图所示:
8位优化器在包括翻译、文本理解和图像的7个基准数据集上相对于32位优化器均有相当甚至更优的性能指标,此外,8位优化器极大减少了内存消耗并在一定程度上提升了模型的训练速度。
此外,作者进一步通过基于模型预训练的消融实验验证了动态量化、逐块量化和稳定词嵌入层三种方法对模型效果的影响,如下图所示:
我们可以看到动态量化对整体稳定性至关重要,缺少动态量化会导致模型不能正常收敛;逐块量化对更大规模模型的训练稳定性产生了更为关键的作用;稳定的词嵌入层对8位和32位优化器都是有用的,在一定程度上提高了稳定性。
总结
8位优化器减少了内存占用,并在广泛的任务上实现了加速优化。目前Facebook提供了bitsandbytes库,两行代码即可调用8位优化器,一键实现广大“贫民”炼丹玩家小显存玩转大模型的梦,大家赶快动手试试吧~
99科技网:http://www.99it.com.cn

北京时间7月20日早间消息,据报道, 美国企业 MetaX LLC 公司起诉 Meta 商标侵权
快资讯2022-07-20

北京时间 7 月 19 日下午消息,据报道,亚马逊今日对 10000 多个 Facebook 群组的管
快资讯2022-07-19

北京时间 7 月 8 日消息,Meta 将推出一种新的方式,让用户们无需使用 Facebook
快资讯2022-07-08

新浪科技讯 北京时间 7 月 7 日晚间消息,据报道,Facebook(Meta)前员工布伦南
快资讯2022-07-08
