过去的十年见证了深度学习(DL)应用数据量的巨大增长。因此,深度神经网络(DNNs)的训练时间过长已经成为机器学习(ML)开发者和研究者的瓶颈。例如,在8个P100 gpu上完成90-epoch ImageNet/ResNet-50的训练需要29个小时。在16个v3 TPU芯片上完成BERT预训练需要81小时。本文主要研究的是快速准确的ML训练。尽管生产团队希望充分利用超级计算机来加速训练过程,但传统的优化器无法扩展到数千个处理器。在本论文中,我们设计了一系列基本的优化算法来提高DL系统的并行度。我们的算法为谷歌、英特尔、腾讯、英伟达等最先进的分布式系统提供支持。本文的重点是弥合高性能计算(HPC)和ML之间的差距。
在2017年HPC和ML之间有很大的差距。一方面,我们拥有强大的超级计算机,每秒可以执行2x10^17个浮点运算。另一方面,我们甚至不能充分利用1%的计算能力来训练一个最先进的机器学习模型。原因是超级计算机需要极高的并行度才能达到其峰值性能。然而,高并行性导致ML优化器的收敛性很差。为了解决这个问题,我和我的合著者提出了LARS优化器、LAMB优化器和CA-SVM框架。这些新方法使ML训练扩展到数千个处理器而不会失去准确性。在过去的三年里,我们观察到ResNet-50的训练时间从29小时下降到67.1秒。事实上,自2017年12月以来,所有最先进的ImageNet训练速度记录都是由LARS创造的。LARS在MLPerf v0.6中成为行业指标。此外,即使没有超级计算机,我们的方法也比现有的求解器要快。如果我们固定训练预算(例如1个GPU 1小时),我们的优化器可以达到一个更高的精度比最先进的基线。