机器之心编辑部

Scaling是过去十年 AI 进步最核心的驱动力。

Ilya Sutskever 曾说,Scaling 这一个词改变了整个领域的思维方式。而现在,这个词正在经历它的第二次蜕变:从预训练走向强化学习

正是在这个关键的历史节点,Cameron R. Wolfe 博士近日发布了一篇长篇技术博客《RL Scaling Laws for LLMs》,其中系统梳理了 Scaling Law 从预训练到 RL 的演化脉络:哪些规律依然成立,哪些假设彻底失效,以及面对混乱的 RL 设计空间,研究者们正在如何重新建立秩序。

打开网易新闻 查看精彩图片

博客地址:https://cameronrwolfe.substack.com/p/rl-scaling-laws

机器之心编译了这篇文章,以飨读者。

打开网易新闻 查看精彩图片

(来源:[1, 2, 3])

Scaling 是 AI 研究史上影响最深远的概念之一。

对 LLM 而言,Scaling 的研究主要集中在预训练阶段。严格的 Scaling Law 让我们能够清晰定义算力与性能之间的关系。受这些可预测规律的启发,LLM 研究社区在多个数量级上对预训练 Scaling Law 进行了实证验证。在这一过程中,我们发现:只要向预训练投入更多数据和算力,模型能力就能持续获得显著提升

「机器学习以前的做法是,人们不断摆弄各种东西,试图得到有趣的结果。过去一直如此。后来 Scaling 的洞见出现了。Scaling Law、GPT-3,所有人突然意识到我们应该去 Scaling。这就是语言影响思维的典型例子。Scaling 只是一个词,但它无比强大 —— 因为它直接告诉人们该怎么做。」 —— Ilya Sutskever

预训练 Scaling Law 的成功,激励研究者将这一思路延伸到 LLM 训练流程的其他环节。

其中最值得关注的是强化学习(RL)领域:研究人员已经证明,随着训练规模的扩大,模型能力的提升是平滑且可预测的。

本文将系统研究 RL 背景下的 Scaling Law。

为了避免孤立地讨论这一话题,我们会先深入理解预训练的 Scaling Law,再梳理 Scaling Law 是如何逐步应用于 RL 的。正如我们将看到的,Scaling Law 在这两个领域的具体定义截然不同 —— 但「规模」这一核心概念在两者中同样强大。

Scaling Law 基础

LLM 早期的许多重要进展,都源于对预训练过程的规模扩大。简而言之,向预训练投入更多算力(训练更大的模型、使用更多数据),就能获得更好的性能。我们可以用 Scaling Law [13] 来严格定义算力与性能之间的关系 —— 它是一个描述 LLM 测试损失随算力增加而下降的方程。预训练过程遵循平滑的趋势,这些趋势可以被 Scaling Law 精确预测。

这意味着,甚至在模型训练之前,就能估算出更大模型的性能表现。这种对特定训练配置结果的精细预测能力,带来了诸多好处:

  • 大规模算力投入不再令人望而却步,因为我们清楚地知道投入后会得到什么结果。
  • 可以通过运行小规模实验并外推其结果来加快迭代速度。

下面,我们将从零开始构建对 LLM 预训练 Scaling Law 的理解。这些知识是理解预训练 Scaling Law 的机制与实践应用所必需的,也是我们后续与 RL Scaling Law 进行对比的基础。预训练 Scaling Law 高度标准化,遵循一套成熟的方法来估算特定训练指标。相比之下,RL Scaling Law 虽然同样具有参考价值,但在结构和所衡量的量上都更加混乱和定制化。

什么是幂律?

LLM 的预训练过程可以用幂律来建模。最简单的幂律描述了两个量之间的关系,其基本形式为 y = a × x^p。其中 x 和 y 是被研究的两个量,a 和 p 是描述其关系的常数 ——a 控制曲线的纵向位置,p 控制曲线的陡峭程度或方向。下图展示了这个简单幂律函数的图像。

打开网易新闻 查看精彩图片

x 与 y 之间的基本幂律图像

我们同时给出了普通坐标和对数坐标下的幂律图,因为大多数研究 LLM Scaling Law 的论文习惯用对数坐标展示结果。不过,LLM Scaling Law 的图像与上图并不相同 —— 它们通常是上下翻转的(见下图)。这是逆幂律,可表示为 y = a × (1 /x)^p。其结构与标准幂律几乎相同,只是 p 取负指数。如下图所示,使用负指数会将幂律图像倒置。

打开网易新闻 查看精彩图片

(来源:[13])

LLM 幂律。这种逆幂律在对数坐标下,呈现出 LLM Scaling Law 的标志性线性关系。在 LLM 预训练中,我们通过逆幂律建模的两个量分别是:

  1. LLM 的测试损失 L—— 具体为下一个 token 预测或交叉熵损失(或其他基于熵的指标,如每字节比特数或困惑度)—— 在同分布的留出验证集上计算得到。
  2. 预训练期间消耗的算力 C,通过训练 FLOPs 估算,公式为 C = 6 × N × D,其中 N 是模型参数量,D 是预训练期间处理的 token 数。

估算训练算力时使用系数 6,原因在于:LLM 在每个训练步中执行一次前向传播和一次反向传播。单次前向传播每个 token 大约消耗 2N FLOPs,反向传播的开销约为前向传播的 2 倍。

因此,每个训练步每个 token 大约消耗 6N FLOPs,再乘以训练期间处理的 token 总数,即得出 C = 6 × N × D 的近似公式。这一计算方法最早见于首批研究预训练 Scaling Law 的论文 [13],此后被其他相关工作广泛沿用。

神经 Scaling Law [13] 与 Chinchilla [14]

为了更具体地理解预训练 Scaling Law,我们将回顾两篇奠定 Scaling Law 基础原则的开创性论文 [13, 14]。文献 [13] 研究了多项设置对预训练过程的影响,发现随着以下因素的增加,性能会平滑提升:

  1. 模型参数量
  2. 数据规模
  3. 训练算力

更具体地说,在性能不受其他两个因素瓶颈制约的条件下,这三个因素各自与 LLM 的测试损失之间均呈幂律关系。为了验证这些幂律,研究者在 WebText2 语料库 的若干子集上训练了最大达 15 亿参数的 LLM。

如下图所示,随着模型规模、数据量或算力的增加,这些模型的性能稳步提升。这些趋势在算力上跨越了 8 个数量级,在模型规模上跨越了 6 个数量级,在数据集大小上跨越了 2 个数量级。具体的幂律关系和公式如下所示。

打开网易新闻 查看精彩图片

(来源:[13])

这些公式与之前的逆幂律方程非常相似,但将 a 设为 1,并在括号内增加了一个乘法常数(即 C_c、D_c 或 N_c)。拟合这些幂律时,研究者训练了一批不同规模的模型,同时变化训练所用的算力和数据量,再测量每个模型的测试损失,从而形成一个包含训练配置及对应测试损失的数据集,最后将幂律参数拟合到这批数据上。

幂律的拟合方法有很多;对于简单的幂律关系,一种常见方法是在对数 - 对数空间中对观测数据拟合一个线性模型。

幂律告诉了我们什么? 尽管上面的幂律图看起来令人鼓舞,但需要注意这些图使用的是对数坐标。如果改用普通坐标(即不使用对数刻度),就会得到下图所示的结果 —— 幂律的形状类似指数衰减。这说明,随着规模的扩大,提升 LLM 质量会变得指数级更加困难。

打开网易新闻 查看精彩图片

普通坐标下的幂律图

最优算力分配。LLM 预训练的核心 Scaling 趋势在 [13] 中已经确立 ——LLM 的测试损失随着算力、模型参数量和数据量呈现出平滑的幂律趋势。该分析的一个重要结论是:在固定算力预算下,用更大的模型训练更少的数据(通常在模型完全收敛之前就停止训练)能够取得最优结果。Chinchilla [14] 在此基础上,针对预训练最优算力分配进行了深入研究。

具体而言,[14] 重点探讨了如何在固定算力预算下,最优地在模型参数量和训练 token 数之间分配资源,以最小化测试损失。

打开网易新闻 查看精彩图片

(来源:[14])

通过训练 400 余个不同规模模型(使用不同数据量),研究发现 [13] 中的 Scaling 建议导致大多数 LLM 训练不足 —— 用更多数据训练这些模型会产生更好的效果。

