深度学习训练加速技术的趋势与机会——劳伦斯利弗莫尔国家实验室研究人员最新长篇综述
深度学习算法取得的成果十分令人惊叹。但是,最近几年的最重要的深度学习进展原因之一是软硬件设施的创新导致大规模模型的训练成为可能。深度学习算法参数的规模增长十分迅速。基本上18-24个月,训练参数就会翻一倍。而在语言模型领域,其实4-8个月,模型的参数数量就会翻一倍。
大模型的发展带来了性能的显著提升,但是也使得模型的训练成本飞速增加。例如,GPT-3的训练成本估计为165万美元(谷歌的v3 TPUs)。根据估计,2026年最大的AI模型的训练成本可能比美国的GPD还要高。因此,提升大模型的训练效率十分重要。除了在硬件设施上进行创新外,算法的训练过程也在不断发展。这种算法高效的深度学习方法可以通过各种方式改变训练过程,包括:改变数据或样本提交给模型的顺序;调整模型的结构;以及改变优化算法。这些算法的改进对于实现有效的DL训练所需的计算负担的估计下限至关重要,目前的做法所引起的负担大大超过了这些下限。此外,这些算法收益也会与软件和硬件加速技术相结合。因此,作者相信,在算法上高效的DL为提高DL的效益和降低其成本提供了巨大的机会。
但是算法上的创新如何影响训练的速度,这方面目前十分碎片化,没有一个统一的框架和分类来让大家了解。因此,本文主要是从这个角度为大家综述目前提升深度学习训练速度的算法创新方向。
根据作者收集的论文,当前加速深度学习训练的方法可以总结如下:

可以看到,作者从功能、数据、优化等三个方面总结了当前流行的加速方法。而这些方法可以按照如下方式分类:

作者在这些技术中发现了很多问题,例如:
你需要非常小心地对待FLOPs。有些FLOPs比其他FLOPs要贵10倍。只有在做大型数学/convs时,FLOPs才是一个可能比较不错的选择。事实上,FLOP数甚至可能与速度没有单调的关系。例如,对ResNet-50中的所有Convs进行低秩因子化,尽管减少了FLOPs,但在A100上却变得慢。
仅仅是训练时间较短,就是一个强得离谱的基线。只要你经历了完整的学习率计划(而不是在一次训练中只看你的准确率),几乎没有什么比这更重要了。
你需要注意数据加载器的瓶颈问题。如果你正在训练一个图像分类器,而你不确定你的训练速度是否受到数据加载器的限制,那么基本上这里就有问题。这不仅浪费了计算量,而且还人为地惩罚了快速模型—例如,你的方法可能看起来不比基线慢,但那只是因为你的数据加载器隐藏了速度的减慢。
你需要描述的不是是否有效,而是什么时候有效。结合不同的强化措施往往有帮助(左),但不同的组合对不同的训练时间/与不同的其他方法搭配时有效(右)。

作者也在推特上推荐了下图的结果,十分简洁明了的解释。

搞深度学习的童鞋,这篇文章不容错过!
DataLearner 官方微信
欢迎关注 DataLearner 官方微信,获得最新 AI 技术推送
