大模型对齐阶段的Scaling Laws

卷友们好,我是rumor。

随着过去一年大模型技术的发展,数据、模型尺寸scale up后的能力已经不容置疑,scaling law也被越来越多研究者重视起来。在预训练资源消耗如此大的情况下,掌握scaling law有众多优点:

  1. 提前预测最终模型效果,知道每次训练的大概能到什么程度,要是不及预期可以根据预算再进行调整

  2. 在小尺寸模型上做置信的实验,进行数据、算法策略验证,降低实验的时间、资源成本

  3. 在真正的大规模预训练中,随时监测模型效果是否符合预期

目前对于scaling law的研究主要是在预训练阶段,而对齐阶段在数据、算法策略上的实验也会有很大成本,今天我们就来看两篇对齐阶段的工作,分别研究了SFT和RLHF阶段影响效果的重要因素,希望能给大家带来一些新的insight。

精调Scaling Law

When Scaling Meets LLM Finetuning - The Effect of Data, Model and Finetuning Method[1]

这篇文章来自Google,发表在ICLR2024。作者主要在文本翻译任务上,研究了精调数据数量、模型尺寸、预训练数据数量、PET参数量(prompt tuning、lora)对效果的影响。

精调和预训练比较接近,得到的公式也较接近,可以用幂函数来表示:

b93dab6b297324d4529db68136435691.png

其中是精调数据尺寸,是其他影响因子,都是需要拟合的参数,可以反应因子的重要程度。

在这篇工作中,作者以精调数据量为核心因素,分别建模了精调数据量和其他因素的联合scaling law。

精调数据量+模型尺寸

6ae34079b24c94d6f1d66092b368da59.png

上图中实线为作者拟合的曲线,圆点是拟合用的实验点,倒三角是held-out点,用来验证外推是否准确。可以看到,随着数据量和模型尺寸的增加,test ppl也展现了一定规律的下降。但实际推到16B尺寸时在PET方式下拟合程度一般,作者分析是16B本身在预训练阶段存在一些问题。

精调数据量+预训练数据量

91a1957b989ee8da0999ff4cdf2dfd45.png

可以看到,预训练数据量对下游精调确实也有一定影响,外推拟合的也比较好。不过对比模型尺寸可以发现,同样计算预算下,用更大的模型尺寸精调>用更多数据预训练。但作者也指出这可能是因为翻译任务对于多样性的要求不高。

精调数据量+PET参数量

9f70f2d3af05decded9eb0478d4e59e9.png

可以看到,增加PET参数量的帮助很小。同时lora比prompt tuning的方式更加稳定,更容易拟合,prompt tuning甚至出现了inverse scaling的现象。

总结

由于这篇工作只在机器翻译任务上做了实验,同时外推到16B的偏差较大,因此参考意义有限。但作者的一些实验也有重要的参考意义:

  1. 精调数据存在scaling law,虽然现在大家都认同小数量高质数据能取得很好的效果,但当下游任务确定时怼量也是一种选择

  2. 对比全参数精调FMT和PET精调的结果可以发现,FMT需要更多的数据,也能取得更好的效果。而数据量少时更适合用PET,prompt tuning在数据量少的时候更好,lora在数据量多的时候更好更稳定。另外PET的精调方式很依赖模型尺寸和预训练数据,当基座很强时,PET和FMT的差距会缩小

  3. 同时作者也分析了一下精调模型在其他任务上的泛化效果,发现精调后模型可以泛化到相似的任务,由于PET对参数的改动较小,因此PET的方式泛化会更好

因此,对于有明确下游任务的场景,用强基座+小数量+PET精调是一个很明智的选择。但对于任务不明确的通用场景,正如作者所言:the optimal finetuning method is highly task- and finetuning data-dependent,要得到明确的规律还有一定难度。

RLHF Scaling Law

RLHF涉及到4个模型,变量非常多,想想都不知道怎么下手。但这并难不倒OpenAI,他们早在22年底就悄咪咪放出了一篇文章,一共只有三个作者,第二作者是PPO之父John Schulman,同时也是OpenAI Alignment的Lead,阵容非常强大。

a25279b48155e7ca9f84ecb9c2a7fce1.png

