基于基础模型扩展强化学习的开源方案
我们推出Open-Reasoner-Zero,这是首个专注于可扩展性、简洁性和易用性的大规模推理导向强化学习训练开源实现。 采用与DeepSeek-R1-Zero-Qwen-32B相同的基础模型,我们的实现不仅在AIME2024、MATH500和GPQA Diamond基准测试中取得了更优性能,还展现出卓越的效率——与DeepSeek-R1-Zero训练流程相比,仅需十分之一的训练步数。
为了让更多人参与到我们所见证的这一关键时刻,并加速通用人工智能(AGI)的研究进程, 我们公开源代码、参数设置、训练数据及模型权重。 更多不同模型规模的深入见解,请参考我们的论文。
让Reasoner-Zero的浪潮涌动起来!

图1 | Open-Reasoner-Zero-{7B, 32B}的评估性能。训练过程中,Open-Reasoner-Zero-{7B, 32B}在各基准测试上的评估性能(取16次响应的平均值)。使用与DeepSeek-R1-Zero-Qwen-32B相同的基础模型,Open-Reasoner-Zero-32B在AIME2024、MATH500和GPQA Diamond基准测试中实现了更优性能,且仅需十分之一的训练步数。
图2 | Open-Reasoner-Zero(ORZ)-{0.5B, 1.5B, 7B, 32B}在训练奖励和响应长度上的训练时扩展情况。训练奖励和响应长度稳步提升,表明跨模型规模的一致可扩展性。有趣的是,ORZ-32B的响应长度虽有波动,但并未对训练稳定性造成负面影响,凸显了我们极简方案的稳健性。
[2025/03/31]
我们宣布 Open-Reasoner-Zero 迎来重大里程碑:
Open-Reasoner-Zero-7B 和 Open-Reasoner-Zero-32B。Open-Reasoner-Zero-1.5B 和 Open-Reasoner-Zero-0.5B。Open-Reasoner-Zero-Critic-{0.5B, 1.5B, 7B, 32B}。[2025/02/18]
我们正式发布 Open-Reasoner-Zero。
本次发布包含以下开源内容:
Open-Reasoner-Zero-7B 和 Open-Reasoner-Zero-32B我们在data文件夹中发布了所有精心整理的高质量训练数据:
数据收集的详细方法在我们的论文中有描述。
我们在docker文件夹中提供了Dockerfile,以确保训练的可复现性。
如需安装软件包,请运行:
pip install -e .以下是在 16 个节点上的启动命令。
首先在主节点上运行:
ray start --head
# you will see logging like:
# Next steps
# To add another node to this Ray cluster, run
# ray start --address='<master-node-ip>:<master-node-port>'然后在所有其他节点上,运行:
ray start --address='<master-node-ip>:<master-node-port>' # <master-node-ip> and <master-node-port> are from above loggings!最后在主节点上,运行以下命令即可:
python -m playground.orz_32b_ppo训练日志将显示在主节点终端中。
您可以在单个 A800/H800 节点中启动 ORZ-0.5B PPO 训练:
python -m playground.orz_0p5b_ppo您甚至可以在单张 A800/H800 GPU 上运行:
python -m playground.orz_0p5b_ppo_1gpu注意:由于我们未处于多节点环境,因此不需要类似 ray start 的逻辑。
4 节点多节点训练:
# set up for multi-node training
ray start --head # on master node
ray start --address='<master-node-ip>:<master-node-port>' # then on other nodes
# then on master node, run:
python -m playground.orz_7b_ppo您的训练日志将显示在主节点终端中。
在 2 个节点上进行多节点训练:
# set up for multi-node training
ray start --head # on master node
ray start --address='<master-node-ip>:<master-node-port>' # then on other nodes
# then on master node, run:
python -m playground.orz_1p5b_ppo在代码中,我们预留了环境变量 DEBUG_MODE,以便研究人员在调试模式下运行代码进行迭代。(不过目前,我们建议使用 python -m playground.orz_0p5b_ppo_1gpu 进行调试。)
调试运行命令示例:
# NOTE: just for debug, not final setting!
## Debug command in a single GPU with `EleutherAI/pythia-14m`
DEBUG_MODE=True python -m playground.orz_14m_ppo_mini
## Debug command in a single node (8 GPUs) with `Qwen/Qwen2.5-7B`
DEBUG_MODE=True python -m playground.orz_7b_ppo策略模型的使用方式与transformers和vllm中的任何聊天模型相同,因为我们已在tokenizer中内置了聊天模板jinja。
评判模型的加载方式与训练代码中的方式一致。
我们正在招聘优秀的研究人员和工程师加入团队。如果您对我们的项目感兴趣,并希望为推理模型的扩展乃至通用人工智能(AGI)的发展贡献力量,欢迎通过hanqer@stepfun.com与我们联系。
我们设有多个微信群用于讨论与分享,您可以扫描下方二维码加入最新群组。
@misc{hu2025openreasonerzeroopensourceapproach,
title={Open-Reasoner-Zero: An Open Source Approach to Scaling Up Reinforcement Learning on the Base Model},
author={Jingcheng Hu and Yinmin Zhang and Qi Han and Daxin Jiang and Xiangyu Zhang and Heung-Yeung Shum},
year={2025},
eprint={2503.24290},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2503.24290},
}