零气泡管道并行化
通过重复构建块的方式,将流水线调度分解为生命周期的概念,并发现现有调度方案在内存利用方面存在问题。为了解决这个问题,引入了一系列具有可控激活内存的高效构建块,可以在不影响效率的情况下将峰值激活内存减少到 1F1B 的 1/2 甚至 1/3,同时几乎没有流水线气泡,以及在吞吐量方面表现优于 1F1B。在实践场景中对混合并行化超参数进行网格搜索时,相较于 1F1B 基准,我们提出的方法在大型语言模型上实现了 16% 的吞吐量提升。
May, 2024
本文提出了一种基于优化器相关的权重预测策略(称为 PipeOptim),用于解决异步管道训练中的权重一致性和陈旧性问题,以确保高吞吐量和有效的参数学习,实验证明 PipeOptim 优于其他流行的管道方法。
Dec, 2023
引入 Breadth-First Pipeline Parallelism,这是一种结合了 pipeline 和 data parallelism 的新型训练策略,通过充分利用 GPU 和每个 GPU 上的小 batch size 的特性,以及完全分片的数据并行性,降低了训练时间、成本和内存使用。实验结果显示训练速度提高了 53%。
Nov, 2022
通过对 BPipe 技术在 GPT-3 和 LLaMA 模型上的性能分析以及对 BPipe 性能评估方法的引入,我们发现了 BPipe 在 GPT-3 和 LLaMA 训练上性能不同的原因,并提出了一种新的估算 BPipe 性能的方法。
Jan, 2024
在本研究中,我们提出了一种新的维度,即在单个训练序列中执行流水线并行处理,以用于 Transformer-based 语言模型的高效训练,并开发了一种基于动态规划的算法 TeraPipe,用于进行同步模型并行训练。我们证明,TeraPipe 可以在使用 48 个 p3.16xlarge 实例的 AWS 集群上将最大的包含 1750 亿参数的 GPT-3 模型的训练速度提高 5.0 倍,相比最先进的模型并行方法,具有更细粒度的流水线并行处理。
Feb, 2021
本研究提出了 PipeTransformer 来提高 Transformer 模型的多节点分布式训练效率,该方法通过自动化管线处理和数据并行来动态调整管线和并行策略,从而实现层的冻结和资源分配,结果表明 PipeTransformer 相较于现有算法可以提高 2.4 倍速度。
Feb, 2021
通过将反向传播步骤分为两个独立阶段,本文引入 2 阶段反向传播(2BP),以减少空闲计算时间,并在各种模型架构和管道调度上测试 2BP,从而在所有情况下实现吞吐量的增加。使用 2BP,相较于传统方法,在训练一个类似 LLaMa 的 Transformer 时,能够实现吞吐量的 1.70 倍增长,模型参数为 70 亿个,跨 4 个 GPU。
May, 2024
该论文探讨了管道并行(Pipeline parallelism)训练神经网络的各种技术,提出了一种简单而健壮的训练方法,名为 PipeMare,可以在保持与同步训练相当的模型质量的情况下提高硬件利用率,允许高效使用细粒度的并行计算。在 ResNet 和 Transformer 网络上进行测试,异步训练允许 PipeMare 使用更少的内存或更高的管道利用率。
Oct, 2019
通过将模型图分成 k 个阶段并减少瓶颈阶段的运行时间,我们通过最小化通信成本来优化深度神经网络(DNN)推理的流水线并行性。我们设计了针对这个 NP 困难问题的实际算法,并通过与通过新颖的混合整数规划(MIP)公式获得的强下界进行比较,证明它们在实践中几乎是最优的。我们将这些算法和下界方法应用于生产模型,从而在与标准组合下界相比,获得了显著改进的近似保证。这项工作表明,尽管最大吞吐量划分在理论上很困难,但我们在实践中对该问题的算法方面有所掌握,剩下的挑战主要在于开发更准确的成本模型以提供给划分算法。
Nov, 2023
本论文提出了一种新的并行计算方法(并行、管道、数据并行),并探讨了不同并行计算方法之间的权衡取舍,可使模型达到拥有万亿参数的级别,提高了 10%的吞吐量,是现有方法的可比内存占用率。在 3072 个 GPU 上完成了 1 万亿参数模型的训练,每个 GPU 的吞吐量达到了理论峰值的 52%。
Apr, 2021