Open-Reasoner-Zero 深度探索

胡荆澄 (Jingcheng Hu) 与我的团队 (StepFun & 清华大学) 为您呈现

🚀 引言:我的开源“慢思考”探索之旅

大家好,我是荆澄。今天,我想和大家分享一段激动人心的旅程——我们如何从零开始,构建并开源了一个名为 Open-Reasoner-Zero (ORZ) 的项目[1]。这不仅仅是一个技术报告,更像是我和团队在人工智能推理领域的一次探险日记,充满了失败的挫败感和突破时的狂喜。

我们一直被一个朴素但深刻的理念所吸引,这个理念由AI先驱理查德·萨顿(Richard Sutton)在其文章《苦涩的教训》中提出:长远来看,真正重要的不是算法设计的精巧,而是那些能够随着计算和数据规模的扩大而持续提升性能的方法[1]。近年来,像OpenAI的o1和DeepSeek的R1-Zero等项目,向我们展示了大规模强化学习在提升模型推理能力上的巨大潜力,它们的性能和回答长度似乎能无止境地增长[1]。

这让我和我的团队思考:我们能否创造一个简单、可扩展、易于复现的配方,让任何拥有一定计算资源的研究者都能参与到这场AI推理能力的革命中来?我们不想让这项技术成为少数巨头的专属“魔法”,而是希望将其民主化。

于是,ORZ诞生了。我们的核心思想非常直接:直接在一个“原生”的大语言模型(我们称之为“基础模型”)上,运用强化学习进行训练,我们把这个过程称作 “Reasoner-Zero”训练[1]。这就像教一个聪明但未经世事的孩子学习解决复杂问题。我们不给他太多预设的条条框框(比如复杂的指令微调),而是给他一个明确的目标(答对问题),然后在他努力思考、尝试的过程中给予奖励,让他自己“悟”出解决问题的方法。

在这篇分享中,我将带大家深入了解我们的“配方”到底有多么“极简”,以及这些看似简单的设计选择背后,蕴含着怎样的考量。我们将一起探索那些让模型“开窍”的关键时刻,并用一些生动的动画和生活中的例子,来揭示这些复杂技术背后的直观原理。准备好了吗?让我们一起踏上这场探索AI心智的奇妙旅程吧!

✨ 核心发现:五个让模型学会思考的关键

在无数次的实验和调试中,我们总结出了五个关键的发现。它们构成了ORZ成功的基石。接下来,我将逐一为大家揭晓,并用交互式动画来模拟这些核心思想。

发现一:大道至简 —— 普通PPO算法就足够了

在强化学习的武库中,有各种各样花哨的算法。但我们发现,最经典、最基础的近端策略优化(PPO)算法,只要稍加调校,就足以支撑起大规模的推理训练[1]。我们不需要任何复杂的正则化项或额外的约束。

生活化类比 🛹: 这就像学习滑板。PPO好比是一位谨慎的教练。他鼓励你(策略更新)尝试新动作(新token),但同时会有一个“安全范围”(裁剪函数clip),防止你一下子步子迈得太大而摔倒(策略崩溃)。我们的发现是,只要教练的目标明确(奖励函数),并且给予足够的练习时间(训练步数),即使是最基本的教学方法也能培养出滑板高手,不需要那些昂贵的护具或复杂的训练器械。

状态:等待开始

发现二:黑白分明 —— 极简的奖励函数

我们如何告诉模型“你做得对”?我们采取了最直接的方式:一个基于规则的二元奖励函数。如果最终答案正确,奖励为1;否则为0。没有中间地带,没有过程分[1]。

生活化类比 🎯: 想象一下在游乐场玩投篮游戏。篮筐上只有一个传感器:球进了,得分灯亮(奖励=1);没进,什么也不发生(奖励=0)。我们不关心你投篮的姿势是否优美,篮球的旋转是否标准。这种“结果导向”的奖励机制,可以有效避免模型为了获得过程分而“耍小聪明”,比如生成看似合理但答案错误的“废话文学”,我们称之为“奖励骇客”(reward hacking)。

正确答案数量: 0

发现三:放手去飞 —— 无需KL散度约束

在传统的强化学习微调(RLHF)中,通常会使用KL散度作为一项损失或奖励惩罚,来防止模型偏离其原始版本太远。但我们惊奇地发现,对于推理任务,完全去掉KL约束,训练过程不仅稳定,而且效果更好[1]。