更具体地说,Chinchilla 发现,要使预训练达到算力最优,模型规模与数据规模应等比例增加(见上图)。这项研究采用了相同的 Scaling Law 公式,但作者在固定算力预算下显式搜索了各种模型规模与数据规模的组合,以找到最小化测试损失的最优平衡点。

超越预训练的 Scaling Law

直到不久前,训练 LLM 所消耗的大部分算力都投入到预训练阶段。过去,我们主要关注扩大预训练规模,而后训练则是一个开销较小的环节,主要用于优化模型的风格和行为。推理模型的出现,彻底改变了这一格局。

「将 RL 算力 Scaling 正在成为推进 LLM 发展的关键范式。预训练奠定了模型的基础;而随后的 RL 训练阶段则解锁了当今 LLM 最重要的许多能力,从测试时的思考到智能体能力……Deepseek-R1-Zero 在 RL 训练上使用了 10 万 H800 GPU 小时,占其预训练算力的 3.75%。这种 RL 算力的大幅增加在前沿 LLM 的迭代中被进一步放大,从 o1 到 o3 增加了超过 10 倍,Grok-3 到 Grok-4 也有类似的飞跃。」—— 来自 [1]

与标准 LLM 相比,推理模型在给出最终答案之前,会输出一段较长的推理轨迹或思维链 —— 通常用 token 包裹。这一思路由 OpenAI 的 o 系列模型推广开来。o1 的发布揭示了两个重要的新 Scaling 维度:

1. RL 训练算力

2. 推理时算力

如下图所示,随着 RL 训练和推理时算力的增加,性能出现了平滑提升 —— 类似于 Scaling Law 的规律。

打开网易新闻 查看精彩图片

这一推理领域的突破随后迎来了开源权重推理模型 DeepSeek-R1 [15] 的发布。该模型性能与 o1 相当,并提供了描述训练方法的技术报告。时至今日,这类推理能力已成为开源和闭源模型的新标准。

用于推理的 RL。推理模型通过带可验证奖励的 RL 进行训练。如上图所示,随着 RL 训练规模的扩大,模型性能持续提升。因此,近期 LLM 研究大量聚焦于针对可验证任务(如数学或编程)扩大 RL 训练规模。大规模 RL 训练在通用推理能力和编程智能体质量方面带来了巨大提升。然而,RL 现在已消耗了不可忽视的总训练算力占比,如何为 RL 最优地分配算力并不容易。

在预训练中,我们可以借助已知的 Scaling Law 来合理投入可用算力 —— 这些定律提供了对性能如何随模型规模、数据和算力变化的标准化理解。鉴于算力是制约 AI 进步的主要瓶颈,我们迫切需要类似的 Scaling Law,以便更好地理解和预测大规模 RL 训练的结果。

强化学习背景知识

在深入研究 RL Scaling Law 之前,我们需要先了解 RL 训练过程的基础知识,否则无法正确解读 RL 的 Scaling 特性。本节将简要介绍理解这一话题所需的核心概念,重点放在GRPO算法及其各种变体上。

我们之所以重点介绍 GRPO,是因为它是目前推理模型大规模 RL 训练中最常用的算法 —— 至少在已公开披露的研究中如此。例如,广受关注的 DeepSeek-R1 推理模型 [15] 就使用了 GRPO 进行 RL 训练。

组相对策略优化(GRPO) [4]

「我们提出了组相对策略优化(GRPO),这是近端策略优化(PPO)的一种变体。GRPO 放弃了评论员模型,转而通过组内评分估算基准,从而显著降低了训练资源的消耗。」 —— 来自 [4]

GRPO 由文献 [4] 提出,是一种基于近端策略优化(PPO)等先前算法构建的 RL 优化算法。在 RLHF 时代,PPO 是 LLM 最常用的 RL 优化器;而如今,GRPO 几乎已成为推理模型大规模 RL 训练的通用选择 [1]。与 PPO 相比,GRPO 更简单、更轻量,这也促进了它在 LLM 研究社区(尤其是开放研究)中的广泛采用。GRPO 相对于 PPO 的主要改变在于优势估计方式。

打开网易新闻 查看精彩图片

(来源:[4])

GRPO 不像 PPO 那样使用价值模型和 GAE 来估计优势,而是通过为批次中每个提示采样多个完成序列(即一「组」完成序列),并利用这些完成序列的奖励来构建基准值。这种基于组的基准值替代了价值函数,使 GRPO 无需训练价值模型,从而大幅降低了 RL 训练的内存和算力开销。具体而言,完成序列 i 的优势通过对其奖励 r_i 进行组内均值和标准差归一化来计算(见下图),组内每个完成序列中的所有 token t 都被赋予相同的优势值。

打开网易新闻 查看精彩图片

(来源:[4])

直观来说,GRPO 着眼于同一提示的多个完成序列之间的相对奖励差异。优势被定义为某一完成序列的奖励与组内平均奖励的差值。这一方法引导模型更加强调奖励高于平均水平的完成序列。

损失函数。计算出优势后,GRPO 的损失函数与 PPO 非常相似,其核心是 token 级策略比率(即重要性比率)。具体而言,这是当前策略与生成该批次数据时的旧策略对某一 token 所赋予概率之比(见下图)。

打开网易新闻 查看精彩图片

策略比率(重要性比率)

利用该策略比率和优势,可以如下图所示计算 GRPO 的损失函数。该损失函数采用了 PPO 提出的相同截断机制(详见此处)。与 PPO 类似,GRPO 的损失中也取截断目标与未截断目标的最小值,其中目标函数就是 token t 的策略比率与优势的乘积。

打开网易新闻 查看精彩图片

GRPO 损失函数

GRPO 损失函数的内层项在 token 级别计算。默认情况下,通过以下方式在批次上聚合损失:

1.对每个完成序列内的 token 级损失取平均。

2.对组内各完成序列的损失再取平均。

GRPO 中损失的聚合方式是可以变化的 —— 我们很快会看到,批次上的损失聚合方式会影响性能。由于 GRPO 基于组内奖励统计来计算优势,必须为每个提示采样大量完成序列,以确保优势估计的可靠性。因此,GRPO 通常需要相对较大的批次规模才能保持训练稳定性 [2](详见此处)。

GRPO 与奖励模型。GRPO 主要用于不含神经网络奖励模型的可验证奖励场景。一个常见的误解是,GRPO 消除了对奖励模型的需求 —— 但实际上 GRPO 可以在有或没有奖励模型的情况下使用。事实上,GRPO 的原始论文 [4] 就使用了奖励模型而非可验证奖励!去除奖励模型是可验证奖励的优势,并非 GRPO 本身的内在优势 ——GRPO 的主要贡献在于消除了价值模型的需求。关于 GRPO 的更多详情,包括示例代码以及促成 GRPO 产生的相关先前工作,请参阅下方概述。

GRPO 近期变体

DeepSeek-R1 [15] 发布后,GRPO 算法迅速爆红,许多研究者开始复现或 Scaling 论文中的工作。尽管模型细节已公开发表,但完整复现 DeepSeek-R1 训练流程并不简单,促使后续大量工作提出了对 GRPO 算法的改进。本节将介绍目前最成功、已被广泛采用的几种改进方法,以提升 RL 训练效果。

打开网易新闻 查看精彩图片

GRPO 中的 token 级重要性与序列级优势

组序列策略优化(GSPO)[5] 通过在序列级别而非 token 级别计算策略比率,对 GRPO 目标进行了改进。GRPO 损失(如上图所示)在模型优化方式与奖励(或优势)分配方式之间存在错位:

  • 优势在序列级别计算(结果奖励场景下)。
  • 策略比率 —— 以及整个损失 —— 在 token 级别计算。

文献 [5] 指出, token 级策略比率在 RL 训练期间往往具有很高的方差,这会增大策略梯度的方差,进而导致训练不稳定。具体而言,策略比率的高方差可能导致单个 token 主导损失,甚至在 RL 训练过程中引发数值不稳定。这一问题在训练长序列的 LLM 或使用大型稀疏专家混合模型时尤为突出。

为了防范这种方差, token 级重要性比率被截断到 [1-ε, 1+ε] 范围内。在该截断操作的设计下,若 token 在目标函数中被截断,则对梯度更新的贡献为零。重要性比率捕捉了在同一批次数据上经过多次策略更新后 token 概率的变化 —— 我们对概率变化足够大的 token 进行截断。

然而,将这些 token 排除在策略梯度之外可能会带来问题:这些往往是被策略更新识别为重要的低概率 token ,可能承载着模型需要学习的关键推理步骤,而截断操作却压制了这部分学习过程。

