High-Accuracy Low-Precision Training
Christopher De Sa, Megan Leszczynski, Jian Zhang, Alana Marzoev, Christopher R. Aberger, Kunle Olukotun, Christopher Ré
TL;DR
The paper tackles the problem of performing high-accuracy training with low-precision arithmetic. It introduces HALP, a method that combines stochastic variance-reduced gradients with a novel bit-centering technique to suppress quantization noise, achieving linear convergence to high accuracy using a fixed bit-width. The authors provide theoretical guarantees and demonstrate practical CPU speedups (up to 4x) on tasks ranging from CNN/LSTM deep learning to multi-class logistic regression, validated via TensorQuant simulations. The work highlights conditioning as a key factor and offers insights for hardware design to support efficient, high-precision training on low-precision units.
Abstract
Low-precision computation is often used to lower the time and energy cost of machine learning, and recently hardware accelerators have been developed to support it. Still, it has been used primarily for inference - not training. Previous low-precision training algorithms suffered from a fundamental tradeoff: as the number of bits of precision is lowered, quantization noise is added to the model, which limits statistical accuracy. To address this issue, we describe a simple low-precision stochastic gradient descent variant called HALP. HALP converges at the same theoretical rate as full-precision algorithms despite the noise introduced by using low precision throughout execution. The key idea is to use SVRG to reduce gradient variance, and to combine this with a novel technique called bit centering to reduce quantization error. We show that on the CPU, HALP can run up to $4 \times$ faster than full-precision SVRG and can match its convergence trajectory. We implemented HALP in TensorQuant, and show that it exceeds the validation performance of plain low-precision SGD on two deep learning tasks.
