查看原文
其他

学界 | Facebook 新研究:大批量SGD准确训练ImageNet仅需1小时

2017-06-09 机器之心

选自arXiv

机器之心编译

参与:蒋思源

由于近来互联网数据越来越大,深度学习模型越来越复杂,执行训练的时间也越来长。因此近日 Facebook 提出了一种将批量大小提高的分布式同步 SGD 训练方法,希望能有助于解决越来越长的训练时间。以下机器之心对该文论进行了部分编译,该论文详细内容请查看论文链接。


论文:Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour


论文链接:https://research.fb.com/wp-content/uploads/2017/06/imagenet1kin1h3.pdf



摘要:深度学习随着大型神经网络和大型数据集的出现而蓬勃发展。然而,大型神经网络和大型数据集往往需要更长的训练时间,而这正好阻碍研究和开发进程。分布式同步 SGD 通过将小批量 SGD(SGD minibatches)分发到一组平行工作站而提供了一种很具潜力的解决方案。然而要使这个解决方案变得高效,每一个工作站的工作负载必须足够大,这意味着 SGD 批量大小会有很大的增长(nontrivial growth)。在本论文中,我们经验性地展示了在 ImageNet 数据集上使用较大批量大小在优化上遇到的困难,但如果这个问题解决了,训练的神经网络会展现出很好的泛化性能。具体来说,当我们使用较大批量大小(达 8192 张图片)进行训练时,实验几乎没有精度损失。为了实现这一结果,我们采用了线性缩放规则(linear scaling rule)作为批量大小函数来调整学习率,同时我们开发了一种新的预热方案(warmup scheme),该方案会在训练前期克服优化的困难。通过这些简单的技术,我们基于 Caffe2 的系统可以使用批量大小为 8192 进行训练 ResNet-50 网络,该训练不仅在 256 块 GPU 上只花费一小时就能完成,同时还有匹配小批量的精度。在使用标准硬件从 8 到 256 块 GPU 调整时,我们的实现达到了 90% 以上的缩放效率(scaling efficiency)。该系统能使我们针对大型互联网数据高效地执行视觉识别任务。


图 1: ImageNet 最好的验证误差 vs. 小批量大小


图 2:没有预热方案、恒定预热方案和逐步预热方案(gradual warmup)的训练误差对比。


图 3:训练误差 vs. 小批量大小


图 4:大批量 SGD 并带有逐步预热方案 vs. 小批量 SGD 的训练和验证曲线。


图 5:使用不同学习率 η 的小批量 SGD 训练曲线。


图 6: ImageNet-5k 最好的验证损失 vs. 小批量大小


图 7:分布式同步 SGD 时间曲线。


图 8:分布式同步 SGD 的图像吞吐量。



本文为机器之心编译,转载请联系本公众号获得授权。

✄------------------------------------------------

加入机器之心(全职记者/实习生):hr@jiqizhixin.com

投稿或寻求报道:editor@jiqizhixin.com

广告&商务合作:bd@jiqizhixin.com


点击阅读原文,查看机器之心官网↓↓↓

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存