专注工科类创新实验教学、科研开发20余年!方案覆盖嵌入式、IOT、AI、机器人、新能源等领域。
 
  当前位置:首页 >> 新闻动态 >> 所有行业动态
 
公司新闻
 
培训与竞赛
 
行业新闻
 
产品资讯

点击排行(TOP 10)
  创新设计方案:手机便携式
  首届NAO机器人在线程序设计
  Altera官方视频教程
  中国EDA助力移动互联发展
  嵌入式微处理器选型的考虑
  在京高校专利申请去年首破
  无线充电时代即将普及
  英特尔挑战ARM移动市场
  日本三大电子巨头走下神坛
  德州仪器不再重点投资移动
  华为“网络天线”,颠覆传
 
谷歌发布人类历史首个万亿级模型 Switch Transformer
     革新科技  来源:BAAI 智源社区 日期:2021/1/13 9:10:23 阅读:402 次
- 返回 -
 

16000亿!谷歌发布人类历史首个万亿级模型 Switch Transformer。

新年伊始,大规模预训练模型军备竞赛进入万亿参数时代。

近日,Google Brain的研究人员William Fedus、Barret Zoph、Noam Shazeer等在arxiv上提交了一篇新论文,“Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity”,提出了稀疏激活专家模型Switch Transformer。

研究人员表示,这个1.6万亿参数模型似乎是迄今为止最大的模型,其速度是Google之前开发的最大语言模型(T5-XXL)的4倍,参数规模几乎是1750亿参数的GPT-3的十倍!
 
这应该是人类历史上发布的第一个万亿级人工智能模型。
 
研究人员在论文中指出,大规模训练是通向强大模型的有效途径,具有大量数据集和参数计数的简单架构可以远远超越复杂的算法,但目前有效的大规模训练主要使用稠密模型。
 
作为对比,William等人提出的 Switch Transformer 采用了“稀疏激活”技术。所谓稀疏,指的是对于不同的输入,只激活神经网络权重的子集。
 
根据作者介绍,Switch Transformer是在MoE的基础上发展而来的,而MoE则是90年代初首次提出的AI模型。MoE 将多个“专家”或专门从事不同任务的模型放在一个较大的模型中,并有一个“门控网络”来选择对于任何给定数据要咨询哪些/个“专家”。
 
尽管MoE取得了一些显著成功,但复杂性、通信成本和训练不稳定阻碍了其广泛采用。
 
Switch Transformer的新颖之处在于,它有效地利用了为稠密矩阵乘法(广泛用于语言模型的数学运算)而设计的硬件——例如GPU和Google TPU。研究人员为不同设备上的模型分配了唯一的权重,因此权重会随着设备的增多而增加,但每个设备上仅有一份内存管理和计算脚本。

Switch Transformer 在许多下游任务上有所提升。研究人员表示,它可以在使用相同计算资源的情况下使预训练速度提高7倍以上。他们证明,大型稀疏模型同样可以用于创建较小的、稠密的模型,通过微调,这些模型相对大型模型会有30%的质量提升。

论文一作William Fedus 也在twitter上表示,「我们的模型采样更加高效,相比于流行的模型,T5-Base,T5-Large、T5-XXL等能实现4到7倍的增速。」

在一项测试中,Switch Transformer模型以在100多种不同语言之间的翻译测试中,研究人员观察到“普遍改进”,与基准模型相比,91%的语言翻译有4倍以上的提速。

研究人员认为,在未来的工作中,Switch Transformer可以应用到其他模态或者跨模态的研究当中。模型稀疏性可以多模态模型中发挥出更大的优势。

01 模型框架

模型的设计原则是,在保持计算开销与效率的同时,尽可能的提升模型的参数量。该工作通过固定每个数据样本所进行的浮点数操作,对比不同参数量可能带来的影响。实际运行中,该方法通过split层将不同的参数分配到不同的设备上,在增加新的设备时,更多的参数会被引入,因此能够根据设备的属性分配参数数量,同时维持在各个设备上的存储开销和计算足迹。

1)简化稀疏通道

Mixture of Expert Routing:
Shazeer et al.(2017) 提出了一种混合专家轨迹的语言模型,能给输入匹配到最适合的k个“专家”模型。分配的参数W生成每个“专家”的结果所占的比重,进行线性加和,得到样本的输出结果。

