现在,扩展模型深度和大小是提高许多深度学习(DL)应用中准确性的常见方法,这是由数十亿美元甚至数万亿自然语言处理(NLP)研究的广泛成功所证明的。尽管在DL研究和主要技术公司方面取得了成功,但在域科学家和企业中,在领域科学家和企业中更广泛地采用的实际采用仍然受到GPU存储器限制,高培训成本和较低的GPU可用性的瓶装,即使在公共云上也是如此。模型选择需要进一步加剧这些资源挑战:用户通常需要将数十个模型与不同的超参数或神经体系结构进行比较,以适应其特定任务和数据集。在本文中,我们介绍了Hydra,该系统旨在通过以资源有效的方式启用在商品GPU上的多大模型DL工作负载来解决此类挑战。 HYDRA是首先对大型DL型号进行整体优化多模型工作负载的执行方法的第一种方法。我们通过调整先前的“模型平行”执行方案来与可扩展参数在整个内存层次结构上卸载,并将这种方法与任务并行作业计划技术融合在一起。 Hydra将模型参数的可扩展性从执行的并行性中脱离,从而使DL用户甚至可以在单个商品GPU上训练60亿个参数模型。它还充分利用了多GPU设置中任务并行性的加速潜力,从而产生了接近线性的较高缩放,并使严格的模型选择可能更实用。我们通过微调GPT-2进行语言建模评估端到端的性能。我们发现,Hydra提供的训练吞吐量比最佳工业框架(例如DeepSpeed和Gpipe)进行多大型模型培训的最佳设置还高出50%至100%。
translated by 谷歌翻译
深度学习领域目睹了对极端计算和内存密集型神经网络的显着转变。这些较新的较大模型使研究人员能够推进各种领域的最先进的工具。这种现象刺激了在更多的硬件加速器上产生了针对神经网络的分布式训练的算法。在本文中,我们讨论并比较了当前的最先进的框架,以实现大规模的分布式深度学习。首先,我们调查分布式学习中的当前实践,并确定所使用的不同类型的并行性。然后,我们提出了对大型图像和语言培训任务的性能进行了经验结果。此外,我们解决了他们的统计效率和内存消耗行为。根据我们的结果,我们讨论了阻碍性能的每个框架的算法和实现部分。
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 谷歌翻译
过去的几年见证了基于变压器的模型的成功,其规模和应用方案继续积极发展。变压器模型的当前景观越来越多样化:该模型大小差异很大,最大的参数是最大的。模型特性由于特征的混合物所引入的稀疏性而有所不同。目标应用程序方案可以是关键延迟或面向吞吐量的情况;部署硬件可以是具有不同类型的内存和存储等单身或多GPU系统。随着多样性的增加和变压器模型的快速发展速度,设计高性能和高效的推理系统非常具有挑战性。在本文中,我们提出了DeepSpeed推断,这是用于解决上述挑战的变压器模型推理的全面系统解决方案。深速推理包括(1)一种多GPU推理解决方案,可最大程度地减少潜伏度,同时最大化密集和稀疏变压器模型的吞吐量,当它们适合聚集的GPU内存时,以及(2)一种异质推理解决方案,该解决方案利用CPU和NVME内存中的CPU和NVME内存。除了GPU内存和计算以使高推理吞吐量具有不适合聚集GPU内存的大型推理吞吐量。对于面向延迟的方案,深速推理可将延迟降低到最新的7倍,而对于面向吞吐量的方案,延迟的潜伏期将延迟减少到1.5倍以上。此外,它通过利用数百个GPU来实现实时延迟约束下的参数量表推断,这是一个前所未有的推理。它可以比仅使用GPU的解决方案更大的25倍模型,同时提供84个TFLOPS(超过50美元的A6000峰值)。
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 谷歌翻译
在过去的十年中,深度神经网络(DNNS)的规模成倍增长,只剩下那些具有大量基于数据中心的资源的人具有开发和培训此类模型的能力。对于可能只有有限的资源(例如,单个多GPU服务器)的研究人员的长尾巴的主要挑战之一是GPU内存能力与模型大小相比。问题是如此严重,以至于训练大规模DNN模型的内存需求通常可以超过单个服务器上所有可用GPU的总容量;这个问题只会随着不断增长的模型大小的趋势而变得更糟。当前依赖于虚拟化GPU内存的解决方案(通过向CPU内存交换/从CPU内存)会产生过多的交换开销。在本文中,我们提出了一个新的培训框架,和谐和倡导者,重新思考了DNN框架如何安排计算并移动数据以在单个商品服务器上有效地推动培训大规模模型的边界。在各种大型DNN模型中,Harmony能够将交换负载最多减少两个数量级,并在具有虚拟化内存的高度优化基线上获得高达7.6倍的训练吞吐量加速。
translated by 谷歌翻译
随着巨型密集模型的训练在当今硬件资源的可用性和能力方面达到了界限,由于其质量降低了大量培训成本,因此Experts(MOE)模型成为最有前途的模型体系结构之一等效密集模型。它的培训成本节省从编码器模型(先前的工作)展示到自动攻击性语言模型的5倍(这项工作以及并行探索)。但是,由于模型的规模和独特的架构,如何提供快速MOE模型推理仍然具有挑战性和未解决,从而限制了其实际用途。为了解决这个问题,我们提出了DeepSpeed-Moe,这是DeepSpeed库的一部分,包括新型MOE架构设计和模型压缩技术,将MOE模型大小降低到3.7倍,以及一个,以及一个与现有的MOE推理解决方案相比,高度优化的推理系统可提供7.3倍的延迟和成本。 DeepSpeed-Moe提供了前所未有的量表和效率,可与质量等效的密集模型相比,提供高达4.5倍和9倍的推理的大型MOE模型。我们希望我们的创新和系统有助于在大型模型景观中打开通往新方向的有前途的途径,从密集到稀疏的MOE模型转变,在这种模型中,培训和部署具有更少资源的更高质量模型变得更加广泛。
translated by 谷歌翻译
由于新兴的深度神经网络(DNN)模型的规模继续增大,使用大型GPU集群培训DNN是实现可接受培训时间的基本要求。在本文中,我们考虑了集群大小的未来增加的情况将导致全局批量大小用于培训模型以达到基本限制:超出某个点,更大的全球批量尺寸会导致样品效率降低,总体上升准确性的时间。因此,为了实现培训性能的进一步改进,我们必须考虑“强大的缩放”策略,该策略保持全局批量大小常量,并将较小的批次分配给每个GPU。不幸的是,这使得能够有效地使用群集资源。我们呈现DeepPool,通过两个关键思想解决这种效率挑战的系统。首先,突发并行性将大量GPU分配给突发中的前景作业,以利用整个层的并行性的不均匀性。其次,GPU多路复用优先考虑前台培训工作的吞吐量,而背景培训作业包装以回收未充分利用的GPU资源,从而提高集群范围利用率。这两个想法在一起使DeepPool能够在群集刻度大的单一任务中通过标准数据并行度进行2.2 - 2.4倍的完整性。
translated by 谷歌翻译
深度学习(DL)模型在许多应用领域中取得了卓越的性能,包括愿景,语言,医疗,商业广告,娱乐等。随着快速的发展,DL应用和潜在的服务硬件都表现出强大的缩放趋势,即例如,模型缩放和计算缩放,例如,最近的预先训练模型,具有数百亿次参数,具有〜TB级存储器消耗,以及提供数百个TFLOPS的最新GPU加速器。在扩大趋势,新的问题和挑战中出现了DL推理服务系统,这逐渐朝着大型深度学习服务系统(LDS)趋势。该调查旨在总结和分类大规模深度学习服务系统的新兴挑战和优化机会。通过提供新的分类法,总结计算范例,并详细说明最近的技术进步,我们希望这项调查能够在新的优化视角下阐明,并激励小说在大型深度学习系统优化中的作品。
translated by 谷歌翻译
培训尺寸培训大型深度学习模型非常具有挑战性。本文提出了一种新型管道并行方案,该方案结合了双向管道,以有效地训练大规模模型。嵌合体是一种同步方法,因此不会损失精度,比异步方法更加融合。与最新的同步管道方法相比,嵌合体将气泡的数量降低至50%;受益于双向管道的复杂调度,嵌合体具有更平衡的激活记忆消耗。评估是在基于变压器的语言模型上进行的。对于在PIZ Daint超级计算机的2,048个GPU节点上运行的GPT-2模型,Chimera通过最先进的同步和异步管道方法将培训吞吐量提高了1.16x-2.34x。
translated by 谷歌翻译
分布式培训已成为培训大型神经网络(NN)模型的普遍性和有效的方法,该模型加工大规模数据。然而,满足来自各种NN模型,多样化计算资源的要求以及在培训工作期间的动态变化是非常挑战的。在这项研究中,我们在系统的端到端视图中设计了我们的分布式训练框架,以提供不同场景的内置自适应能力,特别是对于工业应用和生产环境,通过完全考虑资源分配,模型分区,任务放置和分布式执行。基于统一的分布式图和统一群集对象,我们的自适应框架配备了全球成本模型和全局计划者,可以实现任意并行,资源感知的放置,多模式执行,容错和弹性分布式。训练。实验表明,我们的框架可以满足应用程序的多样性和资源的异质性满足各种要求和具有竞争力的性能。具有260亿参数的Ernie语言模型在数千个AI处理器上有效地培训,可扩展性较弱的91.7%。通过采用异质管道异步执行,从推荐系统的模型的吞吐量可以分别增加到2.1倍,仅增加了GPU和CPU培训的3.3倍。此外,容错和弹性分布式培训已成功应用于在线工业应用,这减少了长期培训工作的数量,增加了34.49%,并在全球调度效率增加了33.91%生产环境。
translated by 谷歌翻译
ALPA通过生成统一数据,操作员和管道并行性的执行计划来自动对大型深度学习(DL)模型的模型平行训练。现有的模型并行训练系统要求用户手动创建并行化计划,或者自动从有限的模型并行性配置中生成一个计划。它们不足以在分布式计算设备上扩展复杂的DL模型。 ALPA通过将并行性视为两个层次级别来分配大型DL模型的训练:操作员和操作员并行性。基于它,ALPA构建了一个新的分层空间,用于大规模的模型并行执行计划。 ALPA设计了许多汇编,以在每个并行性级别自动得出有效的并行执行计划。 ALPA实现了有效的运行时,以在分布式计算设备上协调两级并行执行。我们的评估表明,ALPA生成的并行化计划,即使在其设计的型号上,也可以匹配或超过手动模型并联训练系统。与专业系统不同,ALPA还推广到具有异质体系结构和模型的模型,而没有手动设计的计划。 ALPA的源代码可在https://github.com/alpa-projects/alpa上公开获得
translated by 谷歌翻译
模型大小的范围不断增加,并且持续改进性能使大型模型时代的到来的到来。在本报告中,我们通过潜入培训目标和培训方法来探讨大型模型培训如何运作。具体而言,培训目标描述了如何利用Web规模数据来开发基于自我监督的学习以及基于分布式培训的培训方法,开发出极强的大型模型,描述了如何使大型模型培训成为现实。我们将现有的培训方法总结为三个主要类别:训练并行性,节省记忆技术和模型稀疏设计。训练并行性可以根据发生的并行性维度分类为数据,管道和张量并行性。节省记忆的技术是正交的,并且与训练并行性互补。和模型稀疏设计以恒定的计算成本进一步扩大模型大小。在https://github.com/qhliu26/bm-training提供了不断更新的大型模型培训清单。
translated by 谷歌翻译
变压器模型的成功将深度学习模型量表推向了数十亿个参数。但是,由于单个GPU的内存资源有限,因此仍然缺乏选择最佳并行策略的最佳实践,因为它需要深度学习和并行计算方面的域专业知识。巨大的AI系统通过引入统一的界面来解决上述挑战,以将模型培训的顺序代码扩展到分布式环境。它支持并行训练方法,例如数据,管道,张量和序列并行性,以及与零冗余优化器集成的异质训练方法。与基线系统相比,巨大的AI可以实现大型型号的训练速度的2.76倍。
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 谷歌翻译
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 谷歌翻译
近年来,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 谷歌翻译
TensorFlow is a machine learning system that operates at large scale and in heterogeneous environments. Tensor-Flow uses dataflow graphs to represent computation, shared state, and the operations that mutate that state. It maps the nodes of a dataflow graph across many machines in a cluster, and within a machine across multiple computational devices, including multicore CPUs, generalpurpose GPUs, and custom-designed ASICs known as Tensor Processing Units (TPUs). This architecture gives flexibility to the application developer: whereas in previous "parameter server" designs the management of shared state is built into the system, TensorFlow enables developers to experiment with novel optimizations and training algorithms. TensorFlow supports a variety of applications, with a focus on training and inference on deep neural networks. Several Google services use TensorFlow in production, we have released it as an open-source project, and it has become widely used for machine learning research. In this paper, we describe the TensorFlow dataflow model and demonstrate the compelling performance that Tensor-Flow achieves for several real-world applications.
translated by 谷歌翻译
从有限的资源中获得最大收益可以进步自然语言处理(NLP)研究和实践,同时保守资源。这些资源可能是数据,时间,存储或能源。NLP的最新工作从缩放率产生了有趣的结果。但是,仅使用比例来改善结果意味着资源消耗也会扩展。这种关系激发了对有效方法的研究,这些方法需要更少的资源才能获得相似的结果。这项调查涉及NLP效率的方法和发现,旨在指导该领域的新研究人员并激发新方法的发展。
translated by 谷歌翻译
我们旨在通过引入全面的分布式深度学习(DDL)探索器来解决此问题,该研究人员可以确定DDL在公共云上运行时遭受的各种执行“失速”。我们已经通过扩展先前的工作来估算两种类型的通信失速 - 互连和网络摊位来实现剖面。我们使用Profiler培训流行的DNN模型来表征各种AWS GPU实例,并列出了用户做出明智决定的优势和缺点。我们观察到,较昂贵的GPU实例可能不是所有DNN型号的性能最多,并且AWS可能会在次优的硬件互连资源分配次优。具体而言,与单个实例的培训相比,机内互连可以引入高达90%的DNN培训时间和网络连接的实例的通信开销,而与网络连接的实例可能会遭受高达5倍的速度。此外,我们对DNN宏观特征的影响进行建模,例如层的数量和通信摊位上的梯度数量。最后,我们为用户提出了一个基于衡量的建议模型,以降低DDL的公共云货币成本。
translated by 谷歌翻译