加上各种任务的最新精确度的改进,深度学习模型正在越来越大。但是,实现这些大型模型非常困难,因为有限的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 谷歌翻译
变压器模型的成功将深度学习模型量表推向了数十亿个参数。但是,由于单个GPU的内存资源有限,因此仍然缺乏选择最佳并行策略的最佳实践,因为它需要深度学习和并行计算方面的域专业知识。巨大的AI系统通过引入统一的界面来解决上述挑战,以将模型培训的顺序代码扩展到分布式环境。它支持并行训练方法,例如数据,管道,张量和序列并行性,以及与零冗余优化器集成的异质训练方法。与基线系统相比,巨大的AI可以实现大型型号的训练速度的2.76倍。
translated by 谷歌翻译
大型变压器模型在各种自然语言处理(NLP)任务上显示出令人鼓舞的性能。尽管AI社区已将模型量表扩展到了万亿个参数级别,但由于延迟,吞吐量和内存约束,仍不确定100亿参数模型的实际部署。在本文中,我们提出了Energonai,以解决单个或多GPU系统上有效部署1000亿参数变压器模型的挑战。 Energonai采用层次结构控制器系统体系结构来协调多个设备并有效支持不同的并行模式。它将子模型的执行委托给单个控制器样式的多个工人,并以多控制器样式的工人之间的工人之间的张量并行性和管道并行性。在新的架构上,我们提出了三种技术,即非阻滞管道并行性,分布式冗余计算消除和同行记忆池。 Energonai使用户能够编程复杂的并行代码与串行编码相同。与FertransFormer相比,我们已经证明,Energonai在延迟和吞吐量方面具有较高的性能。在我们的实验中,Energonai可以在张量并行性,管道并行性的10%可伸缩性中实现37%的潜伏期降低,并通过使用较大的异质记忆空间以有限的性能降低的成本来提高对单个GPU推断的模型量表。
translated by 谷歌翻译
变形金刚是一种深入学习语言模型,用于数据中心中的自然语言处理(NLP)服务。在变压器模型中,生成的预训练的变压器(GPT)在文本生成或自然语言生成(NLG)中取得了显着的性能,它需要在摘要阶段处理大型输入上下文,然后是产生一个生成阶段的一次单词。常规平台(例如GPU)专门用于在摘要阶段平行处理大型输入,但是由于其顺序特征,它们的性能在生成阶段显着降低。因此,需要一个有效的硬件平台来解决由文本生成的顺序特征引起的高潜伏期。在本文中,我们提出了DFX,这是一种多FPGA加速器,该设备在摘要和发电阶段中执行GPT-2模型端到端,并具有低延迟和高吞吐量。 DFX使用模型并行性和优化的数据流,这是模型和硬件感知的设备之间快速同时执行执行。其计算核心根据自定义说明运行,并提供GPT-2操作端到端。我们在四个Xilinx Alveo U280 FPGAS上实现了建议的硬件体系结构,并利用了高带宽内存(HBM)的所有频道,以及用于高硬件效率的最大计算资源数量。 DFX在现代GPT-2模型上实现了四个NVIDIA V100 GPU的5.58倍加速度和3.99倍的能效。 DFX的成本效益比GPU设备更具成本效益,这表明它是云数据中心中文本生成工作负载的有前途解决方案。
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 谷歌翻译
基于变压器的神经模型在许多AI应用中使用。培训这些模型很昂贵,因为它需要大量的GPU资源和较长的持续时间。这是具有挑战性的,因为诸如句子之类的典型数据具有可变的长度,而变压器的计算模式比卷积神经网络更为复杂。现有系统要么仅专注于模型推理,要么仅针对BERT样编码器模型进行优化。在本文中,我们提出了LightSeq2,该系统是为GPU上的一般变压器模型加速培训的系统。我们提出了一系列针对变压器模型的特定计算流量和内存访问模式量身定制的GPU优化技术。 LightSeq2支持许多模型体系结构,包括BERT(仅编码),GPT(仅解码器),变压器(编码器编码器)和视觉变压器。我们对各种模型和基准测试的实验表明,LightSeq2始终比不同GPU上的先前系统更快(1.4-3.5倍)。特别是,与大型公共机器翻译基准(WMT14英语 - 德国人)上的现有系统相比,它获得了308%的培训速度。
translated by 谷歌翻译
与变压器架构相关的自我监督学习的最新进展使自然语言处理(NLP)表现出极低的困惑。如此强大的模型需要越来越多的模型大小,因此需要大量的计算和内存足迹。在本文中,我们为大规模生成语言模型提出了一个有效的推理框架。作为减少模型大小的关键,我们通过不均匀的量化方法量化权重。然后,我们提出的称为NUQMM的量化矩阵乘法加速了,该内核可以在压缩比和准确性之间进行广泛的权衡。我们提出的NUQMM不仅减少了每个GPU的延迟,还减少了大LMS的全部推断,因为高压缩比(通过低位量化)减轻了最小所需的GPU数量。我们证明NUQMM可以将GPT-3(175b)模型的推理速度加速约14.4倍,并将能源消耗降低93%。
translated by 谷歌翻译
模型大小的范围不断增加,并且持续改进性能使大型模型时代的到来的到来。在本报告中,我们通过潜入培训目标和培训方法来探讨大型模型培训如何运作。具体而言,培训目标描述了如何利用Web规模数据来开发基于自我监督的学习以及基于分布式培训的培训方法,开发出极强的大型模型,描述了如何使大型模型培训成为现实。我们将现有的培训方法总结为三个主要类别:训练并行性,节省记忆技术和模型稀疏设计。训练并行性可以根据发生的并行性维度分类为数据,管道和张量并行性。节省记忆的技术是正交的,并且与训练并行性互补。和模型稀疏设计以恒定的计算成本进一步扩大模型大小。在https://github.com/qhliu26/bm-training提供了不断更新的大型模型培训清单。
translated by 谷歌翻译
基础模型正在成为主要的深度学习技术。由于模型参数和训练数据集的大规模,预处理基础模型始终耗时。除了计算密集型外,培训过程还非常密集和沟通密集。这些功能使得需要应用3D并行性,该平行性整合数据并行性,管道模型并行性和张量模型并行性,以实现高训练效率。为了实现这一目标,开发了一些自定义软件框架,例如Megatron-LM和DeepSpeed。但是,当前的3D平行框架仍然符合两个问题:i)它们对模型开发人员不透明,这些开发人员需要手动修改模型以并行化培训。 ii)它们对计算,GPU存储器和网络带宽的利用不足。我们提出了Merak,这是一个自动化的3D并行性深度学习培训框架,并具有高度资源利用。 Merak会自动使用自动模型分区仪部署,该分区仪在模型的代理表示上使用图形sharding算法。 Merak还提出了非侵入性的API,用于通过最小的代码修改来扩展基础模型培训。此外,我们在Merak设计了高性能的3D平行运行时引擎。它使用多种技术来利用可用的培训资源,包括移动的关键路径管道时间表,该计划带来了更高的计算利用率,阶段感知的重新计算,可利用空闲工作者的记忆以及子额定张量的模型并行性,这些模型并联与通信和计算重叠。 64 GPU的实验显示,Merak可以加快在最新的3D平行性框架上,具有1.5、2.5、8.3和20亿的模型框架,最高可达1.42x,1.39x,1.43x和1.61 x分别。
translated by 谷歌翻译
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 谷歌翻译
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 谷歌翻译
过去的几年见证了基于变压器的模型的成功,其规模和应用方案继续积极发展。变压器模型的当前景观越来越多样化:该模型大小差异很大,最大的参数是最大的。模型特性由于特征的混合物所引入的稀疏性而有所不同。目标应用程序方案可以是关键延迟或面向吞吐量的情况;部署硬件可以是具有不同类型的内存和存储等单身或多GPU系统。随着多样性的增加和变压器模型的快速发展速度,设计高性能和高效的推理系统非常具有挑战性。在本文中,我们提出了DeepSpeed推断,这是用于解决上述挑战的变压器模型推理的全面系统解决方案。深速推理包括(1)一种多GPU推理解决方案,可最大程度地减少潜伏度,同时最大化密集和稀疏变压器模型的吞吐量,当它们适合聚集的GPU内存时,以及(2)一种异质推理解决方案,该解决方案利用CPU和NVME内存中的CPU和NVME内存。除了GPU内存和计算以使高推理吞吐量具有不适合聚集GPU内存的大型推理吞吐量。对于面向延迟的方案,深速推理可将延迟降低到最新的7倍,而对于面向吞吐量的方案,延迟的潜伏期将延迟减少到1.5倍以上。此外,它通过利用数百个GPU来实现实时延迟约束下的参数量表推断,这是一个前所未有的推理。它可以比仅使用GPU的解决方案更大的25倍模型,同时提供84个TFLOPS(超过50美元的A6000峰值)。
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 谷歌翻译
近来增加大型机器学习模型的趋势需要分发培训和推理任务。考虑到培训这些模型的巨大成本,必须在计算和沟通中解锁优化以获得最佳性能。然而,深入学习框架中的计算和通信内核之间的当前逻辑分离遍及此类障碍的优化机会。通过整体考虑破坏此抽象可以提供许多优化,以提供分布式工作负载中的性能改进。手动应用这些优化需要在每个场景中的底层计算和通信库中的修改,这是耗时和容易出错的。因此,我们呈现Coconet,用DSL表达具有计算和通信的程序。 Coconet包含几种机器学习感知转换,以优化程序和编译器以生成高性能内核。作为第一类构造的计算和通信允许用户在高级抽象上工作,并应用强大的优化,例如融合或传播和计算重叠。 Coconet使我们能够以几行代码在大型语言模型中优化数据,模型和管道平行工作负载。实验显示椰子显着优于最先进的分布式机器学习实现。
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 谷歌翻译
近年来,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记忆层次之间写入。我们提出了FlashAttention,这是一种IO意识的精确注意算法,该算法使用平铺来减少GPU高带宽内存(HBM)和GPU芯片SRAM之间的内存读数/写入/写入。我们分析了闪存的IO复杂性,表明它所需的HBM访问少于标准注意力,并且对于一系列SRAM尺寸而言是最佳的。我们还扩展了闪光词,以引起障碍物的注意,从而产生了比任何现有的近似关注方法更快的近似关注算法。闪存火车的变压器​​比现有基准快:与MLPERF 1.1训练速度记录相比,Bert-Large(第512秒)的端到端壁式锁定加速度为15%,GPT-2上的3 $ \ times $ speedup(seq) 。闪存表现和块状闪光词可在变压器中实现更长的上下文,从而产生更高质量的模型(GPT-2上的0.7更好的困惑和长期分类的6.4点升力)和全新的功能:第一个实现优于更好的Chance的变压器PATH-X挑战(Seq。Length16K,61.4%精度)和PATH-256(Seq。Length64K,63.1%精度)上的性能。
translated by 谷歌翻译
分布式数据并行训练已被广泛用于深神经网络(DNN)模型。尽管当前的深度学习(DL)框架对于图像分类模型(例如图像分类模型)的密集模型很好地扩展了,但我们发现这些DL框架对于具有高度稀疏嵌入表的稀疏模型(NLP)模型(NLP)模型(NLP)模型具有相对较低的可扩展性。大多数现有作品忽略了模型参数的稀疏性,因此遭受了重要但不必要的沟通开销。在本文中,我们提出了Ablace,这是一个有效的沟通框架,以加快稀疏模型分布式培训的通信。 Embrace引入了稀疏感知的混合通信,将AlltoAll和模型并行置于数据并行训练中,以减少高度稀疏参数的交流开销。为了有效地重叠稀疏的通信与后向前和前向计算,采用进一步设计的2D通信调度方法,该方法优化了模型计算过程,放松嵌入式的依赖性,并计划以优先级的排队来安排每个嵌入行的稀疏通信。我们已经基于Pytorch和Horovod实施了Embrace的原型,并通过四个代表性的NLP模型进行了全面的评估。实验结果表明,与最先进的分布式训练基线相比,Embrace的速度高达2.41倍。
translated by 谷歌翻译
变形金刚已成为主要的机器学习工作负载,它们不仅是自然语言处理任务的事实上的标准,而且还将部署在其他领域,例如视觉和语音识别。许多基于变压器的应用程序都是实时系统,例如机器翻译和Web搜索。这些实时系统通常具有严格的端到端推理潜伏期需求。不幸的是,尽管大多数变压器计算都来自基质乘法,但变压器还包括几种非线性组件,它们在推理过程中倾向于成为瓶颈。在这项工作中,我们加快了张量流处理器上BERT模型的推断。通过小心地将所有非线性组件与矩阵乘法组件融合在一起,我们能够有效地利用芯片矩阵乘法单元,从而通过BERT-1通过BERT-1通过BERT-BASE,确定性的尾巴延迟为130 $ \ MU $ s,比当前的最新时间快6倍。
translated by 谷歌翻译
随着深度学习模型的速度较大,需要进行大型型号培训的系统级解决方案。我们展示了Amazon Sagemaker模型并行性,这是一个与Pytorch集成的软件库,并且可以使用模型并行性和其他内存节省功能轻松培训大型模型。与现有解决方案相比,Sagemaker库的实现更通用,灵活,因为它可以自动分区和运行具有最小代码的任意模型架构上的管道并行性,并且还为张量并行度提供一般和可扩展的框架,它支持更广泛的用例,并且可以轻松应用于新培训脚本的模块化。该库还将本机Pytorch用户体验保留到更大的程度,支持模块重复使用和动态图形,同时让用户完全控制训练步骤的细节。我们评估GPT-3,Roberta,BERT和神经协作过滤的性能,并表现出对现有解决方案的竞争性能。
translated by 谷歌翻译