腾讯混元、北大发现Scaling law「浪涌现象」,解决学习率调参难题

f09c8ae3ffe21c666a15e2eacc463773.gif

©作者 | 机器之心编辑部

来源 | 机器之心

过去十年间,基于随机梯度下降(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 放缩关系的调参指南:

2d6d7e032649da192044df9e21417bb0.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):

82a21cf8f49c41f5bd8b29ea0f4f1488.jpeg

2. 但是当使用 Adam 风格的优化器时,需要按照如下放缩规律:

abbe99ec9dadf3cf8fb7e801ab081f9d.jpeg

其中18824cd9084c02ff7bfd0df34796c8ab.jpeg和 B 分别代表 Learning rate 和 Batch size,而aed5d2f453326a6eb3a82c1f5b6bc4b2.jpeg与 OpenAI 2020 年 Scaling law 论文(https://arxiv.org/pdf/2001.08361)中的86fffde5dbd59f222b4f1026cf36732f.jpeg对应。从上面结论不难发现,当d31e67dee40303ac7f09936710ed005a.jpeg时,社区中广为流传的线性放缩和平方根放缩在一定范围内都是正确的,并且分别对应使用 SGD 风格和 Adam 风格优化器的情况。

e3766c42a2398eea8fe993024ebc14d1.png

居然要降低学习率?

如果仔细观察 Adam 风格优化器放缩规律的表达式子会发现,当 Batch size 超过ee9fe53bb5886baac52d1249a4d08acb.jpeg后,随着 Batch size 增加最优的 Learning rate 反而是下降的!这样的结论似乎有点反常,但是仔细思考之后又觉得是合理的。首先我们回顾一下 Adam 的更新形式,梯度的一阶动量除以二阶动量的平方根:

415847b296bff931a73d398cc92c7149.jpeg

(更详细的讨论参考原文中的附录 A)。与 SGD 直接采用 G 进行参数更新相比,df0b5bba7e09190c7a0d1ca8317d8d6b.jpeg将更快的进入饱和区间,例如,假设 G 的均值是正实数,随着 Batch size 增加1b24792547da38db344d78ced13f7c27.jpeg估计为正数时,再增加估计的准确度对3ba736da975f3baf095b419d81e0f92e.jpeg的结果也毫无影响了。因此当 Batch size 超过8dbae3fafedfb53040c121e1798d7927.jpeg时,增加的信息不足以抵消dc803b95d296f60a14234c5fe2c1d465.jpeg带来的噪声影响,从而导致此次的更新不再那么确信,以至于需要降低学习率。

be4d86f05a2334dab0544f6f9b88da09.png

观察到的下降区间

为了检验理论的正确性,需要从实验中观察到最优学习率的 “下降区间”。既然从上一节的分析中发现,使用 Adam 优化器时 Batch size 超过914c658b58032234fbe36b2617aecf96.jpeg就会导致最优学习率下降,那么只要确定出1d6a7c58b26afda83bba70f8f995b454.jpeg取值,然后在通过网格搜索打点观察就可以了。虽然从形式上0578d2ba2e4f45cef6ed3ade36508b4c.jpeg计算很困难,但是幸运的是基于 OpenAI 关算于训练时间和样本效率的定量结论中我们可以估算出323db328a56e1922fe9d9d81f0ea2740.jpeg的取值(更详细的讨论参考原文中的附录 G)。

41a9494f9e22e75d16901e4a75ab48c5.png

上面展示了 CNN 在 FashionMNIST 上的学习率 “下降区间”。左图为通过 OpenAI 定量公式估算的2a2fd9e7cd043583fad1530f364f30f8.jpeg(左图直线斜率的负数,右图红色竖直虚线),右图中黄色五角星代表不同 Batch size 下的最优 Learning rate 取值,青色实线为我们的理论预估曲线。

7f17eee50023b681fb3e31c75ba083fb.png

6d04ff3a1fda1f6fe87f54e6b9a59103.png

以及 Resnet18 在 TinyImagenet,和 DistilGPT2 在 Eli5Category 上也观察到了类似现象。

59c097e09afe9cd2b20e54cbf8f2ae21.png

浪涌现象

前面我们从理论和实验上都发现了,在使用 Adam 风格优化器时最优学习率曲线就像一朵 “浪花” 一样随着 Batch size 增加会先升高后下降。同时结合 OpenAI scaling law 的结论,随着训练进行d0d525732501033a71d728cd15733178.jpeg会逐渐变大。我们理论预测并实验证明了随着训练进行 “浪花” 逐渐向着大 Batch size 方向涌动:

2f01dec7f70cd6a9ac0f64ee3ca0ecbe.png

b4ab61eeb77eb6f356e73c40ce2cac5e.png

理论发现

前面讨论过 Adam 风格的优化器在进行参数更新时采用类似089b412ad6cb117b5955ad5d7030b960.jpeg的形式。虽然此形式看起来很简单,但是由于推导过程涉及到对更新量均值和方差的考量,所以我们在处理的时候做了一个假设和一个近似:

1. 假设每个样本的参数 i 的梯度服从均值为fb771e922f7c0321713677353fc5ff2a.jpeg,方差为0ed8be77b9d944c125ef7a39fdee0ff9.jpeg的高斯分布

2. 通过 sigmoid-style 函数对高斯误差函数进行数值近似

6503907e24ce43165423fdfa9fb3f5a2.jpeg

81c986164117ebb208cf605e8c3873d7.jpeg时,完整的 Scaling law 形式近似为:

8550e418a6b73474efd2d8343a5dbc3d.jpeg

其中:

5a9aff6c5f3f992b025e9f90b00579ef.jpeg

H 为海森矩阵。

29db727e6e832cb9c21b5977e1f4de42.jpeg时:

80ec7e7551c88d048021ad45eee6aac6.jpeg

表明,Batch size 无限大时最优学习率趋于一个饱和值。

0756ffbf073c3d3eff4f030d622aaa31.png

应用

我们在腾讯 Angel 大模型训练框架中集成了上述理论成果,并在腾讯混元大模型训练任务中对理论进行进一步验证,未来将服务于各种大模型训练场景。

感谢阅读,更多详细内容,请参考原文。

更多阅读

075a7eba916aa799ec2b130db072e671.png

b18185b1a8a7dda77269e75b17e0e04a.png

83c61e1827af692440194a63756b56fd.png

72d603a4cc10e35b9d62d19e3b4d7064.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

8073921a4d8a7667cce61f5fa420982d.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

·

fb38c61360c9bdec83411349066e6cde.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值