[论文解读] Domain-specific Communication Optimization for Distributed DNN Training
DLCP 是一种用于分布式 DNN 训练的领域特定通信优化框架,通过有界损失容忍传输、基于层和梯度大小的逐包梯度优先级排序,以及无序的包间负载均衡,降低通信开销。它通过细粒度、网络感知的包级优化,相较于最先进方案实现高达 84.3% 的额外训练加速。
Communication overhead poses an important obstacle to distributed DNN training and draws increasing attention in recent years. Despite continuous efforts, prior solutions such as gradient compression/reduction, compute/communication overlapping and layer-wise flow scheduling, etc., are still coarse-grained and insufficient for an efficient distributed training especially when the network is under pressure. We present DLCP, a novel solution exploiting the domain-specific properties of deep learning to optimize communication overhead of DNN training in a fine-grained manner. At its heart, DLCP comprises of several key innovations beyond prior work: e.g., it exploits {\em bounded loss tolerance} of SGD-based training to improve tail communication latency which cannot be avoided purely through gradient compression. It then performs fine-grained packet-level prioritization and dropping, as opposed to flow-level scheduling, based on layers and magnitudes of gradients to further speedup model convergence without affecting accuracy. In addition, it leverages inter-packet order-independency to perform per-packet load balancing without causing classical re-ordering issues. DLCP works with both Parameter Server and collective communication routines. We have implemented DLCP with commodity switches, integrated it with various training frameworks including TensorFlow, MXNet and PyTorch, and deployed it in our small-scale testbed with 10 Nvidia V100 GPUs. Our testbed experiments and large-scale simulations show that DLCP delivers up to $84.3\%$ additional training acceleration over the best existing solutions.
研究动机与目标
- 解决分布式 DNN 训练中持续存在的通信瓶颈问题,尤其是在网络压力和尾部延迟情况下的挑战。
- 克服先前方案(如梯度压缩和流调度)中粗粒度、基于流的优化的局限性。
- 利用深度学习的领域特定属性(如 SGD 中的有界损失容忍性,以及按层/大小划分的梯度重要性),实现细粒度、网络级优化。
- 设计一种运行在应用层以下的传输与调度栈,以提升端到端训练效率,且无需修改深度学习框架。
- 通过最小化尾部延迟和改善负载均衡,实现显著的训练加速,同时保持模型精度。
提出的方法
- 提出一种有界损失容忍传输协议,有意丢弃或忽略一小部分可配置的延迟或丢失包(最多 10%),利用 SGD 对梯度损失的内在容忍性。
- 在网络交换机中基于两个维度实施逐包优先级排队与丢弃:梯度层(后向层更关键)和梯度大小(较大值更具损失容忍性)。
- 利用 DNN 训练中包间顺序无关性,实现无需重排序开销的逐包负载均衡,简化网络设计。
- 与参数服务器和集体通信模式(如 NCCL)兼容,并支持 TensorFlow、MXNet 和 PyTorch。
- 使用通用交换机实现基于优先级的调度与损失容忍,避免依赖专用硬件。
- 采用独立于重传超时(RTO)的设计,使其对影响 TCP 协议的 RTO 配置问题具有鲁棒性。
实验结果
研究问题
- RQ1能否在基于 SGD 的训练中利用有界损失容忍性,在不损害模型收敛性的情况下减少尾部通信延迟?
- RQ2基于梯度层和大小的逐包优先级排序,如何改善训练收敛性并减少通信瓶颈?
- RQ3在不重排序的前提下,能在多大程度上实现逐包负载均衡?在高拥塞场景下能带来多大性能增益?
- RQ4在网络压力下,DLCP 与现有基于流的优化技术相比,在训练加速和鲁棒性方面表现如何?
- RQ5DLCP 是否能在无需模型特定调优的情况下,跨多种模型(如 ResNet50、InceptionV3)和训练工作负载中实现显著性能提升?
主要发现
- 在大规模仿真中,DLCP 相较于最佳现有方案(ByteScheduler)实现高达 84.3% 的额外训练加速。
- 在 10% 损失容忍边界下,DLCP 保持与基准相当的模型精度,收敛曲线几乎与基线无法区分。
- DLCP 将尾部流完成时间(FCT)减少最多 84.5%(当 RTOmin = 1ms 时)和 83.9%(当 RTOmin = 5ms 时),即使在激进的 RTO 设置下也优于基于 TCP 的协议。
- 1% 和 10% 的损失容忍边界产生的收敛时间几乎相同,表明无需对损失容忍阈值进行精细调优即可获得最优性能。
- DLCP 对重传超时(RTO)配置问题具有鲁棒性,因其不依赖重传机制,避免了虚假重传和定时器分辨率限制等问题。
- 该框架与多种深度学习框架(TensorFlow、MXNet、PyTorch)兼容,并适用于参数服务器和集体通信模式。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。