Loading [MathJax]/jax/output/CommonHTML/jax.js
部署DeepSeek模型,进群交流最in玩法!
立即加群
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >用最酷的LR,训最猛的模型

用最酷的LR,训最猛的模型

作者头像
NewBeeNLP
发布于 2024-06-17 03:28:38
发布于 2024-06-17 03:28:38
5320
举报
文章被收录于专栏:NewBeeNLPNewBeeNLP

源 | 李rumor

预训练中,除了模型尺寸、数据、计算量之外,比较重要的就是batch size和learning rate这两个超参数了。从DeepSeek的scaling law工作[1]中可以看到,不同的学习率可以让loss有一定的波动,影响模型收敛。

虽然近两年主流LLM都采用cosine decay的学习率策略,但它有个关键问题,就是对续训很不友好。早在Chinchilla的工作中就提到,cosine策略的衰减周期需要与训练步数一致,过短或过长都不会收敛到当前的局部最优。如下图中,14k步最优值是cosine正好衰减到14k步,而其他设置都有一定差距:

这个硬性的设置就让续训变得比较难,因为预训练结束时模型的LR已经降到了比较低,收敛到局部最优,续训如果LR设置过大可能会让效果变差,过低的话收敛效率也低

告别Cosine

在近期清华的MiniCPM[2]工作中,作者提出了一个WSD策略(Warmup-Stable-Decay),即快速warmup后,一大段时间内使用固定学习率,在最后快速衰减到小的学习率。如下图:

这个策略在小尺寸模型上的收敛效果很好,甚至快速衰减后还可以超过cosine的表现。如下图中WSD(80N,8N)是指一共训80N,其中最后10%(8N)快速衰减,跟Cosine(80N)对比:

WSD策略对续训就更加友好,只要拿到之前固定学习率的ckpt就可以继续训练,节省了很多计算资源

近期一篇工作[3]对WSD这种固定学习率的策略(称为Cooldown)进行了进一步研究和Scaling Law分析。以下是作者得出的结论(210M模型训练5B左右):

Cooldown策略的最优学习率是Cosine最优的一半,不过从图中数值来看采用Cosine相同的LR差距也不大

相比线性衰减,1-sqrt可以达到更好的收敛效果

衰减长度在10%-20%之间较好,Cooldown的效果可以超过Cosine

当训练的token数较多时(5B->20B),衰减5%也可以追上Cosine的效果

通过33M-360M尺寸上拟合后的Scaling Law显示,Cooldown和Cosine的效果基本一致。下图横轴纵轴分别是Cooldown和Cosine的PPL,拟合的曲线斜率为0.99

通过上述实验,作者在一系列小尺寸模型上证明了固定学习率+快速衰减的策略和Cosine基本等价,同时也给出了LR大小、衰减周期、衰减函数的指导,非常给力。

狠人选择不调LR

虽然上述策略对Cosine decay进行了很大简化,但仍旧有更狠的方法,既然最终目标就是得到一个好的ckpt,那可以直接对多个权重进行平均、或者在梯度更新时对优化器做文章。

Stochastic Weight Averaging

SWA时2018年[4]就被提出的工作,它的思想很好理解,就是对多个ckpt权重做平均:

虽然使用SWA之后可以完全固定LR,但另一个代价是需要调节权重平均的窗口大小,作者实验后发现不如Cooldown或Cosine的效果好:

Schedule-Free Optimizer

SFO是最近Meta刚出炉的一篇工作[5],主要是对优化器进行了改造,配合固定学习率即可训练。该工作的核心思想源自于Polyak-Ruppert平均:

时,

。类似SWA做一个ckpt的平均。但该方法的实际表现一直不好,于是作者结合Primal平均做了一个改进,提出了SFO:

因为在ckpt层面上做了平均,原paper实验结果显示该方法评估指标更加稳定,同时也能追上Cosine的效果。不过该方法结合AdamW后,对超参数beta会比较敏感,在实际对比中略弱于Cooldown:

总结

从上述工作可以看到,想要替换掉cosine decay,又想追上cosine的效果,还是伴随着不少代价:

  1. 换成WSD/Cooldown,需要调节衰减长度
  2. 换成SWA,需要调节平均窗口
  3. 换成SFO,需要调节beta

同时,上述WSD、SFO策略都是近期被提出的,这些策略只在小尺寸模型上进行过验证,能否保证大模型的稳定收敛、Scaling Law生效还有待更多的实验验证。

参考资料

[1]

DeepSeek LLM: Scaling Open-Source Language Models with Longtermism: https://arxiv.org/abs/2401.02954

[2]

