Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour -- Facebook

https://news.developer.nvidia.com/facebook-trains-imagenet-in-1-hour/

https://arxiv.org/abs/1706.02677

解决问题:在大规模并行计算的情况下,只有充分利用了GPU资源,才能保证并行加速的效率,但这样会带来由于total batch_size很大,造成的训练模型泛化能力变低、精度减少的现象。于是Facebook提出了这样的解决方案,在大batch_size的情况下如何调整超参和lr,帮助训练模型的准确率和泛化能力,并在imagenet的数据上得到的验证。

摘要:深度学习随着大型神经网络和大型数据集的出现而蓬勃发展。然而,大型神经网络和大型数据集往往需要更长的训练时间,而这正好阻碍研究和开发进程。分布式同步 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. Large Minibatch SGD:

    momentum

1.1 Learning rate for large minibatches:

    Linear Scaling Rule: When minibatch size is multiplied by k, multiply the learning rate by k;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值