打开网易新闻 查看精彩图片

GSPO 的核心思路是在序列级别而非 token 级别计算重要性比率。一旦推导出序列级重要性比率,GSPO 的训练目标就与 GRPO 几乎相同(见上图):对序列级重要性比率应用截断,使用相同的优势,并在序列级别取截断目标与未截断目标的最小值。

序列级重要性比率可以通过将序列概率因式分解为各 token 概率的乘积来推导。不过,文献 [5] 的作者选择了用几何平均数的对数形式来定义序列级重要性比率(如下图所示)。该几何平均是对 token 级概率取的,通过序列长度对序列级策略比率进行归一化。这样做确保了不同长度序列的重要性比率具有可比性;同时,将比率表示为对数概率之和而非原始概率之积,也改善了数值稳定性 —— 尤其对长序列而言。

打开网易新闻 查看精彩图片

几何平均数定义

文献 [5] 表明,GSPO 改善了训练稳定性、样本效率和整体性能。在训练大型 MoE 模型(如 Qwen3-235B-A22B)时,GSPO 的稳定性优势尤为突出。正因如此,GSPO 被采用于广受关注的 Qwen 3 系列模型的训练过程。

动态采样策略优化(DAPO)[6] 并非一个单一算法,而是对原始 GRPO 优化器提出了若干实用改进的修改方案。文献 [6] 指出,原始 GRPO 优化器存在以下明显问题:

  • 熵崩溃:模型下一个 token 分布的熵在训练过程中崩溃。概率质量主要集中于单个 token ,输出变得更加确定性。
  • 奖励噪声:训练奖励噪声很大,在 RL 训练过程中并不能稳定增加。
  • 训练不稳定:训练过程不稳定,可能发散。

为解决上述问题,文献 [6] 提出了一套可以协同使用的技巧。首先,GRPO 中的熵崩溃问题被证明是由截断操作强调高概率 token 、惩罚低概率(探索性) token 所导致的。文献 [6] 提出了「提高上截断值」方法(clip higher)来解决这一问题:通过解耦上下截断界,在 [1-ε_low, 1+ε_high] 范围内截断,其中 ε_low=0.2(GRPO 默认值)而 ε_high=0.28。提高 ε_high 能防止熵崩溃并提升整体 GRPO 性能(见下图)。

打开网易新闻 查看精彩图片

(来源:[6])

随着 RL 训练的推进,批次中所有完成序列都正确的样本数量增加。这类组的优势为零,因此对策略梯度没有贡献,实际上减小了 GRPO 的有效批次大小,导致梯度估计噪声更大、样本效率下降。为解决这一问题,文献 [6] 提出了动态采样方法:

1.从批次中过滤掉所有完成序列准确率为满分的提示。

2.持续采样提示,直到批次填满。

这种方法会增加构建批次的成本,因为需要动态采样直到批次填满。但文献 [6] 表明,这一成本可以被 RL 训练样本效率的提升所抵消(见下图)。

打开网易新闻 查看精彩图片

(来源:[6])

此外,DAPO 还提出了一种改进的损失聚合策略和处理超长完成序列的新方法。原始 GRPO 通过以下方式聚合 token 级损失:先对每个序列内的损失取平均,再对批次中各序列的损失取平均。然而,这种方式引入了一个隐性偏差 —— 较长序列中的 token 对批次整体梯度的贡献相对更小。为此,DAPO 直接对批次中所有 token 的损失取平均(见下图)。

打开网易新闻 查看精彩图片

(来源:[6])

此外,文献 [6] 还在奖励中引入了基于长度的惩罚项,对过长的完成序列进行「软」惩罚。相比于对超过最大序列长度的完成序列直接赋予负奖励,文献 [6] 认为应在接近最大序列长度时逐渐将超长惩罚增加到最大值。这种方式提供了平滑的长度惩罚信号,使模型能够更有效地从中学习。

打开网易新闻 查看精彩图片

(来源:[7])

GRPO Done Right(Dr. GRPO)[7] 指出了原始 GRPO 算法中存在的两个关键偏差来源(如上图所示):

1.响应级长度偏差:GRPO 通过将每个序列的 token 损失之和除以该序列的 token 总数来归一化,导致梯度更新基于每个响应的长度而产生偏差。

2.问题级难度偏差:GRPO 优势公式分母中的标准差项,会导致对于特别容易(大多数响应奖励为 1)或特别困难(大多数响应奖励为 0)的问题,优势值变得非常大。

为解决第一个偏差,Dr. GRPO 通过将序列中 token 级损失求和后除以固定常数 MAX_TOKENS 来聚合损失,从而将响应长度从聚合过程中剥离出去。这种损失聚合策略与 DAPO 的差异颇为微妙:在 DAPO 中,批次中每个 token 对梯度的贡献相等,因此较长序列仍然会因其更大的 token 占比而获得更多强调(即使所有 token 在批次中的权重相同)。而在 Dr. GRPO 中,用固定常数替代序列级平均,实际上将聚合与响应长度解耦,从而有效防止了基于长度的优化偏差。

问题级难度偏差则通过从优势估计器中去除标准差项来处理(见下图)。通过这两项改动,Dr. GRPO 提升了训练稳定性和效率,同时使模型的 token 利用效率更高(即响应不会人为地变长)。

打开网易新闻 查看精彩图片

(来源:[7])

截断重要性采样(TIS)[9] 旨在解决高效 RL 训练框架中推理和训练引擎之间 token 概率不一致的问题。如前所述,RL 训练中主要有两个操作:i) 采样轨迹(rollout)和 ii) 计算策略更新。在现代 RL 框架中,这两个操作通常由独立的引擎处理:

  • 优化过的推理引擎(如 vLLM 或 SGLang)—— 通常采用较低精度推理(如 int8 或 fp8)以提高效率 —— 用于生成轨迹。
  • 分布式训练框架(如 FSDP 或 DeepSpeed)用于计算策略更新。

由于 RL 训练中生成轨迹消耗了绝大多数算力 [3],这种分离方式通常是必要的 —— 我们希望推理过程尽可能高效。然而,使用独立引擎也会导致两个引擎产生的 token 概率之间存在不可忽视的差异(见下图)。

打开网易新闻 查看精彩图片

(来源:[9])

此外,这种 token 概率差异并不容易通过统一各引擎的实现来消除。文献 [9] 的作者尝试了多种代码层面的干预方法来缩小 token 概率差距,但收效甚微,而且这一过程还需要针对每种引擎组合重复进行。因此,文献 [9] 提出了一种更灵活的方法:在策略梯度表达式中引入一个重要性采样项,在 RL 训练中自动纠正引擎之间的不匹配。具体表达式如下图所示,其形式类似于 REINFORCE 风格的策略更新。

打开网易新闻 查看精彩图片

使用不同引擎和 TIS 的策略梯度

上述表达式显式使用了不同的引擎来采样轨迹(sampler)和计算策略更新(learner)。这两个引擎之间的重要性比率,就是 learner 与 sampler 引擎概率的比值。文献 [9] 通过将该重要性比率限制在最大值 ρ 以内来进行截断。与 PPO 或 GRPO 使用的截断操作相比,这种截断方式有几点不同:

  • 我们直接截断重要性比率。截断操作同样作用于重要性比率,但随后还取截断目标和未截断目标的最小值,因此是双向的。
  • 我们用最大值 ρ 对重要性比率进行单侧截断,仅防止极端的上调权重。

TIS 的实际应用非常简单 —— 只需计算截断后的重要性比率,再将策略梯度表达式乘以该比率。如下图所示,将这一重要性比率引入策略梯度,对 RL 训练稳定性和模型性能都产生了显著的积极影响,这也促使 TIS 被主流训练框架(如 verl 和 OpenInstruct)迅速采用。

打开网易新闻 查看精彩图片

(来源:[9])

上文用 REINFORCE 的序列级重要性比率来表述 TIS。不过,我们也可以用 PPO 或 GRPO 的 token 级形式来构建(见下图)。截断后的重要性比率是在 PPO 风格策略梯度表达式的其他组成部分之外额外计算的,然后乘以现有表达式,这可以在序列级别进行 —— 类似于 GSPO 使用的梯度表达式 —— 也可以在 token 级别进行 —— 如 PPO 或 GRPO 的普通表达式。

打开网易新闻 查看精彩图片

(来源:[9])

