首发于NLPCAB

大模型对齐阶段的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)对效果的影响。

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

其中$D_f$是精调数据尺寸,$X$是其他影响因子,$A, E, \alpha, \beta$都是需要拟合的参数,$\alpha, \beta$可以反应因子的重要程度。

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

精调数据量+模型尺寸

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

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

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

精调数据量+PET参数量

可以看到,增加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,阵容非常强大。

相比于预训练和精调,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这篇工作得到的结论则是:

$$R_{RL}(d) = d(\alpha_{RL} - \beta_{RL}logd) $$

其中$d:=\sqrt{D_{KL}(\pi||\pi_{init})}$,$\alpha$和$\beta$是通过RM算出来的。

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

  1. 根据当前模型偏离的KL散度,来预测模型何时到达最高的真实分数,提升评估效率
  2. 根据使用的RM,来预测模型能达到什么效果,或者根据效果倒推要用多大的模型

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

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

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

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

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

KL散度与步数的关系

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

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

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

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

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

总结

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

---
欢迎初入NLP、大模型领域的小伙伴们加入rumor建立的「NLP卷王养成群」一起学习,添加微信「leerumorrrr」备注知乎NLP即可,群里的讨论氛围非常好~另外欢迎白嫖我整理的「大模型知识点汇总」~

参考资料

[1] When Scaling Meets LLM Finetuning - The Effect of Data, Model and Finetuning Method: arxiv.org/abs/2402.1719

[2] DeepSeek LLM: arxiv.org/abs/2401.0295

发布于 2024-04-01 09:52・IP 属地北京