分布式优化中99%的时间被浪费:问题及其修复方法
机器学习
2019-06-05 v2 最优化与控制
机器学习
摘要
许多用于训练机器学习模型的流行分布式优化方法符合以下模板:每个工作节点独立计算局部梯度估计,然后传递给主节点,主节点随后进行平均。平均值被广播回工作节点,工作节点用它执行梯度型步骤来更新模型的局部版本。众所周知,许多此类方法,包括SGD、SAGA以及用于过参数化模型的加速SGD,并不能随并行工作节点数量良好地扩展。在本文中我们观察到上述模板从根本上效率低下,因为工作节点不必要地通信了过多数据,从而拖慢了整个系统。我们基于本文开发的一种新更新稀疏化方法提出一种修复方案,建议将其用于现有方法之上。即,我们开发了一种基于通信前对局部梯度估计进行独立稀疏化的并行块坐标下降新变体。我们证明,在个工作节点中各发送个块(其中为参数块总数)的情况下,底层分布式方法的理论迭代复杂度基本不受影响。作为说明,这意味着当使用个并行工作节点时,99%块的通信是冗余的,因此是浪费时间。我们的理论主张通过大量数值实验得到支持,这些实验在多个合成和真实数据集上展示了与我们的理论几乎完美的吻合。
引用
@article{arxiv.1901.09437,
title = {99% of Distributed Optimization is a Waste of Time: The Issue and How to Fix it},
author = {Konstantin Mishchenko and Filip Hanzely and Peter Richtárik},
journal= {arXiv preprint arXiv:1901.09437},
year = {2019}
}
备注
41 pages, 8 algorithms, 10 theorems, 12 figures