MiniCPM: Unveiling the Potential of Small Language Models with Scalable Training Strategies: https://arxiv.org/abs/2404.06395

[3]

Scaling Laws and Compute-Optimal Training Beyond Fixed Training Durations: https://arxiv.org/abs/2405.18392

[4]

Averaging Weights Leads to Wider Optima and Better Generalization: https://arxiv.org/abs/1803.05407v3

[5]

The Road Less Scheduled: https://arxiv.org/abs/2405.15682

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 NewBeeNLP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MiniCPM,能被斯坦福抄袭究竟有何魅力?我们一起看看论文吧!
https://arxiv.org/pdf/2404.06395 随着开发具有高达数万亿参数的大型语言模型(LLMs)的兴趣激增,关于资源效率和实际成本的担忧也随之而来,特别是考虑到实验的巨大成本。这一情形突显了探索小型语言模型(SLMs)作为资源高效替代方案的潜力。在此背景下,我们介绍了MiniCPM,特别是其1.2B和2.4B非嵌入参数变体,这些变体不仅在各自的类别中表现出色,而且在能力上与7B-13B的LLMs不相上下。尽管我们专注于SLMs,但我们的方法在模型和数据维度上都表现出可扩展性,为未来LLM的研究提供了可能。
AI浩
2024/10/22
3940
MiniCPM,能被斯坦福抄袭究竟有何魅力?我们一起看看论文吧!
Tensorflow 中 learning rate decay 的奇技淫巧
深度学习中参数更新的方法想必大家都十分清楚了——sgd,adam 等等,孰优孰劣相关的讨论也十分广泛。可是,learning rate 的衰减策略大家有特别关注过吗? 说实话,以前我也只使用过指数型和阶梯型的下降法,并不认为它对深度学习调参有多大帮助。但是,最近的学习和工作中逐渐接触到了各种奇形怪状的 lr 策略,可以说大大刷新了三观,在此也和大家分享一下学习经验。 learning rate 衰减策略文件在 tensorflow/tensorflow/python/training/learning_ra
AI研习社
2018/03/16
1.7K0
Tensorflow 中 learning rate decay 的奇技淫巧
改善深度学习训练的trick总结 | CSDN博文精选
在深度学习中,同样一个模型用不同的初始化,数据处理,batch size,学习率,优化器都能得到不同性能的参数。我根据自己参与过的比赛中经常用到的一些trick进行大致的总结,有代码的会顺便附上,方便自己以后使用。
AI科技大本营
2019/12/10
3.1K0
改善深度学习训练的trick总结 | CSDN博文精选
Learning Rate Schedule:CNN学习率调整策略
本文同时发布在我的个人网站:https://lulaoshi.info/blog/learning-rate-schedule.html
PP鲁
2022/09/20
1.6K0
Learning Rate Schedule:CNN学习率调整策略
特别详细!大模型的网络优化:超参最佳实践与规模律
从理论分析入手把握大规模神经网络优化的规律,可以指导实践中的超参数选择。反过来,实践中的超参数选择也可以指导理论分析。本篇文章聚焦于大语言模型,介绍从 GPT 以来大家普遍使用的训练超参数的变化。
ShuYini
2023/12/12
1.8K0
特别详细!大模型的网络优化:超参最佳实践与规模律
ResNet 高精度预训练模型在 MMDetection 中的最佳实践
ResNet 高精度预训练 + Faster R-CNN,性能最高能提升 3.4 mAP!
OpenMMLab 官方账号
2022/05/25
3.3K1
ResNet 高精度预训练模型在 MMDetection 中的最佳实践
提升分类模型acc(三):优化调参
这是本系列的第三篇文章,前两篇主要是讲怎么取得速度&精度的平衡以及一些常用的调参技巧,本文主要结合自身经验讲解一些辅助训练的手段和技术。
BBuf
2021/11/12
1.2K0
提升分类模型acc(三):优化调参
神经网络十大学习率衰减提效策略!
目前越来越多非结构化问题的出现,神经网络也扮演着愈加重要的作用。一个好的神经网络对于最终任务的预测至关重要,但要得到一个好的神经网络则需要考虑众多的因素,本文我们重点介绍神经网络中调参重学习率衰减的调节策略。本文介绍目前tensorflow中的9大学习率衰减策略。
炼丹笔记
2021/06/15
1.4K0
神经网络十大学习率衰减提效策略!
图深度学习入门教程(五)——模型的优化器
深度学习还没学完,怎么图深度学习又来了?别怕,这里有份系统教程,可以将0基础的你直接送到图深度学习。还会定期更新哦。
代码医生工作室
2020/03/27
2.6K0
深度学习应用篇-计算机视觉-图像增广1:数据增广、图像混叠、图像剪裁类变化类等详解
在图像分类任务中,图像数据的增广是一种常用的正则化方法,主要用于增加训练数据集,让数据集尽可能的多样化,使得训练的模型具有更强的泛化能力,常用于数据量不足或者模型参数较多的场景。除了 ImageNet 分类任务标准数据增广方法外,还有8种数据增广方式非常常用,这里对其进行简单的介绍和对比,大家也可以将这些增广方法应用到自己的任务中,以获得模型精度的提升。这8种数据增广方式在ImageNet上的精度指标如 图1 所示。
汀丶人工智能
2023/06/03
6200
深度学习应用篇-计算机视觉-图像增广1:数据增广、图像混叠、图像剪裁类变化类等详解
深度学习基础入门篇[六]:模型调优,学习率设置(Warm Up、loss自适应衰减等),batch size调优技巧,基于方差放缩初始化方法。
深度学习基础入门篇六:模型调优,学习率设置(Warm Up、loss自适应衰减等),batch size调优技巧,基于方差放缩初始化方法。
汀丶人工智能
2023/04/20
5K0
深度学习基础入门篇[六]:模型调优,学习率设置(Warm Up、loss自适应衰减等),batch size调优技巧,基于方差放缩初始化方法。
240万亿巨量数据被洗出,足够训出18个GPT-4!全球23所机构联手,清洗秘籍公开
清华博士秦禹嘉表示,Llama 3就揭示了一个严峻且悲观的现实:在不改变模型架构的情况下,将数据量从2万亿(2T)增加到15万亿(15T),就能大力出奇迹。
新智元
2024/06/27
2720
240万亿巨量数据被洗出,足够训出18个GPT-4!全球23所机构联手,清洗秘籍公开
【深度学习】参数优化和训练技巧
学习率是一个非常非常重要的超参数,这个参数呢,面对不同规模、不同batch-size、不同优化方式、不同数据集,其最合适的值都是不确定的,我们无法光凭经验来准确地确定lr的值,我们唯一可以做的,就是在训练中不断寻找最合适当前状态的学习率。
Twcat_tree
2023/11/23
4600
【深度学习】参数优化和训练技巧
Pytorch实现15种常用学习率调整策略(自定义学习率衰减)
每组参数的学习率乘以指定函数中给定的因子。当last_epoch=-1时,将初始lr设置为lr。
自学气象人
2023/09/06
4.8K0
Pytorch实现15种常用学习率调整策略(自定义学习率衰减)
提升分类模型acc(一):BatchSize&LARS
【GiantPandaCV导读】在使用大的bs训练情况下,会对精度有一定程度的损失,本文探讨了训练的bs大小对精度的影响,同时探究Layer-wise Adaptive Rate Scaling(LARS)是否可以有效的提升精度。
BBuf
2021/09/14
1.6K0
提升分类模型acc(一):BatchSize&LARS
深度学习调参tricks总结!
学习率是一个非常非常重要的超参数,这个参数呢,面对不同规模、不同batch-size、不同优化方式、不同数据集,其最合适的值都是不确定的,我们无法光凭经验来准确地确定lr的值,我们唯一可以做的,就是在训练中不断寻找最合适当前状态的学习率。
Datawhale
2020/10/23
3.2K0
深度学习调参tricks总结!
学习率调度器和自适应优化器简史
很久很久以前,在 Adam 和 Adagrad 发布之前,几乎所有神经网络的训练方式都是一样的 —— 使用一个固定的学习率和随机梯度下降(优化器)。
McGL
2021/04/21
2.4K0
ResNet-RS:谷歌领衔调优ResNet,性能全面超越EfficientNet系列 | 2021 arxiv
论文: Revisiting ResNets: Improved Training and Scaling Strategies
VincentLee
2022/07/06
4430
ResNet-RS:谷歌领衔调优ResNet,性能全面超越EfficientNet系列 | 2021 arxiv
ADAM优化算法与学习率调度器:深度学习中的关键工具
这里推荐一篇实用的文章:《动态网格图片展示中的自适应逻辑》,作者:【繁依Fanyi】。
小说男主
2024/12/02
3900
ADAM优化算法与学习率调度器:深度学习中的关键工具
何凯明团队又出新论文!北大、上交校友教你用ViT做迁移学习
模型参数的初始化一直是一个重要的研究问题,一个合适的初始化能够提升模型性能,加速收敛找到最优解。
磐创AI
2021/12/01
1K0
何凯明团队又出新论文!北大、上交校友教你用ViT做迁移学习
推荐阅读
相关推荐
MiniCPM,能被斯坦福抄袭究竟有何魅力?我们一起看看论文吧!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档