擎天柱:训练超大模型的高效二维方法
大模型对硬件和软件都带来了巨大挑战。为了应对这一挑战,研究人员除了建造超级计算机之外还开发了新的算法。诸如中间激活存档(activation checkpointing),混合精度训练(mixed precision training),数据转移(data offload)等方法从不同角度来辅助大模型的训练。除这些工作之外,模型并行是另外一个重要的范式。它把大模型的参数分布到诸多设备上。流水线并行(pipeline parallelism)是将整个模型按照层间结构划分。在这种情况下,每个处理器从前一个处理器获得输入,然后将输出结果传给下一个处理器。另外一种并行方式是层内并行,即将一个运算分布到多个处理器同时进行。Megatron就抓住了语言模型矩阵乘法的本质,将权重参数逐行或逐列地切分并分布到不同处理器上。这样计算就是分块矩阵乘法了。这种方法虽然将参数分布在了诸多处理器上,每个处理器却需要存储一整个中间激活。所以在高并行度下,中间激活会成为存储的瓶颈。
值得注意的是,Megatron本质上采用了一维矩阵划分,在这种情况下,每一步通讯都会涉及所有的处理器。然而,如果我们考虑诸如SUMMA和Cannon's algorithm的二维矩阵分割,就有可能加速大模型的推理和训练。在这篇工作中,我们提出了Optimus,一种新型的模型并行范式。它同时分布了参数和激活,实现了高超的通讯效率和前所未有的存储性能。Optimus在PyTorch上实现,并且可以和前述训练大模型的技巧协同使用。Optimus的等效率函数(isoefficiency function)可达到,显著优于(小于)Megatron的。我们相信新型超级计算机的网格拓扑可以进一步解放Optimus的卓越性能。相对于Megatron,Optimus可以帮助我们将模型训练扩展到无穷大。我们在美国德州高级计算中心的64个GPU上实验演示了Optimus相对Megatron 1.48倍的训练速度,1.78倍的推理速度和8倍的最大批处理量。证明了Optimus在强扩展效率和弱扩展效率上均超过Megatron。总的来说,我们的贡献如下:
基于二维矩阵划分的思想,我们设计和实现了一种用于超大模型的高效训练系统。 我们提出了诸多高性能方法,例如二维分割梯度计算,高存储效率激活管理,以及系统缓冲技巧。 我们的方法可以基于PyTorch轻松实现,无需涉及编译层。
- 批处理大小(batch size): b
- 序列长度(sequence length): s
- 隐层大小(hidden size): h
- 注意力头(attention heads)数量: n
- 词汇量大小(vocabulary size): v
- SUMMA维度: q
- Transformer 层数: N
- 处理器个数: p
我们有。此后我们用方括号表示张量的形状。
Megatron的模型并行包括多层感知机(MLP)和自注意力组件(self-attention),其结构如下图所示.
Figure1 Megatron中MLP和MHA的多处理器映射
在MLP中有两个参数矩阵,第一个按列划分,第二个按行划分。每个处理器都持有一份相同的输入,并和同一处理器上的第一个子矩阵相乘,得到同样按列划分的中间结果。中间结果首先输入激活函数,然后再和第二个子矩阵相乘,得到了一个和输入相同大小的输出矩阵。不同处理器上输出矩阵经历一个归约(all-reduce)操作,得到最终的输出。
同样地,在self-attention中也有两个参数矩阵。第一个按列划分,第二个按行划分。相同的输入矩阵被每个处理器所持有,并和第一个子矩阵相乘,得到中间结果。由于attention heads被分布到不同的处理器,每个处理器就负责n/p个attention heads。中间结果被划分为n/p组Q,K和V矩阵,每一组计算得到。n/p个计算结果在一起重新排列,并和第二个子矩阵相乘,再归约得到最终结果。同样地,每个处理器都需要存储一整个的输入和输出。
在这种范式下,通讯仅发生在正向和反向传播的归约操作上。
Mesh-Tensorflow是谷歌提出的分布式机器学习的框架。其引入了张量分割的简约表达。它首先将处理器排布为一个多维网格。对于每个网格维度,一个张量要么在这个维度上分割,要么在这个维度上复制。虽然Mesh-Tensorflow允许多维分割,但其实质上还是采用了和Megatron相似的矩阵分割方式。事实上,其不可能完全消除矩阵复制造成的存储冗余,即不可能每个张量在每个维度上都没有复制。
在这篇工作中,我们提出了一种全新的模型并行范式。该范式成功地消除了存储的瓶颈且提升了通讯效率。从而为更大语言模型的开发铺平了道路。在近一段时间的工作中,混合专家模型(Mixtureof Experts,MOE)得到了越来越多的关注。许多强大的模型都是基于MOE实现。未来的工作可能会致力于解决MOE的通讯和存储问题。此外,算子融合也是一个新方向。该方法可以显著减少中间结果的存储,从而提高存储效率。比如在我们的实现中,注意力得分(attention score)会占据一个形状为[b,n, s, s]的张量。而中间激活的形状为[b,s, h]。当n=16,s=512,h=1024时,注意力得分所占据的存储是中间激活的8倍,但只占总计算量的一小部分。所以,利用算子融合,我们有希望解放这一部分存储。随着体量的增加,我们相信巨型模型将能够胜任更多令人惊艳的任务。
许启帆,加州大学洛杉矶分校一年级博士生,研究方向是高性能计算,医学AI,机器学习。许启帆本科毕业于中国科学技术大学,在读期间入选拔尖计划,于2019年入选加州大学洛杉矶分校CSST项目。2020-2021年在新加坡国立大学HPC-AI实验室实习期间完成这项工作。
尤洋,壁仞科技顾问,是新加坡国立大学计算机系的校长青年教授。他从加州大学伯克利分校计算机系获得了博士学位。他的导师是美国科学院院士,工程院院士,ACM/IEEE fellow,伯克利前计算机系主任以及EECS学院院长James Demmel教授。尤洋的研究兴趣包括高性能计算,并行算法,以及机器学习。他当前的研究重点是大规模深度学习训练算法的分布式优化。他曾创造ImageNet以及BERT训练速度的世界纪录,并被ScienceDaily,TheNextWeb,i-programmer等几十家媒体广泛报道。他设计的算法被广泛应用于谷歌,微软,英特尔,英伟达等科技巨头。尤洋近三年以第一作者身份在NIPS,ICLR,Supercomputing,IPDPS,ICS等国际重要会议或期刊上发表论文十余篇。他曾以第一作者身份获得了国际并行与分布式处理大会(IPDPS)的最佳论文(0.8%获奖率)和国际并行处理大会(ICPP)的最佳论文(0.3%获奖率)。尤洋曾获清华大学优秀毕业生,北京市优秀毕业生,国家奖学金,以及当时清华大学计算机系数额最高的西贝尔奖学金。他还在2017年获得美国计算机协会(ACM)官网上唯一颁给在读博士生的ACM-IEEECS George Michael Memorial HPC Fellowships。他也获得了颁发给伯克利优秀毕业生的LotfiA.Zadeh Prize。尤洋还被伯克利提名为ACM Doctoral Dissertation Award候选人(81名UC Berkeley EECS 2020博士毕业生中选2人)。2021年4月,尤洋入选福布斯亚洲30岁以下精英榜。更多信息请查看他的研究小组主页(https://ai.comp.nus.edu.sg/)。
壁仞科技研究院作为壁仞科技的前沿研究部门,旨在研究新型智能计算系统的关键技术,重点关注新型架构,先进编译技术和设计方法学,并将逐渐拓展研究方向,探索未来智能系统的各种可能。壁仞科技研究院秉持开放的原则,将积极投入各类产学研合作并参与开源社区的建设,为相关领域的技术进步做出自己的贡献。
关键词
参数
模型并行
大小
方法
矩阵乘法
最新评论
推荐文章
作者最新文章
你可能感兴趣的文章
Copyright Disclaimer: The copyright of contents (including texts, images, videos and audios) posted above belong to the User who shared or the third-party website which the User shared from. If you found your copyright have been infringed, please send a DMCA takedown notice to [email protected]. For more detail of the source, please click on the button "Read Original Post" below. For other communications, please send to [email protected].
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。