Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity
Google Brain科学家Barret Zoph表示,他们设计了一个名叫「Switch Transformer」的简化稀疏架构,可以将语言模型的参数量扩展至 1.6 万亿。万万没想到,模型规模的演进如此之快,没几个月的时间,就从千亿走向了万亿,当我们还在研究BERT的各种迭代时,世界上那批顶尖的人已经开启了另一扇“暴力美学”的大门。而这,才是真正的深度领域的“军备竞赛“。
对于长文没有阅读习惯的朋友,可以直接读一下本文摘要。
1)Switch Transformer在网络结构上最大的改进是Sparse routing的稀疏结构,相比于OpenAI在GPT-3里所使用的Sparse Attention,需要用到稀疏算子而很难发挥GPU、TPU硬件性能的问题。Switch Transformer不需要稀疏算子,可以更好的适应GPU、TPU等硬件
2)Switch Transformer虽然有1.6万亿参数,但通过Sparse routing的改进,每轮迭代只会触发部分Expert的计算,而每个token也只会路由给一个Expert,所以对算力的需求并没有随着参数量的增加而大幅增长,使得这个模型更加容易训练。
3)数据并行、模型并行、Expert并行的并行策略设计,在MoE网络结构上能够获得更低的通信开销,提高并行的效率。
在深度学习中,模型通常对所有输入重复使用相同的参数。而MoE模型则是为每个例子选择不同的参数。于是一个稀疏激活的模型(参数数量惊人但计算成本不变)诞生了。然而,尽管取得了一些显著的成功,但由于复杂性、通信成本和训练的不稳定性,模型广泛采用仍需优化。
我们用Switch Transformer来解决这些问题。同时,我们简化了MoE路由算法,设计了直观的改进模型,降低了通信和计算成本。我们提出的训练方法减轻了不稳定性,并且我们首次展示了用较低精度(bfloat16)格式训练大型稀疏模型的可能性。
同时,基于T5 Base和T5 Large(Raffel et al.,2019)设计模型,以在相同计算资源的情况下获得高达7倍的预训练速度。这些改进扩展到多语言设置中,我们在所有101种语言中测量mT5基本版本的