论文:accurate ,large minibatch SGD:Training ImageNet in 1 Hour

    xiaoxiao2025-11-14  4

    目录

    1.  learning rates for large minibatches:

    2. warmup

    3 Subtleties and Pitfalls of Distributed SGD

    4. Main Results and Analysis


    https://blog.csdn.net/xxiaozr/article/details/80346381

    https://www.jianshu.com/p/738ff3628543

    总结:

    1.  learning rates for large minibatches:

    large minibatch 在分布式学习中可以利用数据并行性使用多个 work 工作,并且不会减少每个 work 的工作量也不会牺牲模型的精度。作者发现,下面的learning rate scaling rule能够适合于很大范围的batch size。

    Linear Scaling Rule:当minibatch size乘以一个数,同样learning rate也乘以这个数。

    所有其他超参数保持不变,这个 rule 在 broad range of minibatch size 里都很有效果,其他的 hyper-parameters(weight decay 等)都保持不变。 我们比较了 k minibatch ,每一个batch size 为 n ,学习率为 η  和 一个 minibatch ,size 为 kn, 学习率为 

    2. warmup

    Constant warmup:一种热身的策略是使用一个小的定值作为初始的学习率,训练几个回合。这种策略对于物体检测,分割,fine-tune等问题在有些时候效果较好,但是当较大也就是batch较大的时候,就不是那么有效了,尤其在热身结束的时候会出现error的峰值。gradual warmup:为了克服constant warmup的不足,作者使用了gradual warmup,就是一点一点地将学习率从小,增大。并且在增大后,回复到原始的learning rate schedule。

    Gradual warmup:逐渐将学习率从小到大增大,可以避免学习率的突然增大,保证训练初期的健康收敛。在 kn 的minibatch size 下,一开始使用 η 学习率,然后在 5 epoch 后逐渐增大至 ,warmup 后,回到正常的 learning rate schedule.

    3 Subtleties and Pitfalls of Distributed SGD

    在分布式计算中,许多 common implementation errors 会改变超参数的定义,模型虽然可以训练但误差会比较大

    weight decay:

    l2 regularization on the weights

    如果没有 weight decay , 就会有很多种方法来缩放学习率,例如缩放loss 的梯度项,但是我们发现缩放 loss 和缩放学习率并不等价

    mometum correction:

    参数更新方法:

    m 是 momentum 的 decay factor , u 是 update tensor.

    变种:将学习率加到 update tensor 项中

    对于 fixed 的学习率,这两个是等价的,但是我们可以发现,u 和学习率是无关的,v 和学习率是有关的,如果学习率改变了,为了使第二个式子和第一个等价,v 应该变为

    我们将  factor 当做 momentum correction,作者发现,当的时候,它对于稳定训练过程非常重要。

    gradient aggregation

    对于 k 个 worker,每一个 worker 的 minibatch size 为 n,梯度更新的时候除以 kn ,而 loss layer 通常会将每一个 worker 的平均梯度加起来

    data shuffling

    4. Communication

    涉及多个GPU的并行运算,对于每一个参数的梯度,都是通过allreduce操作来进行汇聚的。在进行allreduce之前,每个GPU都会计算自己的梯度,在allreduce*之后,每个GPU得到梯度的和。

    5. Main Results and Analysis

    minibath size vs error 

    warmup 

    Training curves for various minibatch size

    Alternative learning rate rules

     

    最新回复(0)