[论文解读] Priority-based Parameter Propagation for Distributed DNN Training
P3 引入参数切片和基于优先级的更新,以在带宽受限的情况下重叠计算与通信,从而在数据并行 DNN 训练中在不影响收敛的前提下提升吞吐量。
Data parallel training is widely used for scaling distributed deep neural network (DNN) training. However, the performance benefits are often limited by the communication-heavy parameter synchronization step. In this paper, we take advantage of the domain specific knowledge of DNN training and overlap parameter synchronization with computation in order to improve the training performance. We make two key observations: (1) the optimal data representation granularity for the communication may differ from that used by the underlying DNN model implementation and (2) different parameters can afford different synchronization delays. Based on these observations, we propose a new synchronization mechanism called Priority-based Parameter Propagation (P3). P3 synchronizes parameters at a finer granularity and schedules data transmission in such a way that the training process incurs minimal communication delay. We show that P3 can improve the training throughput of ResNet-50, Sockeye and VGG-19 by as much as 25%, 38% and 66% respectively on clusters with realistic network bandwidth
研究动机与目标
- 需要克服同步 SGD 的数据并行 DNN 训练中的通信瓶颈的动机。
- 利用 DNN 训练的领域知识,将参数同步与计算重叠。
- 证明在带宽受限的情况下,细粒度参数同步可超越分层级方法。
- 确保该方法在降低通信开销的同时保持收敛性。
提出的方法
- 提出参数切片:将各层分割成更小的参数切片并独立同步。
- 应用基于优先级的更新:根据切片在下一次迭代中的需要情况分配优先级,并优先安排高优先级切片。
- 在 MXNet KVStore 内实现 P3 Worker 和 P3 Server,并引入用于切片的生产者-消费者优先队列。
- 对切片进行循环分配给 P3 Server,移除显式的逐切片更新通知,以实现双向带宽利用。
- 保持全梯度同步以避免影响模型收敛。
实验结果
研究问题
- RQ1在带宽有限的情况下,细粒度参数同步是否能比层级同步降低通信延迟?
- RQ2将层的消费时机(前向传播需求)纳入调度是否能进一步提高通信与计算的重叠?
- RQ3P3 在不同层粒度的模型上是否在提高训练吞吐量的同时保持 SGD 收敛性?
主要发现
- 在现实网络带宽下,P3 分别对 ResNet-50、Sockeye 和 VGG-19 的训练吞吐量提升最高可达 25%、38% 和 66%。
- 在多种模型中,P3 的吞吐量在较低带宽下仍保持线性增速,相较基线对带宽限制具有更强的鲁棒性。
- 参数切片降低峰值带宽使用,并能实现更有效的双向带宽利用。
- 与像 DGC 这样的基于压缩的方法相比,P3 在精度方面具备更好表现且不改变 SGD 的收敛行为。
- 对于具有非常大层的模型(如 VGG-19),P3 能带来显著吞吐量提升,即使部分模型的增益较小。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。