[论文解读] DoubleSqueeze: Parallel Stochastic Gradient Descent with Double-Pass Error-Compensated Compression
DoubleSqueeze 分析并证明了具有两阶段(工作节点和参数服务器)压缩的并行误差补偿 SGD 的收敛性,显示线性加速和对压缩偏差/噪声的增强容忍度。
A standard approach in large scale machine learning is distributed stochastic gradient training, which requires the computation of aggregated stochastic gradients over multiple nodes on a network. Communication is a major bottleneck in such applications, and in recent years, compressed stochastic gradient methods such as QSGD (quantized SGD) and sparse SGD have been proposed to reduce communication. It was also shown that error compensation can be combined with compression to achieve better convergence in a scheme that each node compresses its local stochastic gradient and broadcast the result to all other nodes over the network in a single pass. However, such a single pass broadcast approach is not realistic in many practical implementations. For example, under the popular parameter server model for distributed learning, the worker nodes need to send the compressed local gradients to the parameter server, which performs the aggregation. The parameter server has to compress the aggregated stochastic gradient again before sending it back to the worker nodes. In this work, we provide a detailed analysis on this two-pass communication model and its asynchronous parallel variant, with error-compensated compression both on the worker nodes and on the parameter server. We show that the error-compensated stochastic gradient algorithm admits three very nice properties: 1) it is compatible with an \emph{arbitrary} compression technique; 2) it admits an improved convergence rate than the non error-compensated stochastic gradient methods such as QSGD and sparse SGD; 3) it admits linear speedup with respect to the number of workers. The empirical study is also conducted to validate our theoretical results.
研究动机与目标
- 动机:在分布式随机梯度训练中减少通信瓶颈。
- 在双通道通信模型中,将误差补偿扩展到工作节点和参数服务器两端。
- 在非凸损失下证明所提的 DoubleSqueeze 算法的收敛性和线性加速。
- 提供经验验证,支持理论收敛性并实现实际带宽节省。
提出的方法
- 引入 DoubleSqueeze,在通信梯度上,工作节点和参数服务器均执行误差补偿压缩。
- 使用可能带偏差或无偏差的压缩算子 Q_ω[·],在工作节点和服务器上使用误差向量 δ^{(i)} 和 δ 来补偿信息丢失。
- 证明全局更新可以写成 x_{t+1}=x_t-γ∇f(x_t)+γξ_t-γΩ_{t-1}+γΩ_t,其中 Ω_t 和 ξ_t 捕获压缩误差和随机梯度方差。
- 证明在合适的假设下(梯度的 Lipschitz 连续、方差有界、压缩误差有界),DoubleSqueeze 实现随工作节点数 n 的线性加速的收敛率。
- 推论给出收敛速度为 O(σ/√(nT)),再加上依赖于 ε 与 T 的项,表明在并行和对压缩误差具有容忍度的情况下收敛更快。
实验结果
研究问题
- RQ1能否在双通道压缩设置中,将误差补偿有效扩展到工作节点和参数服务器两端?
- RQ2并行的双通道误差补偿 SGD 是否实现相对于工作节点数量的线性加速?
- RQ3在非凸损失下,DoubleSqueeze 与非误差补偿的 SGD 以及其他压缩 SGD 方法相比如何?
- RQ4在保持收敛性的前提下,DoubleSqueeze 中可使用哪些压缩算子(带偏差或无偏)?
- RQ5在常见模型和数据集上,实际带宽节省和收敛行为有哪些?
主要发现
- DoubleSqueeze 在收敛方面实现了随工作节点数 n 成比例的线性加速。
- 该方法对压缩偏差和噪声的容忍度优于非误差补偿的 SGD,在压缩环境下改善了收敛性。
- 每次迭代只有 n 轮通信,双方均进行全压缩,从而实现显著的带宽节省。
- 理论结果可推广到非凸损失,在存在压缩的情况下达到类似 SGD 的速度。
- 在 CIFAR-10 数据集的 ResNet-18 上的实证结果显示,与未压缩的 SGD 相近的收敛性,同时在带宽受限下获得更快的每次迭代时间,优于无补偿方法。
- 在使用 1-bit 和 top-k 压缩时,DoubleSqueeze 在受限网络条件下仍维持有竞争力的训练和测试性能,同时获得显著加速。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。