快速神经网络的训练算法LARS/LAMB工作原理 --UC Berkeley在读博士生尤洋

本文介绍了UC Berkeley博士尤洋提出的LARS和LAMB优化算法,这两种算法针对大型批量训练的深度神经网络,有效解决了精度降低和训练速度的问题。LARS通过层间学习率调整提高收敛效率,而LAMB则结合了Adam优化器和LARS的思想,成功优化了BERT等模型的训练,实现训练时间大幅缩短。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

快速神经网络的训练算法 --UC Berkeley博士尤洋

本片文章介绍的两种算法不仅可以优化并行计算,在普通硬件环境中运行也是有效的。算法是由UC Berkeley博士尤洋开发。在固定精度的情况下,新算法可以更快的达到要求,在固定训练时间的情况下,可以有更好的精度。
目前深度学习面临的一个问题是,没有一个通用的优化器。Adaptive optimizers (Adam/AdaGrad)在ImageNet上面表现就不是很好,这导致现在很多ImageNet都在用Momentum进行优化。反过来Momentum在BERT的训练上面也表现平平。

为什么深度学习很慢?

现在大部分的算法都是SGD的变形。SGD随机梯度下降算法:
(Mini-Batch) SGD:
1.Take B data points each iteration (B: batch size)
2.Compute gradients of woeights based on B data points
3.Update the weights: W = W - learning_rate * ▽W
在这里插入图片描述
由上图我们可以看到ResNet50的计算量非常大,而BERT的计算量是ResNet的50倍左右。

如果我们利用并行计算,怎样才能完美的利用大量的processor?

有三种思路,第一种并行计算神经网络的层。每台机器负责运算神经网络中的几层。这种思路显然是不对的,因为神经网络需要前向与反向传递,这种传递是顺序的数据依赖,所以在计算的时候只有一台机器在运作其他机器在等待。
第二种思路是并行计算每一层中不同的节点。这种思路可行,但是这就需要一个很宽

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值