Stochastic gradient descent (SGD) is one of the most popular numerical algorithms used in machine learning and other domains. Since this is likely to continue for the foreseeable future, it is important to study techniques that can make it run fast on parallel hardware. In this paper, we provide the frst analysis of a technique called Buckwild! that uses both asynchronous execution and low-precision computation. We introduce the DMGC model, the frst conceptualization of the parameter space that exists when implementing low-precision SGD, and show that it provides a way to both classify these algorithms and model their performance. We leverage this insight to propose and analyze techniques to improve the speed of low-precision SGD. First, we propose software optimizations that can increase throughput on existing CPUs by up to 11×. Second, we propose architectural changes, including a new cache technique we call an obstinate cache, that increase throughput beyond the limits of current-generation hardware. We also implement and analyze low-precision SGD on the FPGA, which is a promising alternative to the CPU for future SGD systems.
CITATION STYLE
De Sa, C., Feldman, M., Ré, C., & Olukotun, K. (2017). Understanding and optimizing asynchronous low-precision stochastic gradient descent. In Proceedings - International Symposium on Computer Architecture (Vol. Part F128643, pp. 561–574). Institute of Electrical and Electronics Engineers Inc. https://doi.org/10.1145/3079856.3080248
Mendeley helps you to discover research relevant for your work.