生活化类比 🎨: 这就像一位画家在学习新的画风。KL约束好比是要求他每画一笔,都要回头和自己最初的素描草稿(基础模型)比较一下,不能画得太不像。去掉KL约束,就等于告诉他:“忘掉草稿,大胆地去探索和创造吧!” 事实证明,在推理这个需要深度和创造性思考的领域,给予模型更大的自由度,能让它更快地探索到通往正确答案的路径。

当前状态: 自由探索 (无KL约束)

发现四:多多益善 —— 数据规模决定上限

我们的实验有力地证明了“数据为王”的道理。模型的性能与训练数据的数量、多样性和质量直接相关[1]。当我们从几千个样本的学术数据集(如MATH)扩展到我们精心整理的、包含近13万个样本的多样化数据集时,模型的性能得到了持续且显著的提升,没有出现瓶颈。

生活化类比 📚: 一个学生如果只做一本练习册(小规模、单一数据集),他可能会成为这个领域的解题高手,但遇到新题型就束手无策。而如果他博览群书,做了来自各种来源、各种难度的习题(大规模、多样化数据集),他的综合解题能力和知识迁移能力就会变得非常强大。我们的ORZ模型就是那个“博览群书”的学生。

发现五:灵光一闪 —— 性能的“涌现”时刻

在训练过程中,我们观察到了一个非常有趣的现象。模型的性能和回答长度并不是平滑线性增长的,而是在某个时间点会突然发生“阶跃式”的暴涨[1]。我们称之为“Aha Moment”或“涌现时刻”。

生活化类比 💡: 这就像我们学习一项新技能,比如骑自行车或解一道复杂的谜题。我们可能会在很长一段时间里停滞不前,感觉毫无进展。但突然在某一刻,大脑中的某个念头像被接通了一样,“咔嚓”一下,豁然开朗,从此就掌握了这项技能。模型在训练中似乎也经历了类似的过程,通过大量的“思考”和“尝试”,它内部的某些神经通路被激活或重组,从而实现了推理能力的跃迁。

训练步数: 0

🛠️ 技术细节:深入算法与公式的核心

现在,让我们戴上工程师的帽子,深入探索ORZ背后的数学和算法细节。表面上的“极简”设计,其实是建立在对强化学习理论深刻理解和大量实验验证之上的。

PPO (近端策略优化) 的心跳

我们使用的PPO算法,其核心目标函数可以写成这样:

$$ J^{PPO}(\theta) = \mathbb{E}_{t} \left[ \min \left( r_t(\theta) \hat{A}_t, \text{clip}(r_t(\theta), 1 - \epsilon, 1 + \epsilon) \hat{A}_t \right) \right] $$

这个公式看起来很复杂,但我们可以把它拆解成几个有趣的部分:

  • $r_t(\theta) = \frac{\pi_{\theta}(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)}$: 这叫做策略比率。它衡量的是我们的新策略(由参数 $\theta$ 决定)在某个状态 $s_t$ 下选择动作 $a_t$ 的概率,与旧策略(更新前的策略)相比有多大的变化。例子: 如果你以前遇到难题总是先猜答案(旧策略),现在学会了先列草稿(新策略),那么对于“列草稿”这个动作,$r_t(\theta)$ 就会大于1。
  • $\hat{A}_t$: 这是优势函数 (Advantage Function) 的估计值。它告诉我们,在状态 $s_t$ 下选择动作 $a_t$ 到底比平均水平好多少。如果是正的,说明这是个好动作,我们应该增加选择它的概率;如果是负的,就应该减少。我们稍后会详细讲它。
  • $\text{clip}(...)$: 这是PPO的“裁剪”精髓。它把策略比率 $r_t(\theta)$ 限制在一个小区间 $[1-\epsilon, 1+\epsilon]$ 内(比如 $\epsilon=0.2$)。例子: 这就像给你的学习进度设置一个“保险杠”。即使你觉得新方法超级棒($r_t(\theta)$ 很大),系统也只允许你比之前进步一点点(裁剪到 $1+\epsilon$)。这可以防止你因为一次偶然的成功而变得过于激进,从而导致整体表现不稳定。
  • $\min(...)$: 最后,我们在原始目标和裁剪后的目标之间取一个最小值。这确保了即使优势函数 $\hat{A}_t$ 是负的(即这是一个“坏”动作),我们也不会因为过度惩罚而让策略更新得太快。

优势估计的艺术:GAE 与我们的特殊选择

优势函数 $\hat{A}_t$ 的计算至关重要。我们使用了广义优势估计 (Generalized Advantage Estimation, GAE)

$$ \hat{A}_t^{GAE(\gamma, \lambda)} = \sum_{l=0}^{\infty} (\gamma\lambda)^l \delta_{t+l} \quad \text{其中} \quad \delta_t = r_t + \gamma V(s_{t+1}) - V(s_t) $$