token 级 TIS 在实践中使用更为普遍,因为它与 PPO 和 GRPO 目标对齐良好,且相对容易集成到现有训练框架中,同时还具备稳定性优势。然而,近期工作 [10] 从理论分析的角度提出,序列级 TIS 相比 token 级 TIS 偏差更小。目前,哪种方式更优尚无定论。在实践中,最佳实现方式可能取决于具体的应用场景和领域。

截断重要性采样权重策略优化(CISPO)[8] 是另一种近期的 RL 变体。与 TIS 类似,它基于 REINFORCE 风格的目标函数,并加入了重要性比率。在使用 PPO 风格的截断方式时,我们知道所有被截断的 token 对策略梯度都没有贡献。

文献 [10] 的作者通过实验观察到,模型推理轨迹中重要的「分叉」 token (如「啊哈」或「等等」)在基础模型中比较罕见,初始概率较低。由于这些 token 的重要性,其概率在第一次策略更新后往往会急剧增大,导致这些 token 在后续策略更新时具有非常大的重要性比率 —— 随即被 PPO 目标截断。

「我们发现,与反思行为相关的 token …… 通常很少见,基础模型对它们赋予的概率也很低。在策略更新过程中,这些 token 很可能表现出较高的重要性比率值。因此,在第一次在线策略更新后,这些 token 就被截断,无法继续参与后续的离线策略梯度更新…… 这些低概率 token 对于稳定熵值、支持可 Scaling 的 RL 往往至关重要。」—— 来自 [10]

结果,重要的分叉 token 通常在 PPO 风格损失的第一次策略更新后就被从损失中屏蔽掉了。尽管这种屏蔽在某些场景下并不总是问题(即标准 RL 设置通常对每批采样数据只进行约 2-4 次更新),但 MiniMax-M1 对每批数据进行了 16 次策略更新。

因此,重要 token 在仅经过一次或少数几次更新后就被屏蔽出损失,会显著损害训练效率。为解决这一问题,作者采用了如下图所示的改进版 REINFORCE 风格损失。可以看出,CISPO 同样采纳了 DAPO [6] 的部分建议,包括 token 级损失公式以纠正长度偏差。

打开网易新闻 查看精彩图片

CISPO 损失(来源:[10])

该损失公式对截断后的重要性比率应用了停止梯度(stop gradient),确保每个 token 即使被截断也能对损失有所贡献。换句话说,重要性比率被用作权重,控制 token 对策略梯度的贡献量。CISPO 中的截断为该权重设置了上限,确保没有任何 token 因重要性比率过大而被过度放大。

打开网易新闻 查看精彩图片

GRPO 损失中的截断

当我们审视 GRPO 目标函数时,其截断机制与 CISPO 有明显不同(见上图)。具体来说, token 概率仅出现在重要性比率中,梯度通过重要性比率中的 token 概率项流动。当重要性比率被截断时,该 token 的梯度为零,对策略梯度没有任何贡献。CISPO 使用的改进截断方式确保所有 token 都能参与策略梯度,从而提升 RL 的稳定性和效率(见下图)。

打开网易新闻 查看精彩图片

(来源:[10])

CISPO 和 TIS 的损失公式看起来颇为相似,但这两种算法 —— 尽管都使用了重要性比率 —— 旨在解决不同的问题。CISPO 采用了与 PPO 和 GRPO 相同的重要性比率定义,通过截断该比率确保 token 概率在单批次数据上不会变化太大,从而强制执行信任域约束;CISPO 仅仅修改了截断的方式,以确保所有 token (包括被截断的 token )都能以有限的权重继续参与策略梯度。另一方面,TIS 使用重要性比率来捕捉训练引擎和推理引擎之间 token 概率的差异,从而纠正 RL 训练过程中引擎不匹配的问题。

RL 的正则化

RL 训练中常见的正则化项主要有两种:

1.熵奖励:激励 LLM 保持不确定性,避免过于自信的 token 分布。

2.KL 散度:在整个训练过程中将策略锚定到参考策略,防止 LLM 变化过大。

在近期的 RL 训练流程中,正则化项的使用已较少见,但我们在本文后续内容中仍会看到两种策略的应用示例。为避免日后产生困惑,下面先简要介绍这两种正则化策略。

KL 散度。在 RL 训练过程中,我们可以计算当前策略与参考策略(通常是 RL 训练开始前的策略,即基础模型)之间的 KL 散度。近似两个模型之间 KL 散度的方法有很多(详见此处),最简单也最常用 [7] 的近似方法是计算当前策略与参考策略在 token 级对数概率上的差值。这种近似方法以及 GRPO 论文 [12][4] 中使用的另一种常见变体如下图所示,两者通常都在开源 RL 实现中得到支持(例如在 TRL 中的实现)。

打开网易新闻 查看精彩图片

常见的 KL 散度近似方法

计算出 KL 散度后,将其纳入 RL 训练过程通常有两种方式:

1. 直接从奖励中减去 KL 散度。

2. 将 KL 散度作为惩罚项添加到损失函数中。

这两种方法在实践中均可见到,具体取决于所使用的 RL 优化器或实现方式。PPO 将 KL 散度纳入奖励,而 GRPO 则将其作为惩罚项加入目标函数(见下图)。

打开网易新闻 查看精彩图片

将 KL 散度纳入 RL 的两种方式

由于 GRPO 的流行,近期 RL 实现更多倾向于将 KL 散度加入损失函数。但完全省略 KL 散度 —— 不使用任何正则化 —— 也越来越普遍。在训练过程中,KL 散度项惩罚策略与参考策略的过度偏离;但在进行大规模、以推理为导向的 RL 训练时,偏离参考策略也未必是负面的。

熵奖励。从信息论角度来看,熵衡量了变量可能状态的不确定程度:

  • 高熵:概率质量分布于多种结果之间。
  • 低熵:概率质量集中于少数结果。

在 LLM 领域,我们可以衡量模型 token 分布的熵 —— 低熵意味着 LLM 将大部分概率集中在少数 token 上,反之亦然。具体而言,可以用下图所示的公式计算熵。

打开网易新闻 查看精彩图片

LLM token 分布的熵

通常,熵在每个 token (即每个解码步骤)处计算,然后在生成轨迹中取平均。计算出熵后,可以通过系数 β 对其进行缩放,并将其纳入奖励(原始 PPO 论文中就是这样做的)或目标函数,从而将其转化为正则化的熵奖励项。熵奖励的目的是防止 LLM 在 token 分布上过于自信,进而避免在训练中阻碍策略探索的熵崩溃。与 KL 散度类似,熵奖励如今更多被纳入损失函数。事实上,我们很快会看到一篇在 GRPO 损失中添加了熵奖励的论文 [3]。

Scaling RL 训练过程

「虽然 LLM 的 RL 算力已大规模 Scaling,但我们对如何 Scaling RL 的理解却没有跟上步伐;这一方法论仍然更多是一门艺术,而非科学。」 —— 来自 [1]

Scaling Law 让研究者能够从低算力训练中外推高算力训练的性能。尽管 RL 在前沿模型训练中的作用日益扩大,但我们对其基本 Scaling 特性的理解仍相当初步 —— 尤其与预训练相比。本节将介绍几篇致力于解决这一问题的重要论文。

正如我们将看到的,RL Scaling Law 与预训练 Scaling Law 有着很大的不同,这些差异很大程度上来自 RL 训练庞大的设计空间。简单说,RL 很复杂,距离一套标准化的「正确」处理方式还很遥远。尽管如此,仍有不少有价值的 Scaling 洞见可以从这些工作中提炼出来,帮助我们更有效地为 RL 实验分配可用算力。

LLM 强化学习算力 Scaling 的艺术 [1]

与预训练不同,RL 尚无可靠预测性能趋势的成熟 Scaling Law。RL 的最佳实践散落在各种新算法提案中,但这些发现在大规模场景下未必能推广。模型报告也常常提供 RL 训练的实践建议,但这些方法通常是经验性的,且依赖于特定的训练设置。

结果就是,我们只能用最「笨」的方式来验证 RL 设计选择 —— 运行大规模实验,看哪种方案有效。鉴于现代 RL 的巨大算力开销,这种方式严重制约了迭代速度,阻碍了技术进步。我们迫切需要一种标准化方法,以便在较小规模下识别出有潜力的 RL 候选方案。

