微软强化azure对超大型机器学习模型训练的支持度,现在用户可以使用深度学习函数库deepspeed和1024个a100 gpu,来执行兆级参数模型的训练。
近年基于transformer的大规模深度学习技术,有了长足的进展,在5年之间,从最初只有数百万参数的transformer模型,到现在megatron-turing已具有5,300亿个参数,这之间模型参数量增长了数个量级,而企业对于训练和调校这些大型模型的需求也逐渐增长。
过去用户要训练这类大规模模型,需要配置和维护一个复杂的分布式训练基础设施,微软提到,这些工作通常有一些手动步骤且容易出错,因此在可用性和性能表现上并不佳。
而现在微软用户可以使用azure上的deepspeed,来应对大规模人工智能训练。用户可以使用推荐的azure机器学习配置,或是利用bash脚本以虚拟机扩展集为基础的环境执行。deepspeed是微软在2020年发布的开源深度学习训练优化函数库,该函示库使用内存优化技术zero,改善大型模型训练的规模、速度、成本和可用性。
微软采用全端优化的方式,将所有训练必要的硬件、操作系统、虚拟机镜像文件,还有包含pytorch、deepspeed、onnx runtime,与各种python组件的docker镜像文件,以及azure机器学习api,经过优化、集成和测试,使其具有良好的性能和可扩展性,并且让用户不需要处理其复杂性。
在经优化的azure deepspeed堆栈上,用户可以训练1兆甚至是2兆参数的超大型模型,而且无论是模型的大小和gpu数量的增加,都提供了几乎线性的可扩展性,微软提到,azure和deepspeed打破gpu内存的限制,使得用户可以更简单地训练兆级参数模型。