[论文解读] DAPPLE: A Pipelined Data Parallel Approach for Training Large Models
DAPPLE 是一种同步训练框架,结合数据并行与流水线并行,以优化大规模深度神经网络的训练。它引入了自动并行化规划器和内存高效的运行时调度器,在内存使用量减少12%的情况下,相较于 PipeDream 实现高达3.23倍的加速,相较于 GPipe 实现1.6倍的吞吐量提升。
It is a challenging task to train large DNN models on sophisticated GPU platforms with diversified interconnect capabilities. Recently, pipelined training has been proposed as an effective approach for improving device utilization. However, there are still several tricky issues to address: improving computing efficiency while ensuring convergence, and reducing memory usage without incurring additional computing costs. We propose DAPPLE, a synchronous training framework which combines data parallelism and pipeline parallelism for large DNN models. It features a novel parallelization strategy planner to solve the partition and placement problems, and explores the optimal hybrid strategy of data and pipeline parallelism. We also propose a new runtime scheduling algorithm to reduce device memory usage, which is orthogonal to re-computation approach and does not come at the expense of training throughput. Experiments show that DAPPLE planner consistently outperforms strategies generated by PipeDream's planner by up to 3.23x under synchronous training scenarios, and DAPPLE runtime outperforms GPipe by 1.6x speedup of training throughput and reduces the memory consumption of 12% at the same time.
研究动机与目标
- 解决在异构 GPU 集群上,当大型 DNN 模型超出单张 GPU 内存容量时的训练挑战。
- 在不牺牲收敛性的情况下,提升同步训练中的训练效率与设备利用率。
- 在流水线训练中降低内存消耗,且不依赖重新计算或存储多个模型参数版本。
- 自动化生成针对给定模型与硬件配置的最优混合数据并行与流水线并行策略。
- 在互连带宽有限(如25Gbps以太网)的系统上实现可扩展、高吞吐量的训练。
提出的方法
- 提出一种同步流水线规划器,自动确定模型层在设备间的最优划分、复制与放置策略,以最小化训练迭代时间。
- 提出一种新颖的运行时调度算法,通过避免存储中间激活结果来减少峰值内存使用,且与重新计算正交。
- 结合数据并行(通过阶段级复制)与流水线并行,以平衡负载并提升设备利用率。
- 设计一种混合策略,根据模型结构与硬件约束动态选择最优的数据并行与流水线并行组合。
- 实现一种微批次调度方案,支持流水线执行,同时确保每个全局步长内所有微批次的梯度同步。
- 在规划器中使用成本模型,评估并选择在同步约束下最小化端到端训练时间的策略。
实验结果
研究问题
- RQ1在同步训练下,如何自动生成大规模 DNN 模型的最优混合数据并行与流水线并行策略?
- RQ2运行时调度器是否能在不增加计算成本或不依赖重新计算的前提下,降低流水线训练中的内存使用?
- RQ3与 GPipe 和 PipeDream 相比,DAPPLE 在同步设置下在训练吞吐量与内存效率方面提升了多少?
- RQ4在 25Gbps 以太网等低带宽互连环境下,DAPPLE 在分层 GPU 集群中的表现如何?
- RQ5DAPPLE 在模型大小与 GPU 数量方面具有多大可扩展性,特别是在模型参数超出单设备内存容量时?
主要发现
- DAPPLE 的规划器在同步训练场景下,相较于 PipeDream 规划器生成的策略,最高实现3.23倍加速。
- DAPPLE 的运行时调度器相较于 GPipe,实现1.6倍吞吐量提升,同时内存消耗降低12%。
- 在8张 V100 GPU 上,DAPPLE 支持最大达55亿参数的 BERT 模型,使用重新计算机制,且最大模型规模随层数增加呈线性扩展。
- 在25Gbps以太网环境下,DAPPLE 保持平滑可扩展性,优于数据并行(DP)变体,后者在超过8张GPU后因通信瓶颈导致性能下降。
- 由于模型参数分布均衡且跨阶段激活开销减少,DAPPLE 实现了高达93%的 GPU 利用率,并在长流水线设置下仍能有效扩展。
- 该框架对低带宽机器间通信不敏感,因此特别适合具有异构互连的超大规模集群。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。