RL Scaling。文献 [1] 用 S 形(sigmoid)算力 - 性能曲线来建模 RL 训练过程。针对每次 RL 训练运行,分别拟合一条这样的曲线,以建模期望奖励(在训练过程中定期在验证集上计算)与算力(以 GPU 小时为单位)之间的关系(见下图)。

打开网易新闻 查看精彩图片

RL Scaling 的饱和 S 形曲线(来源:[1])

该曲线建模了两个量之间的关系:

1.奖励增益:使用算力 C 进行 RL 训练后的奖励,与 RL 训练前初始奖励之间的差值。

2.渐近奖励上限:在 RL 训练上投入无限算力所能实现的最大奖励增益。

这两个量之间的关系由项 1 / [1 + (C_mid/C)^B] 控制。该项包含:i) 达到曲线中点时的算力水平 C_mid,ii) 控制曲线陡峭程度的效率指数 B,以及 iii) 当前算力水平 C。直观上,该项捕捉了使用算力 C 运行 RL 后,已解锁的总可能性能增益比例。曲线形状如下图所示。

打开网易新闻 查看精彩图片

(来源:[1])

根据这一结构,RL 训练在早期阶段奖励几乎没有变化,然后经历一个快速提升阶段,最终趋于平稳。文献 [1] 的作者发现,这些饱和曲线能够稳健地建模实际 RL 训练过程,后续其他 RL Scaling 研究工作也验证并采用了这一结构。

通过对每次 RL 训练运行拟合这条曲线,可以比较不同训练设置所得到的结果。这些 Scaling 曲线可能在以下两个方面存在差异:

1. A 值不同,表明一种训练设置能实现更好的渐近性能。

2. B 值(或 C_mid)不同,意味着一种训练设置的算力效率更高。

然而,并非所有训练设置都能同时在 A 和 B 上取得提升。在这种情况下,文献 [1] 的作者将渐近性能的改善置于效率改善之上,认为提升模型渐近性能更有价值 —— 因为效率的降低可以通过延长训练时间来弥补。

应用 RL Scaling Law。文献 [1] 提出的 RL Scaling Law 允许在不承担全部算力成本的情况下外推训练运行的性能。我们可以利用训练的早期阶段来预测投入更多算力后的最终性能。Scaling Law 通过训练期间定期测量的验证集性能来拟合 [5],从而高效评估 RL 训练过程中不同变化的可 Scaling 性。

「我们提出了一套最佳实践方案 ScaleRL,并通过将其成功 Scaling 至 10 万 GPU 小时的单次 RL 训练运行并准确预测验证性能来验证其有效性。我们的工作既提供了分析 RL Scaling 的科学框架,也提供了一套实践方案,使 RL 训练更接近预训练领域长期以来的可预测性。」—— 来自 [1]

文献 [1] 的作者利用这种方法推导出了一套名为 ScaleRL 的最优训练方案。从一个基准设置出发,作者在规模逐渐扩大的多个阶段(4K、8K、16K 和 100K GPU 小时)测试了对 RL 训练过程的各种干预措施。在每个阶段,通过拟合 Scaling Law 来外推每种设置的性能,从而既能 i) 验证 Scaling Law 公式的准确性,又能 ii) 高效发现可 Scaling 的 RL 设计选择。

「我们提出了首个大规模系统性研究,耗时超过 40 万 GPU 小时,为分析和预测 LLM 中的 RL Scaling 定义了一套原则性框架。」 —— 来自 [1]

基准 RL 设置。文献 [1] 的 RL 实验主要使用 Polaris-53K 数学推理数据集。基准 RL 方案采用不含 KL 散度的 GRPO 损失,以及 DAPO [6] 中的 clip higher 策略。所有模型在给出最终输出前均生成推理轨迹。上下文长度为 16K token (其中 12K 为推理 token ,2K 为输入 token ,2K 为输出 token ),批次大小为 768(共 48 个提示,每个提示 16 次滚出)。

为了执行 12K token 的推理预算,训练时使用了中断机制。当推理轨迹达到 12K token 时,系统会在模型输出中添加一段静态推理终止短语 「Okay, time is up. Let me stop thinking and formulate a final answer. 」,使模型停止推理并开始生成最终答案。

打开网易新闻 查看精彩图片

(来源:[1])

从工程角度来看,作者采用了生成器 - 训练器分离的架构:一部分 GPU 运行优化后的推理引擎(如 vLLM)用于生成轨迹,其余 GPU 运行训练后端(如 FSDP)用于更新策略参数。为提高效率,还采用了异步 RL 训练方法,并考虑了两种算法:异步 PPO 和 PipelineRL [11]。如上图所示,两种方法的渐近性能 A 相当,但 PipelineRL 由于其最小化 GPU 空闲时间的设计原则(如在途权重更新),算力效率 B 显著更高。作者还发现,通过确保策略更新不超过 K 步先于生成的轨迹,对异步程度加以限制是非常重要的;在该设置下,K=8 被发现是最优值(见上图)。

消融 RL 改进方案。为在基准 RL 方案基础上进一步优化,作者进行了小规模 RL 实验(约 4-8K GPU 小时),测试各种 RL 设计选择的影响。首先将基准损失与 GSPO 和 CISPO 损失进行比较(见下图)。结果显示,GSPO 和 CISPO 在渐近性能方面均明显优于基准。CISPO 相对于 GSPO 还有轻微的算力效率提升,因此作者在文献 [1] 的后续实验中选用了 CISPO。

打开网易新闻 查看精彩图片

(来源:[1])

正如对 TIS 的介绍所述,使用不同引擎生成轨迹和计算策略更新,会导致训练与推理之间的对数概率出现不可忽视的不匹配。减少这种不匹配的一种方法是在 LLM 的语言模型头(即预测 token 概率的最后一个线性层)中使用全精度(float32)。

如上图所示,在训练和推理引擎中均使用全精度头,能显著改善渐近性能和算力效率。值得注意的是,作者在这里并未采用任何方法来纠正训练器与生成器之间的不匹配(如 TIS),而这类方法也可能有助于缓解该问题。

作者还测试了不同的损失聚合策略,包括原始 GRPO 聚合方式和 DAPO 风格的聚合方式,结果发现 DAPO [6] 提出的损失聚合方式往往表现最佳(见下图)。类似地,作者测试了几种优势归一化技术:分别是除以组内奖励标准差(原始 GRPO 方式)、除以整个批次奖励的标准差,以及不除以任何值(Dr. GRPO [7] 方式)。各技术性能相当,说明优势归一化对渐近性能的影响并不显著(见下图)。后续实验采用批次奖励标准差进行优势归一化,因为该方式在渐近性能上略有提升。

打开网易新闻 查看精彩图片

(来源:[1])

作者还发现了有益于 RL 渐近性能的数据筛选策略。组内奖励方差为零的提示对策略梯度没有贡献(优势为零)。从批次中过滤掉这类零方差提示能提升渐近性能(见下图)。值得注意的是,这种方法与 DAPO [6] 中的动态采样方法不同 —— 我们并不会继续采样直到批次填满,而是直接从批次中过滤掉零方差提示,形成一个更小的有效批次。这样做避免了将策略梯度平均到包含无梯度提示的完整批次上,从而防止梯度信号被稀释。

打开网易新闻 查看精彩图片

(来源:[1])

RL 训练中已有许多数据课程(curriculum)策略被提出,但文献 [1] 表明简单的方法往往也很有效。随着训练进行,被当前策略轻松解决的提示数量会增加,而这些提示在训练的其余时间里通常仍然很容易。如上图所示,动态地从训练过程中移除这些提示能改善渐近性能。具体做法是:维护每个提示的历史通过率,将通过率超过 90% 的提示永久移除。文献 [1] 将这种方法称为「不正样本重采样」(no positive resampling),以避免在模型已经能正确解决的提示上浪费算力。

打开网易新闻 查看精彩图片

(来源:[1])

ScaleRL 方案整合了上述小规模实验中识别出的所有最佳实践,使用如上图所示的损失公式。如前所述,ScaleRL 还采用了 PipelineRL 设置、推理强制中断机制以及全精度语言模型头。

打开网易新闻 查看精彩图片

(来源:[1])

为验证这一方案,作者进行了最多 16K GPU 小时的大规模实验,并通过逐一消融(leave-one-out)分析来确定各组件在与其他组件协同使用时是否仍有效果。将 sigmoidal Scaling 曲线拟合至 8K GPU 小时时,外推结果准确预测了 16K GPU 小时实验结束时的性能。完整 ScaleRL 方案在这些实验中表现最优(见上图)。虽然并非所有组件在逐一消融分析中都显著提升了性能,但作者认为这些设计选择仍有助于训练稳定性。