相比于预训练和精调,Scaling law对于RLHF还有一项重要意义,因为在RLHF过程中,存在着一个很典型的问题:过优化(overoptimization)。当使用奖励模型(Reward Model,简称RM)去代替人类判断时,很难保证它是无偏的,而强化算法又会让模型走捷径,一旦发现哪个地方奖励高,立刻就朝着该方向优化,拿到更高奖励值。

这一现象也可以称为Goodhart’s law:

When a measure becomes a target, it ceases to be a good measure.

所以真实的场景就很迷了,明明看着奖励曲线上升得很美妙,但评估出来效果不一定更好,所以到底挑哪个checkpoint去评估呢?

如果有RLHF的scaling law,我们就可以预测模型真实的最优ckpt,适时停止训练,减少模型训练、评估成本

OpenAI这篇工作得到的结论则是:

其中,和是通过RM算出来的。

a48a9ad2e7f2ef3044c642e61b13c735.png

公式中的核心是RM尺寸和KL散度两个因素,有了这个公式之后,我们就可以:

  1. 根据当前模型偏离的KL散度,来预测模型何时到达最高的真实分数,提升评估效率

  2. 根据使用的RM,来预测模型能达到什么效果,或者根据效果倒推要用多大的模型

虽然最终的公式看起来非常简单,但作者也进行了很多的实验和分析。首先介绍一下实验设置,为了提升评估效率,作者使用了两个RM,一个时Gold RM,作为labeler的角色,标注一份数据后训练proxy RM,用来做RL实验:

f863b9e8dd4582a8a5d8b84752ec3c57.png

对于RLHF的scaling law,如何挑选X和Y轴?

首先Y轴比较好选,预训练模型一般用loss,比较连续,且可以很好地反映模型效果,RL可以自然地用Reward,也具有同样的功能。

但X轴就不一样了,设置成KL散度非常巧妙,因为RL不能像预训练/精调一样用计算量、过的Token数量等,如果RL也用训练时过的Token数量,会有一个问题:预训练和SFT只优化交叉熵损失这一个目标,而RL同时优化总奖励和KL惩罚两个目标,而且这两个目标是互相拉扯的,KL惩罚希望模型尽量不偏离太远,而模型要拿更多的奖励不可避免会有参数更新。

于是作者看了一下不同KL惩罚系数下KL散度与步数的关系:

145eb1682475d0dfacbb375b4020da98.png
KL散度与步数的关系

如果系数过大,感觉模型就不更新了,那这时候Reward还能提吗?因此KL penalty在RLHF中其实起着early stopping的作用,为了研究训练步数的影响,作者实验时去掉了KL penalty

除了RM尺寸,还有其他影响因素吗?

作者也对RM的训练数据量进行了实验,结果比较符合直觉,训练数据越多实际的gold score越大,但无法拟合出更清晰的规律。

同时作者也尝试了不同的policy模型尺寸,更大的模型在相同RM下效果更好,比较符合直觉。但也有不符合直觉的地方,比如作者觉得更大的模型会更快过优化,实际上是和小模型在相同的KL点开始过优化的。同时不同尺寸下proxy和gold的分数gap也基本接近,没有比小模型更好拟合RM。

3b3c1b436abfb9ef7927ef16bb29c3cd.png

个人认为OpenAI的这篇工作非常值得一看,有很多实验细节,同时得到的结论简洁优雅。

总结

Scaling law不仅是一个好用的工具,它本身的存在也给出了能影响模型效果的关键因素,指导着算法的迭代方向,比如在预训练中,核心是数据量、模型尺寸,最近Deepseek[2]的工作中也对batch size、learning rate这两个重要超参数进行了分析。而在对齐阶段,综合上面两篇工作,数据量、模型尺寸、RM尺寸都对效果有着规律清晰的影响,掌握这些规律十分重要,也希望后面能有更多Scaling law的相关工作。

参考资料

[1]

When Scaling Meets LLM Finetuning - The Effect of Data, Model and Finetuning Method: https://arxiv.org/abs/2402.17193

[2]

DeepSeek LLM: https://arxiv.org/abs/2401.02954

7236443703a9f012184159305fb5a3f8.jpeg


我是朋克又极客的AI算法小姐姐rumor

北航本硕,NLP算法工程师,谷歌开发者专家

欢迎关注我,带你学习带你肝

一起在人工智能时代旋转跳跃眨巴眼

「点赞scale up」b90f0750f6e2907775d93c533d596a81.png

  • 13
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值