Scaling up deep neural network capacity has been known as an effective approach to improving model quality for several different machine learning tasks. In many cases, increasing model capacity beyond the memory limit of a single accelerator has required developing special algorithms or infrastructure. These solutions are often architecture-specific and do not transfer to other tasks. To address the need for efficient and task-independent model parallelism, we introduce GPipe, a pipeline parallelism library that allows scaling any network that can be expressed as a sequence of layers. By pipelining different sub-sequences of layers on separate accelerators, GPipe provides the flexibility of scaling a variety of different networks to gigantic sizes efficiently. Moreover, GPipe utilizes a novel batchsplitting pipelining algorithm, resulting in almost linear speedup when a model is partitioned across multiple accelerators. We demonstrate the advantages of GPipe by training large-scale neural networks on two different tasks with distinct network architectures: (i) Image Classification: We train a 557-million-parameter AmoebaNet model and attain a top-1 accuracy of 84.4% on ImageNet-2012, (ii) Multilingual Neural Machine Translation: We train a single 6-billion-parameter, 128-layer Transformer model on a corpus spanning over 100 languages and achieve better quality than all bilingual models.Preprint. Under review.
translated by 谷歌翻译
深度学习领域目睹了对极端计算和内存密集型神经网络的显着转变。这些较新的较大模型使研究人员能够推进各种领域的最先进的工具。这种现象刺激了在更多的硬件加速器上产生了针对神经网络的分布式训练的算法。在本文中,我们讨论并比较了当前的最先进的框架,以实现大规模的分布式深度学习。首先,我们调查分布式学习中的当前实践,并确定所使用的不同类型的并行性。然后,我们提出了对大型图像和语言培训任务的性能进行了经验结果。此外,我们解决了他们的统计效率和内存消耗行为。根据我们的结果,我们讨论了阻碍性能的每个框架的算法和实现部分。
translated by 谷歌翻译
培训尺寸培训大型深度学习模型非常具有挑战性。本文提出了一种新型管道并行方案,该方案结合了双向管道,以有效地训练大规模模型。嵌合体是一种同步方法,因此不会损失精度,比异步方法更加融合。与最新的同步管道方法相比,嵌合体将气泡的数量降低至50%;受益于双向管道的复杂调度,嵌合体具有更平衡的激活记忆消耗。评估是在基于变压器的语言模型上进行的。对于在PIZ Daint超级计算机的2,048个GPU节点上运行的GPT-2模型,Chimera通过最先进的同步和异步管道方法将培训吞吐量提高了1.16x-2.34x。
translated by 谷歌翻译
Large deep learning models offer significant accuracy gains, but training billions to trillions of parameters is challenging. Existing solutions such as data and model parallelisms exhibit fundamental limitations to fit these models into limited device memory, while obtaining computation, communication and development efficiency. We develop a novel solution, Zero Redundancy Optimizer (ZeRO), to optimize memory, vastly improving training speed while increasing the model size that can be efficiently trained. ZeRO eliminates memory redundancies in data-and model-parallel training while retaining low communication volume and high computational granularity, allowing us to scale the model size proportional to the number of devices with sustained high efficiency. Our analysis on memory requirements and communication volume demonstrates: ZeRO has the potential to scale beyond 1 Trillion parameters using today's hardware.We implement and evaluate ZeRO: it trains large models of over 100B parameter with super-linear speedup on 400 GPUs, achieving throughput of 15 Petaflops. This represents an 8x increase in model size and 10x increase in achievable performance over state-of-the-art. In terms of usability, ZeRO can train large models of up to 13B parameters (e.g., larger than Megatron GPT 8.3B and T5 11B) without requiring model parallelism which is harder for scientists to apply. Last but not the least, researchers have used the system breakthroughs of ZeRO to create the world's largest language model (17B parameters) with record breaking accuracy.
translated by 谷歌翻译
变压器模型的成功将深度学习模型量表推向了数十亿个参数。但是,由于单个GPU的内存资源有限,因此仍然缺乏选择最佳并行策略的最佳实践,因为它需要深度学习和并行计算方面的域专业知识。巨大的AI系统通过引入统一的界面来解决上述挑战,以将模型培训的顺序代码扩展到分布式环境。它支持并行训练方法,例如数据,管道,张量和序列并行性,以及与零冗余优化器集成的异质训练方法。与基线系统相比,巨大的AI可以实现大型型号的训练速度的2.76倍。
translated by 谷歌翻译
基于变压器的神经模型在许多AI应用中使用。培训这些模型很昂贵,因为它需要大量的GPU资源和较长的持续时间。这是具有挑战性的,因为诸如句子之类的典型数据具有可变的长度,而变压器的计算模式比卷积神经网络更为复杂。现有系统要么仅专注于模型推理,要么仅针对BERT样编码器模型进行优化。在本文中,我们提出了LightSeq2,该系统是为GPU上的一般变压器模型加速培训的系统。我们提出了一系列针对变压器模型的特定计算流量和内存访问模式量身定制的GPU优化技术。 LightSeq2支持许多模型体系结构,包括BERT(仅编码),GPT(仅解码器),变压器(编码器编码器)和视觉变压器。我们对各种模型和基准测试的实验表明,LightSeq2始终比不同GPU上的先前系统更快(1.4-3.5倍)。特别是,与大型公共机器翻译基准(WMT14英语 - 德国人)上的现有系统相比,它获得了308%的培训速度。
translated by 谷歌翻译
在深度学习中,模型通常重用所有输入的相同参数。专家的混合(MOE)违反了这一点,而是为每个传入示例选择不同的参数。结果是一个稀疏激活的模型 - 具有残酷数量的参数 - 但恒定的计算成本。然而,尽管MOE取得了一些显着的成功,但复杂性,沟通成本和培训不稳定的阻碍了广泛的采用 - 我们使用Switch Transformer解决了这些领域。我们简化了MOE路由算法和设计直观的改进模型,以降低的通信和计算成本。我们提出的培训技术有助于纠缠不稳定,我们表明稀疏模型可能首次以较低的精度(BFLOAT16)格式进行培训。我们设计了基于T5基数和T5总数的模型,以使用相同的计算资源获得高达7倍的训练速度。这些改进扩展到多语言设置,我们在所有101种语言中衡量对MT5基本版本的收益。最后,我们通过在“巨大的清洁爬行语料库”上预先培训高达数万亿个参数模型,并在T5-XXL模型上实现4倍的速度,从而提高了语言模型的当前规模。
translated by 谷歌翻译
过去的几年见证了基于变压器的模型的成功,其规模和应用方案继续积极发展。变压器模型的当前景观越来越多样化:该模型大小差异很大,最大的参数是最大的。模型特性由于特征的混合物所引入的稀疏性而有所不同。目标应用程序方案可以是关键延迟或面向吞吐量的情况;部署硬件可以是具有不同类型的内存和存储等单身或多GPU系统。随着多样性的增加和变压器模型的快速发展速度,设计高性能和高效的推理系统非常具有挑战性。在本文中,我们提出了DeepSpeed推断,这是用于解决上述挑战的变压器模型推理的全面系统解决方案。深速推理包括(1)一种多GPU推理解决方案,可最大程度地减少潜伏度,同时最大化密集和稀疏变压器模型的吞吐量,当它们适合聚集的GPU内存时,以及(2)一种异质推理解决方案,该解决方案利用CPU和NVME内存中的CPU和NVME内存。除了GPU内存和计算以使高推理吞吐量具有不适合聚集GPU内存的大型推理吞吐量。对于面向延迟的方案,深速推理可将延迟降低到最新的7倍,而对于面向吞吐量的方案,延迟的潜伏期将延迟减少到1.5倍以上。此外,它通过利用数百个GPU来实现实时延迟约束下的参数量表推断,这是一个前所未有的推理。它可以比仅使用GPU的解决方案更大的25倍模型,同时提供84个TFLOPS(超过50美元的A6000峰值)。
translated by 谷歌翻译
大型变压器模型在各种自然语言处理(NLP)任务上显示出令人鼓舞的性能。尽管AI社区已将模型量表扩展到了万亿个参数级别,但由于延迟,吞吐量和内存约束,仍不确定100亿参数模型的实际部署。在本文中,我们提出了Energonai,以解决单个或多GPU系统上有效部署1000亿参数变压器模型的挑战。 Energonai采用层次结构控制器系统体系结构来协调多个设备并有效支持不同的并行模式。它将子模型的执行委托给单个控制器样式的多个工人,并以多控制器样式的工人之间的工人之间的张量并行性和管道并行性。在新的架构上,我们提出了三种技术,即非阻滞管道并行性,分布式冗余计算消除和同行记忆池。 Energonai使用户能够编程复杂的并行代码与串行编码相同。与FertransFormer相比,我们已经证明,Energonai在延迟和吞吐量方面具有较高的性能。在我们的实验中,Energonai可以在张量并行性,管道并行性的10%可伸缩性中实现37%的潜伏期降低,并通过使用较大的异质记忆空间以有限的性能降低的成本来提高对单个GPU推断的模型量表。
translated by 谷歌翻译
模型大小的范围不断增加,并且持续改进性能使大型模型时代的到来的到来。在本报告中,我们通过潜入培训目标和培训方法来探讨大型模型培训如何运作。具体而言,培训目标描述了如何利用Web规模数据来开发基于自我监督的学习以及基于分布式培训的培训方法,开发出极强的大型模型,描述了如何使大型模型培训成为现实。我们将现有的培训方法总结为三个主要类别:训练并行性,节省记忆技术和模型稀疏设计。训练并行性可以根据发生的并行性维度分类为数据,管道和张量并行性。节省记忆的技术是正交的,并且与训练并行性互补。和模型稀疏设计以恒定的计算成本进一步扩大模型大小。在https://github.com/qhliu26/bm-training提供了不断更新的大型模型培训清单。
translated by 谷歌翻译
现在,扩展模型深度和大小是提高许多深度学习(DL)应用中准确性的常见方法,这是由数十亿美元甚至数万亿自然语言处理(NLP)研究的广泛成功所证明的。尽管在DL研究和主要技术公司方面取得了成功,但在域科学家和企业中,在领域科学家和企业中更广泛地采用的实际采用仍然受到GPU存储器限制,高培训成本和较低的GPU可用性的瓶装,即使在公共云上也是如此。模型选择需要进一步加剧这些资源挑战:用户通常需要将数十个模型与不同的超参数或神经体系结构进行比较,以适应其特定任务和数据集。在本文中,我们介绍了Hydra,该系统旨在通过以资源有效的方式启用在商品GPU上的多大模型DL工作负载来解决此类挑战。 HYDRA是首先对大型DL型号进行整体优化多模型工作负载的执行方法的第一种方法。我们通过调整先前的“模型平行”执行方案来与可扩展参数在整个内存层次结构上卸载,并将这种方法与任务并行作业计划技术融合在一起。 Hydra将模型参数的可扩展性从执行的并行性中脱离,从而使DL用户甚至可以在单个商品GPU上训练60亿个参数模型。它还充分利用了多GPU设置中任务并行性的加速潜力,从而产生了接近线性的较高缩放,并使严格的模型选择可能更实用。我们通过微调GPT-2进行语言建模评估端到端的性能。我们发现,Hydra提供的训练吞吐量比最佳工业框架(例如DeepSpeed和Gpipe)进行多大型模型培训的最佳设置还高出50%至100%。
translated by 谷歌翻译
We introduce Breadth-First Pipeline Parallelism, a novel training schedule which optimizes the combination of pipeline and data parallelism. Breadth-First Pipeline Parallelism lowers training time, cost and memory usage by combining a high GPU utilization with a small batch size per GPU, and by making use of fully sharded data parallelism. Experimentally, we observed increases of up to 53% in training speed.
translated by 谷歌翻译
我们呈现GSPMD,一种用于公共机器学习计算的自动,基于编译的并行化系统。它允许用户以与单个设备的方式相同的方式编写程序,然后通过关于如何分发Tensors的一些注释来提供提示,基于哪个GSPMD将并行化计算。其分区的表示简单尚不一般,允许它在各种模型上表达并行性的不同或混合范式。GSPMD基于有限的用户注释为每个运算符的分区Inventing,使得缩放现有的单设备程序方便。它解决了生产使用的几种技术挑战,允许GSPMD实现50%至62%的计算利用率,用于高达2048个云TPUv3核心,适用于高达1万亿参数的模型。
translated by 谷歌翻译
在过去几年中,培训最先进的神经网络的记忆要求远远超过了现代硬件加速器的DRAM能力。这仍然需要开发有效的算法,并在大规模的基于GPU的集群上并行培训这些神经网络。由于在现代GPU上的计算相对便宜,因此在这些并行训练算法中设计和实现极其有效的通信对于提取最大性能至关重要。本文介绍了Axonn,一个并行深度学习框架,用于利用异步和消息驱动的执行来安排每个GPU上的神经网络操作,从而降低GPU空闲时间并最大限度地提高硬件效率。通过使用CPU存储器作为划痕空间来定期在训练期间定期卸载数据,AXONN能够将GPU存储器消耗降低四次。这使我们可以将每个GPU的参数数量增加四次,从而减少通信量并将性能提高超过13%。在48-384 NVIDIA TESLA V100 GPU的大型变压器模型上进行了12-100亿参数,Axonn实现了理论峰的49.4-54.78%的每GPU吞吐量,并将培训时间减少22-37天(15-25与最先进的加速度)。
translated by 谷歌翻译
近年来,最先进神经网络的参数的数量急剧增加。这种对大规模神经网络感兴趣的激增具有促使新的分布式培训策略的发展,从而实现了这种模型。一种这样的策略是模型平行分布式培训。不幸的是,模型 - 并行性遭受资源利用率差,导致资源浪费。在这项工作中,我们改进了最近的理想化模型 - 并行优化设置:本地学习。由于资源利用率差,我们在当地和全球学习之间介绍了一类中介战略,称为联锁反向化。这些策略保留了本地优化的许多计算效率优势,同时恢复全球优化实现的大部分任务性能。我们评估了我们对图像分类的策略和变压器语言模型,发现我们的策略一致地在任务绩效方面出现本地学习,并在培训效率方面进行全球学习。
translated by 谷歌翻译
在过去的十年中,深度神经网络(DNNS)的规模成倍增长,只剩下那些具有大量基于数据中心的资源的人具有开发和培训此类模型的能力。对于可能只有有限的资源(例如,单个多GPU服务器)的研究人员的长尾巴的主要挑战之一是GPU内存能力与模型大小相比。问题是如此严重,以至于训练大规模DNN模型的内存需求通常可以超过单个服务器上所有可用GPU的总容量;这个问题只会随着不断增长的模型大小的趋势而变得更糟。当前依赖于虚拟化GPU内存的解决方案(通过向CPU内存交换/从CPU内存)会产生过多的交换开销。在本文中,我们提出了一个新的培训框架,和谐和倡导者,重新思考了DNN框架如何安排计算并移动数据以在单个商品服务器上有效地推动培训大规模模型的边界。在各种大型DNN模型中,Harmony能够将交换负载最多减少两个数量级,并在具有虚拟化内存的高度优化基线上获得高达7.6倍的训练吞吐量加速。
translated by 谷歌翻译
深度神经网络(DNN)模型通常是从​​一层到另一层的依次训练的,这会导致向前,向后和更新锁定的问题,从而导致训练时间的性能差。减轻这些问题的现有并行策略提供了次优的运行时性能。在这项工作中,我们提出了一种新颖的层面分区和合并,向前和向后通过并行框架,以提供更好的训练性能。拟议工作的新颖性包括1)层面分区和合并模型,该模型可以最大程度地降低设备之间的通信开销,而不会在培训过程中没有现有策略的记忆成本; 2)向后通过和向后通过并行化和优化,以解决更新锁定问题并最大程度地减少总培训成本。对实际用例的实验评估表明,所提出的方法在训练速度方面优于最先进的方法。并在不损害非平行方法的准确性性能的情况下实现几乎线性加速。
translated by 谷歌翻译
近年来,Experts(MOE)的混合物已成为一种有前途的深度学习技术,可以将模型能力扩展为万亿多个参数,同时通过稀疏计算降低计算成本。虽然MoE开设了一个非常大的模型的新领域,但由于MOE的动态性质与系统的静态平行性/管道层之间的不匹配,因此其数以千计的GPU的实现受到限制。我们提出了Tutel,这是一种具有动态自适应并行性和管道的高度可扩展的堆栈设计和实现。 TUTEL在运行时提供自适应并行性切换和自适应管道,分别达到1.74倍和2.00倍的单MOE层加速度。我们还提出了一种用于MOE通信速度的新颖的二维层次结构算法,该算法的表现超过了2,048 GPU的先前最先前的最新时间。 Tutel汇总了所有技术,最终在16 GPU和2,048 GPU上分别提供了4.96倍和5.75倍的加速度,分别通过Fairseq:Meta的Facebook AI AI研究序列到序列工具Kit(Tutel(Tutel)(Tutel)(Tutel)(现在由Fairseq部分采用)。 Tutel源代码可在公共场所获得:https://github.com/microsoft/tutel。我们的评估表明,Tutel有效,有效地运行了一个基于现实的MOE模型,名为Swinv2-Moe,建立在Swin Transformer V2上,这是一种最先进的计算机视觉体系结构。在效率方面,Tutel加速了Swinv2-MoE,在FairSeq的训练和推理中分别达到1.55倍和2.11倍的速度。关于有效性,SWINV2-MOE模型在预训练和下游计算机视觉任务(例如可可对象检测)方面都比对应的密度密度模型都达到了卓越的精度,这表明Tutel准备对端到端现实世界模型训练的准备就绪和推理。 Swinv2-Moe在https://github.com/microsoft/swin-transformer中开放。
translated by 谷歌翻译
加上各种任务的最新精确度的改进,深度学习模型正在越来越大。但是,实现这些大型模型非常困难,因为有限的GPU内存使得无法将大型型号安装到单个GPU甚至GPU服务器中。此外,要减少大型型号的训练时间非常必要。像Megatron-LM这样的先前方法实现了一种1维分布式方法,以使用GPU来加快培训。但是,这些方法的通信开销很高,大规模集群的缩放效率低。为了解决这些问题,我们提出了Tesseract,这是一种具有新颖设计的高度可扩展的张量并行性。它通过减少通信开销并降低每个GPU所需的内存来提高效率。通过将新颖的尺寸引入张量并行性,Tesseract大大增加了张量并行性的记忆能力。具体而言,这个新的维度进一步增加了张量并行性的程度。与以前的1-D和2-D方法相比,Tesseract设法降低了每一层的通信成本,导致速度分别为1.38倍和1.53倍,并具有强缩放率。在弱缩放实验中,与1-D/2-D方法相比,Tesseract的推理速度最高为4.0/1.7倍和3.4/1.7倍的吞吐量改进。通过引入Tesseract,我们提供了一种更有效,更可扩展的方法,以使用有限的GPU资源实施大型深度学习模型。
translated by 谷歌翻译
We study the problem of efficient generative inference for Transformer models, in one of its most challenging settings: large deep models, with tight latency targets and long sequence lengths. Better understanding of the engineering tradeoffs for inference for large Transformer-based models is important as use cases of these models are growing rapidly throughout application areas. We develop a simple analytical model for inference efficiency to select the best multi-dimensional partitioning techniques optimized for TPU v4 slices based on the application requirements. We combine these with a suite of low-level optimizations to achieve a new Pareto frontier on the latency and model FLOPS utilization (MFU) tradeoffs on 500B+ parameter models that outperforms the FasterTransformer suite of benchmarks. We further show that with appropriate partitioning, the lower memory requirements of multiquery attention (i.e. multiple query heads share single key/value head) enables scaling up to 32x larger context lengths. Finally, we achieve a low-batch-size latency of 29ms per token during generation (using int8 weight quantization) and a 76% MFU during large-batch-size processing of input tokens, while supporting a long 2048-token context length on the PaLM 540B parameter model.
translated by 谷歌翻译