「即使单个设计选择在整合方案中看似冗余,它们通常也能从训练稳定性、鲁棒性或效率方面带来提升,并能推广到不同模型和设置。ScaleRL 保留这些组件,不仅仅是为了在特定配置中获得边际收益,更是因为它们解决了在不同 RL 场景中反复出现的不稳定性和方差问题。」—— 来自 [1]

规模扩大。基于文献 [1] 的分析,作者将 ScaleRL 训练运行 Scaling 至 10 万 GPU 小时,发现外推性能仍然与延长 RL 训练运行的实际性能相符(见下图)。在这次大规模实验之前,文献 [1] 还考虑了多种扩大 RL 训练规模的方法(如更长上下文、更大批次、更大模型等)。通过在这次 Scaling 运行中分析这些选项,我们得到了以下结论:

  • 文献 [1] 提出的 Scaling Law 也能准确外推专家混合模型的性能,表明其可推广到架构不同的更大模型。
  • RL 训练中使用更长的上下文窗口会在初期拖慢训练进度,但从长远来看能获得更高的渐近性能。
  • 增大批次规模能改善 RL 的渐近性能,并防止在下游基准测试上停滞不前。
  • 批次中提示数量与每个提示的滚出次数如何分配,影响相对较小 —— 关键在于总批次大小。

打开网易新闻 查看精彩图片

(来源:[1])

核心要点。文献 [1] 的实证分析非常全面,包含大量对 RL 从业者极其有价值的实践细节。有志于深入掌握 RL 训练实践的读者务必阅读完整论文。综合来看,[1] 中详尽的实证分析可以大致总结如下:

  • 生成器-训练器分离架构的异步 RL(即 PipelineRL)效率极高,能产出高性能模型 —— 前提是在训练过程中限制异步程度。
  • 所提出的 ScaleRL 训练方案整合了文献 [1] 中所有实验验证为有效的 GRPO 实践改进。
  • RL 的性能上限 A 可能受 RL 设置变化的影响(如损失类型或批次大小)。但许多常见的 RL 干预措施(如损失聚合、数据课程或优势归一化)更多影响的是算力效率 B,而非渐近性能。
  • 在小规模 RL 实验中表现更优的方法,未必能推广到大算力场景。然而,通过拟合 sigmoidal Scaling 曲线并从早期训练动态中估计 Scaling 参数 A 和 B,我们仍然可以识别出最具可 Scaling 性的方案。这一方法在文献 [1] 的分析中被频繁使用,以便在无需进行完整训练(即 1.6 万至 10 万 GPU 小时)的情况下评估 RL 方案的可 Scaling 性。

LLM RL 后训练的 Scaling 行为 [2]

打开网易新闻 查看精彩图片

(来源:[2])

文献 [2] 使用完整的 Qwen-2.5 模型系列(基础模型和指令微调模型,参数量从 0.5B 到 72B 不等)研究 RL 后训练的 Scaling 行为。与文献 [1] 类似,本文研究了模型规模、数据量和算力等因素对 RL 训练模型性能的影响。然而,该分析专门聚焦于数学推理领域,仅使用原始 GRPO 算法,并采用了不同的 Scaling 公式。从文献 [2] 的分析中,我们发现 RL 遵循测试损失与算力或数据之间可预测的幂律关系(见上图)。

Scaling 公式。文献 [2] 的 Scaling Law 公式拟合了测试损失(定义为同分布验证集上的错误率,即 error rate = 1 - accuracy)与算力或数据之间的关系。如下图所示,RL Scaling 行为用测试损失 L、模型规模 N 与资源预算 X 之间的对数线性幂律来建模。这里的资源预算既可以是 RL 训练消耗的算力 C,也可以是数据量 D。

打开网易新闻 查看精彩图片

核心 Scaling 公式(来源:[2])

在下图中,我们以对数 - 对数坐标和线性坐标分别绘制了这一幂律(以便更直观地解读图像),展示了不同学习效率值下的曲线形状(为简便起见,图中固定 E (N) = 1.0)。可以看出,随着资源预算 X 的增加,性能呈对数线性提升;学习效率 K (N) 越高,测试损失下降越陡。

打开网易新闻 查看精彩图片

不同学习效率下的 Scaling Law 图像

性能外推。不难发现,文献 [1] 的 Scaling 公式与之前介绍的预训练 Scaling Law 差异相当大。具体而言,文献 [1] 中的 Scaling 趋势只能将特定训练运行的结果外推到更高算力场景 —— 即预测如果继续 RL 训练更长时间会发生什么。相比之下,文献 [2] 中的幂律支持多种外推方式:

1.跨模型(inter-model):用较小模型(0.5B 至 32B 的 Qwen-2.5 模型)的训练结果拟合 Scaling Law,预测更大模型(Qwen-2.5-72B)的性能。

2.单模型(intra-model):用某一模型的早期训练轨迹拟合 Scaling Law,预测其后续训练的性能。

两种外推方式均在多个规模的基础模型和指令微调模型变体上得到验证,证明 RL 训练在模型规模 N、算力 C 和数据量 D 上均遵循可预测的 Scaling 趋势。文献 [2] 中的 Scaling 图表均同时给出了跨模型和单模型外推的结果。

关于学习效率的进一步讨论。在上述 Scaling 公式中,值得注意的是学习效率项依赖于 N—— 学习效率随模型规模呈饱和趋势增长。简而言之,这意味着 i) 更大的模型具有更高的学习效率,但 ii) 随着模型规模增大,边际效率增益开始递减。如下图所示,该公式与实证观测相吻合。在实践中,学习效率遵循饱和 S 形曲线 —— 结构上类似于文献 [1] 提出的 Scaling Law 公式 [6]—— 在最大学习效率 K_max 处趋于饱和。

打开网易新闻 查看精彩图片

(来源:[2])

实验设置。文献 [2] 的所有实验均使用原始 GRPO(含 KL 散度项)和 verl 训练框架。Scaling Law 在 60 余个模型的实验结果上进行实证拟合和验证,包括 Qwen-2.5 系列从 0.5B 到 72B 参数的基础模型和指令微调变体。模型系列保持一致,以确保只有参数量 N 和数据量 D 在变化。RL 训练使用的是从 guru-RL-92K 数学子集中取出的 5 万条样本,该数据集进行了严格的去重和难度筛选。此外,文献 [2] 的作者还按照 Qwen2.5-7B-Instruct 的通过率对问题按难度递增排序,在 RL 训练过程中形成难度递增的数据课程。按照拟合 Scaling Law 的标准做法,测试损失在从训练分布中采样的 500 道留出题目的同分布数据集上计算。

算力受限场景。文献 [2] 的幂律公式可以用于分析固定算力预算下的 Scaling 行为。给定算力预算 C,我们希望找到最小化测试损失的最优模型规模 N。文献 [2] 通过累计训练 FLOPs 估算算力预算:C = 6 × N × T,其中 T 是训练期间处理的 token 数(T 由固定的 C 和 N 值推导得出,与数据量 D 相关,但 D 衡量数据样本数,T 衡量总 token 量)。通过使用不同模型规模和算力预算进行 RL 训练并拟合 Scaling Law,可以研究算力 C 与模型规模 N 之间的关系(见下图)。

打开网易新闻 查看精彩图片

(来源:[2])

从这些图中,可以观察到文献 [2] 提出的 Scaling Law 在跨模型(上图)和单模型(下图)外推方面的结果。对于较小模型(0.5B 至 32B 参数),在固定算力预算下,使用最大的模型通常能获得最佳性能。但较大模型(32B 和 72B 参数)违反了这一趋势:32B 模型在较低算力预算下表现更优,但随着算力增加,会出现一个交叉点,此后 72B 模型表现更好。

「与较小参数范围内更大模型立即占优的情况相比,32B 模型在相同算力预算下初期优于 72B 模型,因为较小的模型规模本质上允许更多的训练步数。我们认为,这一观察揭示了算力受限场景下模型规模与训练步数之间潜在的权衡关系。」—— 来自 [2]

这一交叉现象的根源在于,大型模型的学习效率 k (N) 会趋于饱和。在固定算力预算 C 下,较小的模型可以运行更多训练步数。因此,要使更大的模型超越较小模型,必须具有显著更高的学习效率。从上述 Scaling 分析可以看到,这一点在 72B 规模之前都成立,但到 72B 时效率增益开始饱和,32B 模型在算力紧张的情况下反而能超越更大模型。

