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

AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实行室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:[email protected][email protected]过去十年间,基于随机梯度降落(SGD)的深度进修模型在许多领域都取得了极大的成功。与此同时各式各样的 SGD 替代品也如雨后春笋般涌现。在这些众多替代品中,Adam 及其变种最受追捧。无论

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

AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实行室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:[email protected][email protected]

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

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

论文: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):

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

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

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

其中腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题和 B 分别代表 Learning rate 和 Batch size,而腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题与 OpenAI 2020 年 Scaling law 论文(https://arxiv.org/pdf/2001.08361)中的腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题对应。从上面论断不难发现,当腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题时,社区中广为流传的线性放缩和平方根放缩在一定范围内都是正确的,并且分别对应使用 SGD 气概和 Adam 气概优化器的情况。

一、居然要降低进修率?

如果仔细窥察 Adam 气概优化器放缩规律的表达式子会发现,当 Batch size 超过腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题后,随着 Batch size 增加最优的 Learning rate 反而是降落的!这样的论断似乎有点反常,但是仔细思考之后又觉得是合理的。首先我们回顾一下 Adam 的革新情势,梯度的一阶动量除以二阶动量的平方根:

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

(更详细的讨论参考原文中的附录 A)。与 SGD 直接采用 G 举行参数革新相比,腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题将更快的进入饱和区间,例如,假设 G 的均值是正实数,随着 Batch size 增加腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题估计为正数时,再增加估计的准确度对腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题的结果也毫无影响了。因此当 Batch size 超过腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题时,增加的信息不足以抵消腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题带来的噪声影响,从而导致此次的革新不再那么确信,以至于需要降低进修率。

二、窥察到的降落区间

为了检验实际的正确性,需要从实行中窥察到最优进修率的 “降落区间”。既然从上一节的分析中发现,使用 Adam 优化器时 Batch size 超过腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题就会导致最优进修率降落,那么只要确定出腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题取值,然后在通过网格搜索打点窥察就可以了。虽然从情势上腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题计算很困难,但是幸运的是基于 OpenAI 关算于训练时间和样本效率的定量论断中我们可以估算出腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题的取值(更详细的讨论参考原文中的附录 G)。

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

上面展示了 CNN 在 FashionMNIST 上的进修率 “降落区间”。左图为通过 OpenAI 定量公式估算的腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题(左图直线斜率的负数,右图红色竖直虚线),右图中黄色五角星代表不同 Batch size 下的最优 Learning rate 取值,青色实线为我们的实际预估曲线。

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

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

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

三、浪涌现象

前面我们从实际和实行上都发现了,在使用 Adam 气概优化器时最优进修率曲线就像一朵 “浪花” 一样随着 Batch size 增加会先升高后降落。同时结合 OpenAI scaling law 的论断,随着训练举行腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题会逐渐变大。我们实际预测并实行证明了随着训练举行 “浪花” 逐渐向着大 Batch size 方向涌动:

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

四、实际发现

前面讨论过 Adam 气概的优化器在举行参数革新时采用类似腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题的情势。虽然此情势看起来很简单,但是由于推导过程涉及到对革新量均值和方差的考量,所以我们在处理的时候做了一个假设和一个近似:

1. 假设每个样本的参数 i 的梯度服从均值为腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题,方差为腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题的高斯分布

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

腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题时,完整的 Scaling law 情势近似为:

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

其中腾讯混元、北大发现Scaling law「浪涌现象」,解决进修率调参难题,H 为海森矩阵。

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

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

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

五、应用

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

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

给TA打赏
共{{data.count}}人
人已打赏
工程

分歧数据集有分歧的Scaling law?而你可用一个紧缩算法来预计它

2024-6-3 15:37:00

工程

黎曼料想显著突破!陶哲轩强推MIT、牛津新论文,37岁菲尔兹奖得主参与

2024-6-6 10:52:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索