@cwolferesearch 阅读这些论文让我更好地理解了…
@cwolferesearch Reading through these papers has given me a better understandin…
文章比较了 pretraining scaling laws 与 RL scaling laws 的差异:pretraining compute 可用 C=6ND 表示,RL 同时涉及 sampling 和 policy updates,常用 FLOPs 或 GPU hours 衡量;RL 还区分 intra-model 与 inter-model extrapolation。pretraining 预测 validation cross entropy loss,RL 多预测 reward 或 accuracy,且受 benchmark 组成影响。RL 训练配置和 GRPO formulation 的细微差异会改变 scaling trends,缺乏标准化。
通读这些论文让我更好地理解了,为什么 RL scaling laws 相比 pretraining 的 scaling laws 要混乱得多。Pretraining scaling laws 和 RL scaling laws 是两类完全不同的东西,原因有几点:
定义 compute:Pretraining 的 compute footprint 非常清晰,即 C = 6ND。RL 的 compute 更难刻画,因为同时存在 sampling 和 policy updates。有些论文试图继续使用同样的 FLOP 估算方式来衡量 compute,而另一些则用 GPU hours 来衡量 compute。训练框架的效率会导致 FLOPs / GPU hours 之间的关系出现相当大的变化。
模型内与模型间外推:Pretraining scaling laws 会拟合许多具有不同设置的模型训练 run 之间的趋势,以理解 model / data size(以及 compute)如何影响结果。这使我们能够外推未来训练 run 的结果。在 RL 中,我们既会在单个训练 run 内拟合 scaling laws(intra-model extrapolation),也会跨训练 run 拟合(inter-model extrapolation)。Pretraining 不需要 intra-model extrapolation,因为它更稳定;而 RL 对所使用的具体训练配置极其敏感。
衡量 performance:Pretraining scaling laws 预测的是一个非常特定的 performance metric:在 in-domain、held-out validation set 上测得的 cross entropy loss(或其他相关 entropy metric)。这是一个稳定的 performance metric,通常在一个非常多样化的数据集上计算(即从 pretraining corpus 中随机抽取的样本)。RL scaling laws 也延续了在 in-domain validation set 上计算 performance 的做法。不过,它们预测的 performance metric 是 validation set 上的 reward(或 accuracy)。这是一个 downstream performance metric,会根据所使用的 benchmark 或该 benchmark 中数据的组成而大幅波动。
缺乏标准化:总体来说,相比 pretraining,RL 中可以调整的旋钮更多。设计空间很大,而我们(目前)还不确定哪些设计决策会影响 RL 的 scaling properties。已有几篇论文关注这一主题,并在理解哪些变化真正影响 RL scaling 方面取得了有意义的进展。不过,这并不改变这样一个事实:RL 训练设置中的细微差异,可能会完全改变观察到的 RL scaling trends。正因如此,许多论文在给出 RL scaling 建议时其实是在比较 apples to oranges,使得这一主题上的进展变得困难。甚至有些论文的发现彼此完全相反,而这很可能是由于它们具体的 GRPO formulation 中存在细微差异。