数据最优 Scaling。由于 LLM 训练通常受高质量数据可用性的限制,我们还希望了解在固定数据预算 D 下 RL 训练的最优模型规模 [7]。为此,可以用不同模型规模 N 和数据预算 D 训练模型,然后拟合 Scaling Law(其中数据作为资源预算,即 X = D)(见下图)。该分析的结论很简单:在固定数据量下,更大的模型表现出更高的样本效率,并能持续达到更低的测试损失。同样可以看出,Scaling Law 在所有考察场景中都能准确外推性能。

打开网易新闻 查看精彩图片

(来源:[2])

如果移除数据和算力约束(即在足够大的数据集上将模型训练至收敛),测试损失随模型规模单调递减 —— 在数据和算力充足的情况下,更大的模型就是更好的模型。然而,这一趋势不遵循幂律(见下图)。较小模型表现出更弱的增益,说明将较小模型训练至收敛存在收益递减的问题。

打开网易新闻 查看精彩图片

(来源:[2])

数据复用。除 Scaling 分析外,文献 [2] 的作者还测试了训练时重复使用数据是否会带来问题。这些实验固定了总数据预算 D_total,但变化独特数据样本数,使得 D_total = τ × D_unique,其中 τ 是数据复用系数。如下图所示,文献 [2] 表明性能主要由 D_total 决定,而非 D_unique。事实上,测试损失对 τ 相对不敏感,在复用系数较大(即 τ = 25)之前并没有显著的性能下降。

打开网易新闻 查看精彩图片

不过,这些实验中并非随机采样独特数据。为确保数据子集有足够的多样性,作者将训练集按难度分区,并在不同规模的子集中保持数据难度分布的一致性。同时,通过按难度对数据进行排序来维持相同的数据课程。RL 训练对数据复用的鲁棒性,很可能依赖于独特样本的多样性、质量和难度。

LLM RL 采样算力的最优 Scaling [3]

打开网易新闻 查看精彩图片

(来源:[3])

Scaling Law 可以从多个角度应用于 RL 训练。我们已经看到,RL 过程中的性能遵循 sigmoid 轨迹 [1],并在固定算力预算下随模型规模呈可预测的 Scaling 规律 [2]。

然而,这些结果虽然具有参考价值,但并未像预训练 Scaling Law 那样直接给出如何在实践中分配固定算力预算的具体建议。

受此启发,文献 [3] 的作者对 RL 的最优算力分配进行了规定性分析。具体而言,[3] 的分析聚焦于如何最优地分配采样算力 —— 即生成在线策略 RL 完成序列所消耗的算力。

「我们研究了 LLM 在线策略 RL 方法中采样算力的算力最优分配问题,将 Scaling 建模为对三种资源的算力受限优化:每个问题的并行滚出数、每个批次的问题数以及更新步数。」 —— 来自 [3]

采样算力。RL 中算力与性能之间的关系,相比预训练更为复杂。预训练和 RL 都涉及一系列训练步(或模型更新步)。在每个预训练步中,执行一次前向传播和一次反向传播。而 RL 训练步则包含多个组成部分:

  • 数据收集:从当前策略中采样完成序列。
  • 优化:在收集的数据上更新策略。

据此,可以将 RL 训练运行的总算力建模为 C = B_p × n × M,其中 B_p 是每批次的独特提示数,n 是每个提示生成的滚出数,M 是 RL 训练的步数。文献 [3] 的分析主要关注采样完成序列的算力(B_p 和 n),而非顺序训练步数(M)。

采样 Scaling Law。给定上述 RL 算力足迹,我们的目标是更好地理解在固定算力预算 C_0 下,将预算分配到 B_p、n 和 M 三个因素如何影响模型性能。文献 [3] 中的 Scaling 分析通过网格搜索(以对数刻度均匀采样)来扫描 B_p ∈ {2^5, 2^6, …, 2^10} 和 n ∈ {2^3, 2^4, …, 2^11} 的设置,同时由于硬件限制,还对最大有效批次大小(B_p × n ≤ B_max)进行了约束。

对于给定的 (B_p, n) 设置,可以进行单次 RL 训练运行,以捕捉训练过程中 M 不断增大的情况。按照 Scaling Law 的最佳实践,模型性能在训练期间通过在同分布验证集上测量奖励来评估。训练运行的评估结果被降采样为仅包含「破纪录」点 —— 即奖励曲线上超过所有历史奖励的点 —— 沿学习轨迹分布(见下图)。通过只在建模 RL 训练运行时考虑破纪录点,我们将 Scaling Law 拟合到该次运行奖励轨迹的前沿。

打开网易新闻 查看精彩图片

(来源:[3])

为了稳健地识别奖励轨迹中的破纪录点,奖励被分入离散区间,每个奖励首次进入新区间的点即被选为破纪录点。一旦清洗后的奖励轨迹可用,就用 sigmoid Scaling Law 对该单次训练运行进行建模 —— 类似于文献 [1] 中使用的 Scaling Law 公式。这样就得到了一组针对不同 B_p 和 n 设置的 RL 训练曲线 Scaling Law,从而可以从特定运行的曲线中识别出每个算力水平下的最优配置。

在这些针对单次运行的 Scaling Law 基础上,还可以对每个算力水平下识别出的最优设置拟合一个 Scaling Law。具体而言,可以用类似的 sigmoid Scaling Law 来建模最优 n 值随算力预算 C 的变化规律,从而外推更高算力预算下的最优训练设置。理论上,同样的方法也可用于 B_p,但在实践中 B_p 的最优值并未呈现出明显规律。

实验设置。上述 Scaling 分析以 Qwen2.5-7B-Instruct、Qwen3-4B-Instruct 和 Llama3.1-8B-Instruct 为基础模型进行。所有 RL 训练运行均使用二元结果奖励和原始 GRPO 优化器。Guru-Math 作为主要数据集,通过评估基础模型在 16 次滚出上的准确率(即 Avg@16)将其划分为简单和困难子集(见下图,蓝色和橙色分别对应简单和困难子集)。文献 [3] 分别在简单和困难数据子集上进行实证 Scaling 分析,以观察难度分布对 Scaling 趋势的影响。

打开网易新闻 查看精彩图片

(来源:[3])

为使 RL 训练稳定,需要合适的正则化策略。有趣的是,文献 [3] 发现最优的正则化方案与问题难度有关。作者考虑在 RL 训练目标中同时加入 KL 散度和熵奖励。对于简单问题,熵奖励有助于防止策略过早出现熵崩溃。然而,对难题使用熵奖励实际上可能引发熵爆炸 —— 因为会推动策略朝向罕见但成功的推理轨迹,因此最好完全去掉正则化。如下图所示,以下正则化策略被发现能产生最稳定的结果 [8]:

  • 训练简单数据集时,同时应用熵奖励和 KL 散度(后者有助于延迟熵爆炸)。
  • 训练困难数据集时,不使用任何正则化。

打开网易新闻 查看精彩图片

(来源:[3])

除了随难度调整正则化策略外,学习率还必须随批次大小的增大而提高,以确保训练稳定。具体而言,文献 [3] 对学习率使用了平方根缩放规则,即学习率与批次大小的平方根成比例增大(见下图)。

打开网易新闻 查看精彩图片

(来源:[3])

如何分配算力? 文献 [3] Scaling 分析的主要结论聚焦于每个提示应采样的滚出数 n。随着算力预算增加,最优 n 值也随之增大,并最终在较高算力预算下趋于饱和(见下图)。换句话说,将增加的算力用于为每个提示采样更多滚出,比单纯延长训练时间效果更好。有趣的是,确切的 Scaling Law 还取决于问题难度 —— 在较难数据集上训练时,最优 n 值较小。

打开网易新闻 查看精彩图片

(来源:[3])

这一趋势在所有基础模型和简单、困难训练数据集上均成立。直观上,增大 n 对不同难度问题的影响有所不同:

  • 对简单问题采样更多滚出,可以提升已可解问题的性能(即改善 Avg@K),并通过降低错误滚出的概率来提高策略的鲁棒性。
  • 增加滚出数能增强探索能力,进而有助于发现困难问题的罕见解法,提升策略能够解决的问题比例(即 Pass@K)。

有趣的是,B_p 在保持在合理范围内时,对性能的影响只是适中的,主要影响的是训练稳定性。

