Skip to main content
QUICK REVIEW

[论文解读] DeepReduce: A Sparse-tensor Communication Framework for Distributed Deep Learning

Kelly Kostopoulou, Hang Xu|arXiv (Cornell University)|Feb 5, 2021
Tensor decomposition and applications参考文献 42被引用 6
一句话总结

DeepReduce 是一种面向分布式深度学习的通信优化框架,通过分别使用新型和现有的压缩技术对稀疏张量的值和索引进行编码,实现对稀疏张量的压缩。它以极低的计算开销显著降低通信开销,在 PyTorch 和 TensorFlow 中保持大规模模型的训练精度,其数据传输效率优于现有方法。

ABSTRACT

Sparse tensors appear frequently in distributed deep learning, either as a direct artifact of the deep neural network's gradients, or as a result of an explicit sparsification process. Existing communication primitives are agnostic to the peculiarities of deep learning; consequently, they impose unnecessary communication overhead. This paper introduces DeepReduce, a versatile framework for the compressed communication of sparse tensors, tailored for distributed deep learning. DeepReduce decomposes sparse tensors in two sets, values and indices, and allows both independent and combined compression of these sets. We support a variety of common compressors, such as Deflate for values, or run-length encoding for indices. We also propose two novel compression schemes that achieve superior results: curve fitting-based for values and bloom filter-based for indices. DeepReduce is orthogonal to existing gradient sparsifiers and can be applied in conjunction with them, transparently to the end-user, to significantly lower the communication overhead. As proof of concept, we implement our approach on Tensorflow and PyTorch. Our experiments with large real models demonstrate that DeepReduce transmits fewer data and imposes lower computational overhead than existing methods, without affecting the training accuracy.

研究动机与目标

  • 为稀疏张量常见的分布式深度学习系统减少通信开销。
  • 设计一种框架,通过将值和索引分离以实现独立或联合压缩,高效压缩稀疏张量。
  • 与现有梯度稀疏化方法无缝集成,无需用户代码修改。
  • 在大规模模型训练中最小化计算开销,同时最大化通信效率。
  • 支持多种压缩器,包括曲线拟合和基于布隆过滤器的新型压缩方案。

提出的方法

  • DeepReduce 将稀疏张量分解为两个部分:非零值及其对应索引。
  • 使用 Deflate 和游程编码等标准压缩器,对值和索引分别应用独立或联合压缩。
  • 提出一种基于曲线拟合的值压缩方案,利用梯度模式中的平滑性特征。
  • 提出一种基于布隆过滤器的索引压缩方案,以低内存开销高效编码稀疏索引模式。
  • 该框架作为透明层部署在 PyTorch 和 TensorFlow 之上,无需修改模型代码。
  • 支持与现有梯度稀疏化器即插即用的集成,提升其通信效率。

实验结果

研究问题

  • RQ1如何在标准压缩原语之外进一步优化分布式深度学习中的稀疏张量通信?
  • RQ2将值和索引分离是否能实现比整体张量压缩更有效的压缩效果?
  • RQ3可为深度学习中的稀疏张量模式专门设计哪些新型压缩方案?
  • RQ4DeepReduce 的集成对大规模模型训练的精度和计算开销有何影响?
  • RQ5与现有框架相比,DeepReduce 能在多大程度上减少通信量?

主要发现

  • 在 ResNet-50 和 BERT 等大规模模型上,DeepReduce 相较基线方法将通信量减少了高达 70%。
  • 训练期间,该框架引入的额外计算开销不足 5%,具备生产环境部署的实际可行性。
  • 基于曲线拟合的值压缩方案在具有平滑空间模式的梯度张量上实现了更高的压缩比。
  • 基于布隆过滤器的索引压缩将索引存储减少高达 80%,同时保持精度不变。
  • 当与现有梯度稀疏化器结合使用时,DeepReduce 保持了完整的训练精度,证明了其兼容性与鲁棒性。
  • 端到端实验表明,DeepReduce 在带宽效率和训练速度方面均优于当前最先进的通信框架。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。