Switch Routing: Rethinking Mixture-of-Experts:
作者在本文中提出的Switch Layer对上述MoE模型做出改进,MoE模型对每个输出需要参考至少2个以上的专家意见,而本文提出的Switch Routing方法,针对不同的输入,匹配最适合的一个专家。有如下优势:
1、通道计算量大大降低,因为每个样本仅仅需要一个“专家”通道参与计算;
2、每个“专家”通道所计算样本的batchsize被大大缩小(至少减半);
3、每个专家通道的实现复杂度减小了,“专家”间的通信开销降低。

2)高效稀疏通道

模型采用了Mesh-Tensorflow(MTF)库实现,能够高效支持分布式的数据与模型结构,下面的部分将会重点介绍Switch-Transformer的实现。

Distributed Switch Implementation
虽然输入数据的张量大小是实现决定的,但因为分配通道的不同,以及训练和预测阶段的不同,计算过程是动态变化的,因此作者采用了expert capacity的设定,通过调整每个expert计算的token数量,来控制整体的计算。
当capacity factor大于1时,代表需要创建额外的缓存器来容纳没能在expert中得到较好分配的数据。当过多数据被交付给同一个expert时,计算过程则会被跳过,数据将直接通过残差连接交付给下一层。增大capacity也会带来缺点,比如内存和计算资源的浪费。

3)Putting all together

第一个测试时在Raffel et al. 2019年引入的“Colossal Clean Crawled Corpus”(C4)上进行。采用了masked language model task,令模型预测消失的tokens。测试中随机drop out百分之15的token并使用一个前缀token来替换mask序列。我们记录困惑度(Negative Log Perplexity)进行对比。

1、在速度-质量的指标上,Switch-Transformer超过了精密微调的稠密模型,与MoE Transformer。在有限的计算量与工作时间下,Switch Transformer都得到了最优的结果;
2、Switch Transformer有更小的计算足迹(computational footprint);
3、在更小的capactiy factor下,Switch Transformer工作的效果更佳。

4)提升训练与微调的技术

稀疏专家模型相比普通Transformer更难训练,这是由于切换通道带来的不稳定引起的,同时,低精度计算会导致恶化softmax计算中的问题,下面列举训练中遇到的问题,以及本文解决的方法。

Selective Precision with Large Sparse Model:
在MoE的工作中,作者发现低精度训练存在的问题,并通过float32精度数据训练解决,但是此举会引入更高的通信开销,本文工作发现,在局部引入高精度的训练,而非全局采用,就可以达到理想的稳定性。
参数初始化对模型训练十分关键,本文中采用了Transformer的初始化方案,但将其均值缩放了10倍,提升了模型的稳定性能。

Regularizing Large Sparse Model:
本文中采用的方法是常规的预训练+微调方法,常见的问题是,由于下游任务的数据较少,在微调过程中容易发生过拟合现象,在以往的模型中已经非常常见,但是本文中的模型有着更大量的参数,因此会导致更加严重的过拟合现象。本文通过在微调过程中,增加在每个expert中的dropout比例来缓解过拟合。

02 性能对比:稀疏 vs 稠密
 
作者分别在预训练阶段和下游任务阶段分别对 Switch Transformer的特性进行了研究。
在预训练阶段,为避免数据瓶颈问题,他们选用了具有超过180B个目标token的大型C4语料库。

专家数量(模型参数)带来的一致性规模优势,其中所有模型的训练步数是固定的。
-〉随着模型参数增加(专家数量增加),性能的提升。
-〉专家数量的每步负对数复杂度。

如果训练时间确定,计算资源也确定,那么到底是训练一个稠密模型(Dense Model)好,还是训练一个稀疏模型(sparse model)好?

在相同负对数复杂度的情况下,Switch-Base的模型(稀疏模型)相比T5-Base模型(稠密模型)要有近七倍的提速。
使用Switch层或标准稠密模型的Scaling Transformer模型。Switch-Base与T5-Base和T5-Large变体相比,具有更高的采样效率。在相同负对数复杂度情况下


 
 
   
销售电话:010-82608898     技术支持:82608898-800    Email:sales@gexin.com.cn
Copyright © 2012-2024 版权所有:北京革新创展科技有限公司   京ICP备20004067号-1