微软深度学习函数库DeepSpeed开始支持ROCm平台

微软与AMD合作,使得深度学习优化函数库DeepSpeed,能运用支持ROCm平台的GPU加速运算,这也包含AMD自家的Instinct GPU。这项更新使得DeepSpeed得以获得运算、内存和通信优化技术加持,能够用于训练高达5,300亿参数的语言生成Transformer模型,并在真实的使用场景中,加快训练和推理速度达2倍到20倍。

大规模深度学习模型,在自然语言处理和计算机视觉等应用表现出色,但是要训练这些具有数亿甚至是数百亿参数的大型模型并不简单,微软提到,由于模型的规模过于庞大,需要分散到多个节点上,调度运算和通信才能训练完成。

为了让这个工作更将容易,微软开发了DeepSpeed,这是一个PyTorch开源函数库,能够极大程度提高大型模型训练和推理的规模、速度和可用性,开发者可以使用最少的程序代码,在应用程序中运用运算、内存和通信优化技术。而DeepSpeed现在进一步支持兼容ROCm的GPU,使大型模型训练更加有效率。

AMD从2006年开始,发展用于高性能计算(HPC)和机器学习运算的GPU硬件与软件技术,AMD的开放软件平台ROCm,提供函数库、编译器、执行环境和工具,让研究人员得以使用AMD Instinct GPU,或是其他支持ROCm技术的GPU加速运算。目前主要的机器学习框架诸如PyTorch与TensorFlow,都提供ROCm支持,因此开发者不需要执行任何移植工作,便可以直接在兼容的GPU硬件上,执行这些框架的程序代码。

微软与AMD密切合作,在DeepSpeed上支持这套平行化和优化技术,借由兼容ROCm的GPU上,高性能地训练大型模型,这使得到AMD Instinct MI100/MI200单一GPU或是分布式集群,都可被用来训练千亿参数的模型。

DeepSpeed提供了一套平行化与内存优化方法,如ZeRO、ZeRO-Offload、ZeRO-Infinity和3D平行,这些方法将可让开发者,显著地在AMD GPU上扩展模型规模,远远超出纯资料的平行化限制。在8个节点128个MI100 GPU上训练模型,跟资料平行方法的15亿参数限制比起来,每个DeepSpeed优化方法都可以使模型扩展两个数量级,在更极端的情况,ZeRO-Infinity甚至可以训练接近2万亿参数的模型。

在微软与AMD的合作下,DeepSpeed 0.6开始原生支持兼容ROCm的GPU,而且这个新版本与旧版本使用相同的API,因此开发者不需要更改任何程序代码,就可以直接在支持ROCm的GPU上,使用DeepSpeed的所有功能。