PowerSGD: Practical Low-Rank Gradient Compression for Distributed Optimization

Thijs Vogels, Sai Praneeth Karimireddy, Martin Jaggi
2019
8 references

Abstract

We study gradient compression methods to alleviate the communication bottleneck in data-parallel distributed optimization. Despite the significant attention received, current compression schemes either do not scale well or fail to achieve the target test accuracy. We propose a new low-rank gradient compressor based on power iteration that can i) compress gradients rapidly, ii) efficiently aggregate the compressed gradients using all-reduce, and iii) achieve test performance on par with SGD. The proposed algorithm is the only method evaluated that achieves consistent wall-clock speedups when benchmarked against regular SGD with an optimized communication backend. We demonstrate reduced training times for convolutional networks as well as LSTMs on common datasets. Our code is available at https://github.com/epfml/powersgd.

1 repository
4 references

Code References

pytorch/pytorch
2 files
docs/source/ddp_comm_hooks.md
2
L58 PowerSGD ([Vogels et al., NeurIPS 2019](https://arxiv.org/abs/1905.13727))
L218 the implementation in the original [paper](https://arxiv.org/abs/1905.13727).
torch/distributed/algorithms/ddp_comm_hooks/powerSGD_hook.py
2
L346 algorithm described in the `paper <https://arxiv.org/abs/1905.13727>`_.
L660 algorithm described in the `paper <https://arxiv.org/abs/1905.13727>`_.
Link copied to clipboard!