尽管最优 n 值随算力增加而 Scaling,但这一 Scaling Law 的确切形状 —— 以及其饱和的位置 —— 会因具体训练设置而变化。因此,虽然 Scaling 趋势在不同设置下均成立,但确切的 Scaling 参数仍需针对特定的 RL 训练设置进行拟合。在实践层面,文献 [3] 的作者建议采用以下方法确定最优算力分配:

1. 在较低算力预算下通过改变 B_p 和 n 的值(同时限制 M 的值)运行 RL 训练。

2. 用上述方法对这些结果拟合 Scaling Law。

3. 从 Scaling Law 中推断 n 的最优值。

4. 选择能保证训练稳定的最小 B_p 值。

5. 将剩余算力预算投入额外的训练步数 M。

这一方法为我们提供了一套可预测的流程,可以从低算力实验中外推 RL 的最优算力分配。

对比 RL 与预训练 Scaling Law

至此,我们已经深入理解了预训练和 RL 各自的 Scaling Law。然而,本文的一个核心发现是:这两个领域中的「Scaling Law」是截然不同的概念。

最后,我们将简要讨论两者之间的主要差异,解释这些差异存在的原因,并梳理 RL Scaling 研究中的核心要点 —— 尽管 RL 整体上仍较为混乱,这些要点依然具有参考价值。

衡量性能。预训练 Scaling Law 预测的是一个特定指标:在同分布留出验证集上测量的交叉熵损失(或其他相关熵指标)。这一性能指标稳定,通常在大规模多样化数据集(即预训练语料库的随机子集)上计算。这种稳定、多样且具体的指标,是拟合 Scaling Law 的理想 Y 轴,让我们能够清晰地定义特定设计决策对模型的影响。RL Scaling Law 也尝试保持这种稳健性,比如同样在同分布验证集上计算性能。然而,RL Scaling Law 通常使用策略的奖励(或准确率)[9] 作为拟合 Scaling Law 的基础指标。这是一个下游性能指标,会随研究领域、所用基准和该基准数据构成的不同而大幅波动。因此,RL 的 Scaling Law 相对于预训练往往更加嘈杂,且更具领域特异性 —— 而预训练 Scaling Law 捕捉的是更具普适性的模型性能趋势。

定义算力。预训练具有非常清晰的算力占用,通常通过训练 FLOPs 数估算:C = 6 × N × D。这一干净的算力定义为 Scaling Law 提供了明确的 X 轴。相比之下,RL 的算力由于同时包含采样和策略更新两个环节,难以精确定义。不同论文中用于 RL Scaling Law 的算力定义可能不同:有些论文类似预训练推导 FLOP 量级的指标 [3],另一些则依赖所用 GPU 小时数 [1]。此外,RL 训练的墙钟时间因所用框架而存在较大差异,这意味着 GPU 小时与原始算力之间的对应关系并不固定。在为 RL 拟合 Scaling Law 时,必须考虑上述因素 —— 正是这些因素,导致 Scaling Law 的细节会随使用的具体设置而改变。

跨模型与单模型外推。预训练 Scaling Law 通过拟合大量不同设置训练运行的性能趋势,来理解模型大小、数据量和算力对训练结果的影响,从而精准外推高成本训练运行的结果,并据此推断最优算力分配。在 RL 中,实际上存在两种 Scaling Law,用于以不同方式外推性能(即跨模型和单模型外推)。跨模型外推是预训练 Scaling Law 的核心关注点,而单模型外推通常不在其讨论范围内。RL 之所以需要单模型外推,主要原因在于训练过程的敏感性:除了理解跨模型趋势外,我们还需要预测特定训练配置是否可行。

缺乏标准化。RL 算法的设计空间相当庞大:相比预训练,需要调整的「旋钮」要多得多。此外,我们对哪些设计决策会对 RL 的 Scaling 特性产生实质影响,目前尚缺乏全面理解。尽管已有数篇论文研究了设计决策对 RL Scaling 的影响,这些论文的发现 —— 虽然具有参考价值 —— 也无法回避一个根本问题:RL 的 Scaling 趋势与所使用的具体训练设置密切相关。RL 配置上的细微变化就可能使观察到的 Scaling 趋势发生根本性变化。因此,大多数 RL Scaling Law 都是定制化的 —— 某一特定分析给出的建议,可能在另一个环境中并不适用。结果是,相关发现难以复现或推广,从而拖慢了该领域的科学进展。

实践要点。尽管 RL Scaling Law 往往混乱且缺乏普适性,我们仍能从本文综述的论文中提炼出若干有价值的趋势:

  • RL 的 Scaling 行为在特定设置内是可预测的。单模型外推效果良好,可用于在训练早期判断设置的可行性;跨模型外推同样有效,能提供有价值的洞见,尽管这些洞见未必能跨越不同训练配置进行迁移。
  • 设计决策对 RL 的影响并非单一维度。有些决策影响学习效率,另一些则影响模型的渐近性能。这一区别很重要:学习效率的下降可以通过延长训练时间来弥补,而渐近性能的下降可能无法轻易恢复。有趣的是,许多近期的 GRPO 变体似乎主要有益于学习效率和稳定性 [1]。
  • 使用更大的模型在我们所见的 RL Scaling Law 中始终带来正面结果,尽管算力约束可能产生有趣的权衡。在数据或算力较少的情况下,使用较小模型反而可能有利,因为学习效率随模型规模增大而饱和。
  • 要在 RL 中投入更多算力,可以 i) 进行更多训练步,或 ii) 在每步使用更多推理算力。有趣的是,尽管 RL 的算力开销主要由推理主导,大多数 Scaling Law 仍表明,将更多算力分配于采样完成序列是有益的。RL 训练对数据复用具有令人惊讶的鲁棒性,受益于大批次规模,并且随着批次中每个提示采样的完成序列数增加,能够以可预测的方式 Scaling。

参考文献

[1] Khatri, Devvrit, et al. 「The art of scaling reinforcement learning compute for llms.」 arXiv preprint arXiv:2510.13786 (2025).

[2] Tan, Zelin, et al. 「Scaling behaviors of llm reinforcement learning post-training: An empirical study in mathematical reasoning.」 arXiv preprint arXiv:2509.25300 (2025).

[3] Cheng, Zhoujun, et al. 「IsoCompute Playbook: Optimally Scaling Sampling Compute for LLM RL.」 arXiv preprint arXiv:2603.12151 (2026).

[4] Shao, Zhihong, et al. 「Deepseekmath: Pushing the limits of mathematical reasoning in open language models.」 arXiv preprint arXiv:2402.03300 (2024).

[5] Zheng, Chujie, et al. 「Group sequence policy optimization.」 arXiv preprint arXiv:2507.18071 (2025).

[6] Yu, Qiying, et al. 「Dapo: An open-source llm reinforcement learning system at scale, 2025.」 URL https://arxiv.org/abs/2503.14476 1 (2025): 2.

[7] Liu, Zichen, et al. 「Understanding r1-zero-like training: A critical perspective.」 arXiv preprint arXiv:2503.20783 (2025).

[8] Chen, Aili, et al. 「Minimax-m1: Scaling test-time compute efficiently with lightning attention.」 arXiv preprint arXiv:2506.13585 (2025).

[9] F. Yao, L. Liu, D. Zhang, C. Dong, J. Shang, and J. Gao. Your efficient rl framework secretly brings you off-policy rl training, Aug. 2025. URL https://fengyao.notion.site/off-policy-rl.

[10] Chen, Aili, et al. 「Minimax-m1: Scaling test-time compute efficiently with lightning attention.」 arXiv preprint arXiv:2506.13585 (2025).

[11] Piché, Alexandre, et al. 「Pipelinerl: Faster on-policy reinforcement learning for long sequence generation.」 arXiv preprint arXiv:2509.19128 (2025).

[12] Shao, Zhihong, et al. 「Deepseekmath: Pushing the limits of mathematical reasoning in open language models.」 arXiv preprint arXiv:2402.03300 (2024).

[13] Kaplan, Jared, et al. 「Scaling laws for neural language models.」 arXiv preprint arXiv:2001.08361 (2020).

[14] Hoffmann, Jordan, et al. 「Training compute-optimal large language models.」 arXiv preprint arXiv:2203.15556 10 (2022).

[15] Guo, Daya, et al. 「Deepseek-r1: Incentivizing reasoning capability in llms via reinforcement learning.」 arXiv preprint arXiv:2501.12948 (2025).