这里有几个关键参数:

  • $V(s_t)$: 价值函数,评估当前状态 $s_t$ 有多好,可以理解为“从当前局面出发,预计最终能得多少分”。
  • $\delta_t$: 时序差分误差 (TD Error)。它衡量了我们的价值函数预测得准不准。例子: 你在下棋,心想“这步棋走完,我赢定了”($V(s_t)$ 很高)。结果对手一步妙招,你发现局势急转直下($r_t + \gamma V(s_{t+1})$ 很低)。这个巨大的心理落差就是 $\delta_t$。
  • $\gamma$ (gamma): 折扣因子,通常小于1,表示未来的奖励不如眼前的奖励重要。
  • $\lambda$ (lambda): GAE的核心参数,用于在“无偏”(高方差)和“有偏”(低方差)的估计之间做权衡。

我们最大胆、也最关键的发现之一是,在推理任务中,最佳参数组合是 $\gamma=1$ 和 $\lambda=1$[1]。

为什么这个选择如此特别?🤔

设置 $\gamma=1$ 意味着我们不折扣未来的奖励。对于数学题这类任务,只有最终答案正确才有意义,中间步骤的价值几乎为零。所以,每一步的努力都应该平等地指向最终的胜利,不分远近。

设置 $\lambda=1$ 意味着GAE退化为简单的蒙特卡洛估计。每个时间步的优势函数 $\hat{A}_t$ 就等于从此刻到结尾的所有奖励之和,减去一个基线 $V(s_t)$。这等于在告诉模型:“别想太复杂,你当前这步棋(以及之后的所有棋)的价值,就等于这盘棋最终是赢是输。” 这种简单直接的信号,对于长链条的推理任务非常有效。

训练流程:Annealing阶段的画龙点睛

对于我们最大的32B模型,我们在常规训练后增加了一个特殊的“退火”(annealing)阶段[1]。我们从完整的训练数据中,筛选出模型最不擅长的约13,000个“硬骨头”问题。然后,我们用这些难题对模型进行最后的“冲刺训练”,同时线性降低学习率。

生活化类比 ✍️: 这就像一个考生在高考前的最后冲刺阶段。他不再是漫无目的地刷题,而是拿出自己的“错题本”(困难样本),对自己最薄弱的知识点进行集中攻克。这种针对性的强化训练,能极大地提升在难题上的表现,可谓是画龙点睛之笔。

📊 实验结果:数据会说话

理论说得再好,最终还是要靠实验结果来验证。我们在一系列公认的数学和推理基准测试上评估了我们的模型,结果令人振奋。

性能与训练步数的关系

下图展示了我们的ORZ模型(包括7B和32B版本)与DeepSeek-R1-Zero在几个关键基准上的性能对比。可以看到,我们的ORZ-32B模型在AIME2024、MATH500和GPQA Diamond上都取得了更优的成绩,而所需的训练步数仅为DeepSeek方案的十分之一[1]!这充分证明了我们“极简”方法的超高效率。

规模扩展的魅力:模型越大,思考越深

我们还观察到了清晰的“规模效应”(Scaling Law)。随着模型参数从0.5B增加到32B,训练奖励和平均回答长度都稳步增长。这表明我们的训练方法具有良好的可扩展性[1]。有趣的是,32B模型的回答长度在训练中出现了一些波动,但这并没有影响训练的稳定性,反而显示了我们方法的鲁棒性。

💖 结论:我们正处在一个新时代的开端

回顾这段Open-Reasoner-Zero的旅程,我内心充满了激动和自豪。我们证明了,通过一个开源、简单、可扩展的强化学习框架,我们可以有效地激发基础大语言模型强大的推理潜能[1]。

我们的工作传递了一个核心信息:大道至简,规模为王。不需要复杂的算法设计,也不需要高深的奖励工程,一个朴素的PPO算法,配上清晰的奖励信号和足够规模的数据,就足以撬动AI推理能力的地球。这再次印证了《苦涩的教训》中的智慧。

通过开源我们的全部代码、数据、模型权重和经验教训,我们希望能抛砖引玉,邀请全球的研究者、开发者和爱好者们,一同加入到这场激动人心的探索中来。我们相信,AI的发展不应仅仅是少数人的盛宴,而应是全人类智慧的结晶。我们正处在一个新扩展定律(scaling trend)的黎明,未来的可能性无边无际。

接下来,我们计划在数据、模型、测试时计算和应用场景这四个维度上继续“扩展”下去。旅程才刚刚开始,我们对未来充满了期待。感谢大家的聆听!