  Scalable training of large models (like BERT and GPT-3) requires careful
optimization rooted in model design, architecture, and system capabilities.
From a system standpoint, communication has become a major bottleneck,
especially on commodity systems with standard TCP interconnects that offer
limited network bandwidth. Communication compression is an important technique
to reduce training time on such systems. One of the most effective methods is
error-compensated compression, which offers robust convergence speed even under
1-bit compression. However, state-of-the-art error compensation techniques only
work with basic optimizers like SGD and momentum SGD, which are linearly
dependent on the gradients. They do not work with non-linear gradient-based
optimizers like Adam, which offer state-of-the-art convergence efficiency and
accuracy for models like BERT. In this paper, we propose 1-bit Adam that
reduces the communication volume by up to $5\times$, offers much better
scalability, and provides the same convergence speed as uncompressed Adam. Our
key finding is that Adam's variance (non-linear term) becomes stable (after a
warmup phase) and can be used as a fixed precondition for the rest of the
training (compression phase). Experiments on up to 256 GPUs show that 1-bit
Adam enables up to $3.3\times$ higher throughput for BERT-Large pre-training
and up to $2.9\times$ higher throughput for SQuAD fine-tuning. In addition, we
provide theoretical analysis for our proposed work.
