AsGrad: A Sharp Unified Analysis of Asynchronous-SGD Algorithms

Rustem Islamov, Mher Safaryan, Dan Alistarh
10/31/2023
cs.LGcs.AImath.OC

No confident code implementation found for this paper.

Abstract

We analyze asynchronous-type algorithms for distributed SGD in the heterogeneous setting, where each worker has its own computation and communication speeds, as well as data distribution. In these algorithms, workers compute possibly stale and stochastic gradients associated with their local data at some iteration back in history and then return those gradients to the server without synchronizing with other workers. We present a unified convergence theory for non-convex smooth functions in the heterogeneous regime. The proposed analysis provides convergence for pure asynchronous SGD and its various modifications. Moreover, our theory explains what affects the convergence rate and what can be done to improve the performance of asynchronous algorithms. In particular, we introduce a novel asynchronous method based on worker shuffling. As a by-product of our analysis, we also demonstrate convergence guarantees for gradient-type algorithms such as SGD with random reshuffling and shuffle-once mini-batch SGD. The derived rates match the best-known results for those algorithms, highlighting the tightness of our approach. Finally, our numerical evaluations support theoretical findings and show the good practical performance of our method.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{islamov2023asgrad,
  title  = {AsGrad: A Sharp Unified Analysis of Asynchronous-SGD Algorithms},
  author = {Rustem Islamov and Mher Safaryan and Dan Alistarh},
  year   = {2023},
  eprint = {2310.20452},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2310.20452v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2310.20452.svg)](https://codeofpaper.com/paper/2310.20452)

Discussion