微软更新DeepSpeed深度学习函数库,现可高效训练数万亿参数AI模型

微软更新了之前发布的开源深度学习训练优化函数库DeepSpeed,该函数库现在能够使用新方法,训练拥有数万亿参数的机器学习模型,官方提到,DeepSpeed使用了被称为3D平行技术的新方法,可以自动适应工作负载的需求,在平衡扩展效率的情况下,支持超大型模型。

在今年2月的时候,微软发布了DeepSpeed函数库,并且介绍了该函数库使用内存优化技术ZeRO,大幅改进大型模型训练的规模、速度、成本和可用性,微软使用DeepSpeed来训练图灵自然语言生成模型(Turing-NLG),当时发布的Turing-NLG,具有170亿个参数和最高的准确性,为当时最大的语言模型。微软在5月的时候,又发布了ZeRO-2技术,这项改进把模型训练的参数规模,拉高到2,000亿个,而且还能以极快的速度训练语言模型BERT。

而现在,微软又往前推进DeepSpeed的发展,添加了4项新技术,使得运算、内存以及通信整体效率变得更好。这次的更新,包括微软利用3D平行化技术,让DeepSpeed能够支持数十亿到数万亿参数的模型训练,3D的意思也就是结合3种平行化方法,包括ZeRO资料平行化、工作管线平行化以及张量分割模型平行化。

微软提到,通过3D平行化,DeepSpeed能够适应各种工作负载的需求,支持超过一万亿参数的超大型模型,并且达到几乎完美的内存扩展,以及吞吐量扩展效率,另外,通过提高通信效率,可以让用户在网络带宽有限的集群,以2到7倍的速度训练数十亿参数的模型。

在最新DeepSpeed版本,还能够更好地支持单个GPU,只要一个GPU就能训练上百亿参数的模型。微软扩展了ZeRO-2技术,使其同时能够利用CPU和GPU内存来训练大型模型,以拥有单个V100 GPU的计算机为例,DeepSpeed用户能够执行高达130亿个参数的模型,而且不会把内存耗尽,这个可执行的模型参数量,是当前其他方法的10倍。

微软提到,这些功能性扩展,将使得数十亿参数模型的训练更加普及,让许多深度学习研究人员,能够以更低的成本,训练更大的模型。