通过1比特Adam实现通信量减少多达5倍、训练速度提高3.4倍
Adam是一种有效且可能是最广泛用于训练许多大型深度学习模型的优化器。然而,Adam通常不兼容通信高效的优化算法,因此在分布式设备上扩展时,通信成本可能成为瓶颈。我们推出了一种新算法——1比特Adam——及其在DeepSpeed中的高效实现。1比特Adam与Adam提供相同的收敛性,通信量减少多达5倍,使得在带宽受限的集群上,BERT-Large预训练的吞吐量提高多达3.5倍,SQuAD微调的吞吐量提高多达2.7倍。
- 简要概述,请参阅我们的新闻稿。
- 详细技术深入探讨,请参阅我们的博客文章。
- 关于如何重现我们结果的教程,请参阅我们的1比特Adam教程。
- 1比特Adam的源代码可在DeepSpeed仓库中找到。1比特Adam的实现位于onebit_adam.py中,而1比特Adam的CUDA-Aware通信位于custom_collectives.py中。尝试此功能的示例代码可在DeepSpeedExamples仓库中找到,如教程中所示。