本文转载自雷锋网。微软今天发布了其DeepSpeed库的更新版本,该库引入了一种新方法来训练包含数万亿参数的AI模型,这些参数是模型中用于预测的变量。微软称这种技术为3D并行,它可以适应各种工作负载需求,尤其是平衡具有高功耗的超大型模型的效率。具有数十亿参数的单一大型AI模型已经在一系列具有挑战性的领域取得了长足的进步。研究表明,他们之所以出色,是因为他们能够理解语言、语法、知识、概念和上下文的细微差别,使他们能够总结语音、过滤实时游戏聊天中的不当言论、解析复杂的法律文件,甚至可以通过搜索GitHub生成代码。但是训练模型需要大量的计算资源。根据OpenAI2018年的分析,从2012年到2018年,在大规模AI训练中,对计算的需求增长了30万倍,即每3.5个月翻一番,远超摩尔定律的步伐。增强型DeepSpeed利用三种技术实现“万亿级”模型训练:数据并行训练、模型并行训练和管道并行训练。训练一个万亿参数的模型至少需要400个Nvidia今年最新的A100GPU(每个GPU的内存高达40GB),而微软估计以50%的效率运行4,000个A100大约需要100天才能完成训练。这比不上微软和OpenAI联合设计的包含10000多张显卡的AI超级计算机。在如此大的规模下,很难达到很高的计算效率。DeepSpeed将大型模型分成四个流水线阶段,分成更小的组件(层)。每个流水线阶段中的层进一步分为四个执行实际训练的“工人”。每个管道在两个并行数据实例之间复制,并且工作人员映射到多GPU系统。得益于这些和其他性能改进,微软表示,一个万亿参数的AI模型可以减少到只有800个NvidiaV100GPU用于训练。最新版本的DeepSpeed还包括ZeRO-Offload技术,该技术利用GPU及其主机CPU上的计算和内存资源,在单个V100上训练多达130亿个参数的模型。微软声称这比最新技术强大10倍,让培训师可以使用更少的计算资源进行数据科学家培训。“这些(DeepSpeed中的新技术)提供了极高的计算、内存和通信效率,并支持具有数十亿至数万亿参数的模型训练,”微软在一篇博文中写道。长输入序列,并通过单个GPU、具有数千个GPU的高端集群或具有非常慢的以太网网络的低端集群释放硬件系统的功能。我们将(继续)快速创新,突破深度学习训练速度和规模的极限。”
