Perturbed Iterate Analysis for Asynchronous Stochastic Optimization
Horia Mania, Xinghao Pan, Dimitris Papailiopoulos, Benjamin Recht,, Kannan Ramchandran, Michael I. Jordan

TL;DR
This paper introduces a unified perturbed iterate framework for analyzing asynchronous stochastic optimization algorithms, simplifying existing analyses and enabling the development of faster parallel algorithms like KroMagnon.
Contribution
The paper presents a novel perturbed iterate analysis framework that simplifies and improves the understanding of asynchronous stochastic optimization methods, and introduces KroMagnon, a faster parallel SVRG algorithm.
Findings
Simplified analysis of Hogwild! and asynchronous coordinate descent.
Improved convergence bounds for asynchronous algorithms.
KroMagnon achieves over four orders of magnitude speedup in experiments.
Abstract
We introduce and analyze stochastic optimization methods where the input to each gradient update is perturbed by bounded noise. We show that this framework forms the basis of a unified approach to analyze asynchronous implementations of stochastic optimization algorithms.In this framework, asynchronous stochastic optimization algorithms can be thought of as serial methods operating on noisy inputs. Using our perturbed iterate framework, we provide new analyses of the Hogwild! algorithm and asynchronous stochastic coordinate descent, that are simpler than earlier analyses, remove many assumptions of previous models, and in some cases yield improved upper bounds on the convergence rates. We proceed to apply our framework to develop and analyze KroMagnon: a novel, parallel, sparse stochastic variance-reduced gradient (SVRG) algorithm. We demonstrate experimentally on a 16-core machine that…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
