AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com
过去十年间,基于随机梯度下降(SGD)的深度学习模型在许多领域都取得了极大的成功。与此同时各式各样的 SGD 替代品也如雨后春笋般涌现。在这些众多替代品中,Adam 及其变种最受追捧。无论是 SGD,还是 Adam,亦或是其他优化器,最核心的超参数非 Learning rate 莫属。因此如何调整好 Leanring rate 是炼丹师们从一开始就必学的技能。
从直觉上讲,影响 Learning rate 取值的重要因素是 Batch size。不知你在学习炼丹术时,是否遇到或者思考过入如下问题:
我的 Batch size 增加一倍,Learning rate 该怎么调整?
网上有说 Batch size 和 Learning rate 是线性放缩,也有说是平方根放缩,到底该按照哪个调整?
为什么我按照网上说的经验关系调整之后效果反而变差了?
针对上述问题,腾讯混元联合北京大学基于现有科研基础和实际业务需求,在进行了大量理论分析和实验验证后发布了关于 Batch size 和 Learning rate 放缩关系的调参指南:
![](http://n.sinaimg.cn/spider20240605/728/w1080h448/20240605/e968-dc907e5ff29c9f81e91986d96eb956c9.png)
论文:Surge Phenomenon in Optimal Learning Rate and Batch Size Scaling
论文地址:https://arxiv.org/pdf/2405.14578
1. 当使用 SGD 风格的优化器时,应当采用 OpenAI 2018 年给出的结论(https://arxiv.org/pdf/1812.06162):
![](http://n.sinaimg.cn/spider20240605/792/w618h174/20240605/2616-046f5af279d9ef904d57c431a6d19c60.jpg)
2. 但是当使用 Adam 风格的优化器时,需要按照如下放缩规律:
![](http://n.sinaimg.cn/spider20240605/424/w992h232/20240605/7e8c-383cef622c8fe817f511b376c9beec3c.jpg)
其中
时,社区中广为流传的线性放缩和平方根放缩在一定范围内都是正确的,并且分别对应使用 SGD 风格和 Adam 风格优化器的情况。
对应。从上面结论不难发现,当
与 OpenAI 2020 年 Scaling law 论文(https://arxiv.org/pdf/2001.08361)中的
和 B 分别代表 Learning rate 和 Batch size,而
一、居然要降低学习率?
如果仔细观察 Adam 风格优化器放缩规律的表达式子会发现,当 Batch size 超过
后,随着 Batch size 增加最优的 Learning rate 反而是下降的!这样的结论似乎有点反常,但是仔细思考之后又觉得是合理的。首先我们回顾一下 Adam 的更新形式,梯度的一阶动量除以二阶动量的平方根:
![](http://n.sinaimg.cn/spider20240605/202/w782h220/20240605/ad5d-c80580a6adcb930aab3dcfcae49f9891.jpg)
(更详细的讨论参考原文中的附录 A)。与 SGD 直接采用 G 进行参数更新相比,的结果也毫无影响了。因此当 Batch size 超过
带来的噪声影响,从而导致此次的更新不再那么确信,以至于需要降低学习率。
时,增加的信息不足以抵消
估计为正数时,再增加估计的准确度对
将更快的进入饱和区间,例如,假设 G 的均值是正实数,随着 Batch size 增加
二、观察到的下降区间
为了检验理论的正确性,需要从实验中观察到最优学习率的 “下降区间”。既然从上一节的分析中发现,使用 Adam 优化器时 Batch size 超过
就会导致最优学习率下降,那么只要确定出
取值,然后在通过网格搜索打点观察就可以了。虽然从形式上
计算很困难,但是幸运的是基于OpenAI关算于训练时间和样本效率的定量结论中我们可以估算出
![](http://n.sinaimg.cn/spider20240605/166/w776h190/20240605/35d7-5c8816904dc6175769439b3fe3dd6370.jpg)
![上面展示了 CNN 在 FashionMNIST 上的学习率 “下降区间”。左图为通过 OpenAI 定量公式估算的](http://n.sinaimg.cn/spider20240605/31/w1080h551/20240605/f091-04edb06677f9f0f80112c2a89089e119.png)
![](http://n.sinaimg.cn/spider20240605/446/w360h86/20240605/26db-f6d1ed6072dba4b98b42423885cc402a.jpg)
![](http://n.sinaimg.cn/spider20240605/224/w670h354/20240605/0804-589967d709998e082604b2cdaeed821e.png)
![](http://n.sinaimg.cn/spider20240605/224/w670h354/20240605/5a8a-c833583dbcc12cc40ce7592369a71ea8.png)
以及 Resnet18 在 TinyImagenet,和 DistilGPT2 在 Eli5Category 上也观察到了类似现象。
三、浪涌现象
前面我们从理论和实验上都发现了,在使用 Adam 风格优化器时最优学习率曲线就像一朵 “浪花” 一样随着 Batch size 增加会先升高后下降。同时结合 OpenAI scaling law 的结论,随着训练进行会逐渐变大。我们理论预测并实验证明了随着训练进行“浪花”逐渐向着大Batchsize方向涌动:
![](http://n.sinaimg.cn/spider20240605/494/w1080h1014/20240605/b290-d2fe149b192cba9b199a10125aecaa8b.png)
四、理论发现
前面讨论过 Adam 风格的优化器在进行参数更新时采用类似的形式。虽然此形式看起来很简单,但是由于推导过程涉及到对更新量均值和方差的考量,所以我们在处理的时候做了一个假设和一个近似:
1. 假设每个样本的参数 i 的梯度服从均值为
![](http://n.sinaimg.cn/spider20240605/226/w118h108/20240605/92b4-49dd6dcbd9422adc480344dec18021b0.jpg)
![](http://n.sinaimg.cn/spider20240605/302/w132h170/20240605/dd00-98aa26025f63217a8575bd48eaf051b9.jpg)
2. 通过 sigmoid-style 函数对高斯误差函数进行数值近似
![](http://n.sinaimg.cn/spider20240605/304/w904h200/20240605/1d86-653806a19267b840d3808ce8dbd7fff9.jpg)
当
![](http://n.sinaimg.cn/spider20240605/518/w304h214/20240605/c0b3-ef21b9503a2832d1107216b719b7c53b.jpg)
时,完整的 Scaling law 形式近似为:
![](http://n.sinaimg.cn/spider20240605/452/w1080h172/20240605/a733-de2042cac7e78318d05c141968472e39.jpg)
其中
![](http://n.sinaimg.cn/spider20240605/554/w1040h314/20240605/69b3-e4436e8b396caf81c2a906dada2dfe3b.jpg)
,H 为海森矩阵。
当
![](http://n.sinaimg.cn/spider20240605/508/w300h208/20240605/6a12-739ced60e6c67df23e828176adbf6b3a.jpg)
时:
![](http://n.sinaimg.cn/spider20240605/486/w1070h216/20240605/cf71-acd765f1378ca7039bfec5b5c01c9321.jpg)
表明,Batch size 无限大时最优学习率趋于一个饱和值。
五、应用
我们在腾讯 Angel 大模型训练框架中集成了上述理论成果,并在腾讯混元大模型训练任务中对理论进行进一步验证,未来将服务于各种大模型训练场景。
感谢阅读,更多详细内容,请参考原文。
![© THE END](http://n.sinaimg.cn/spider20240605/685/w1080h1205/20240605/1fd6-ae9d98d23de0a3139c13bc6e3fefe896.jpg)
![新浪科技公众号 新浪科技公众号](http://n.sinaimg.cn/tech/content/tech_qr2x.png)
“掌”握科技鲜闻 (微信搜索techsina或扫描左侧二维码关注)
![](http://n.sinaimg.cn/tech/content/tech_weixin2.png)