HuggingFace镜像/Open-Reasoner-Zero-7B
模型介绍文件和版本分析
下载使用量0

Open Reasoner Zero

基于基础模型扩展强化学习的开源方案

Code

Hugging Face

Notion Page
论文预印本链接 👁️

概述 🌊

我们推出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 迎来重大里程碑:

  • 🌊 更新论文,包含全新研究成果。
  • 🔭 易用训练脚本:
    • ORZ-1.5B 训练脚本 和 ORZ-0.5B 训练脚本(主要结果见图 2)。
    • 低资源训练脚本:ORZ-0.5B 可在单张 A800/H800 GPU 上运行!
  • 🤩 更新精选数据集:
    • 总计 12.9 万条数据:
      • 原始 5.7 万条数据。
      • 扩展 7.2 万条数据。
    • 从上述 12.9 万条数据中挖掘出 1.3 万条高难度数据。
      • 用于 ORZ-32B 训练的“退火”阶段:AIME2024 正确率从 ~41% 提升至 ~48%!
  • 🤗 更多 Hugging Face 模型:
    • 更新 Hugging Face 模型:Open-Reasoner-Zero-7B 和 Open-Reasoner-Zero-32B。
    • 新发布 Hugging Face 模型: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。

本次发布包含以下开源内容:

  • 🌊 论文:深入分析 Reasoner-Zero 训练过程并分享研究见解
  • 🤗 Hugging Face 模型 Open-Reasoner-Zero-7B 和 Open-Reasoner-Zero-32B
  • 🎁 精选 5.7 万条训练数据
  • 📄 训练脚本:助您开启专属的 Reasoner-Zero 探索之旅!

代码库核心特性 🔑

  • 采用单一控制器训练器设计,灵活且对研究人员友好。
  • 将训练与生成任务部署在同一GPU上,以最大限度提升GPU利用率。

快速开始 🚀

数据

我们在data文件夹中发布了所有精心整理的高质量训练数据:

  • 精选的12.9万条数据:
    • 原始5.7万条,来源于多个渠道,包括AIME(截至2023年)、MATH、Numina-Math数据集及Tulu3 MATH。
    • 扩展7.2万条,主要从OpenR1-Math-220k数据集中清洗而来。
  • 高难度1.3万条,从ORZ-32B训练的第一阶段挖掘获得。

数据收集的详细方法在我们的论文中有描述。

安装与训练脚本

我们在docker文件夹中提供了Dockerfile,以确保训练的可复现性。

如需安装软件包,请运行:

pip install -e .

启动 ORZ-32B PPO 训练

以下是在 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

训练日志将显示在主节点终端中。


启动 ORZ-0.5B 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 的逻辑。


启动 ORZ-7B PPO 训练

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

您的训练日志将显示在主节点终端中。


启动 ORZ-1.5B 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

模型使用方法

策略模型(Policy Model)

策略模型的使用方式与transformers和vllm中的任何聊天模型相同,因为我们已在tokenizer中内置了聊天模板jinja。

评判模型(Critic Model)

评判模型的加载方式与训练代码中的方式一致。

致谢 💖

  • 本研究工作得到了来自StepFun和清华大学提供的计算资源支持与宝贵反馈。
  • 我们的训练框架基于OpenRLHF、vllm、DeepSpeed和ray构建。
  • 我们的模型基于Qwen2.5系列的基础模型,包括Qwen2.5-0.5B、Qwen2.5-1.5B、Qwen2.5-7B和Qwen2.5-32B。
  • 感谢Project Numina、Tulu3以及OpenR1-Math-220k提供的开源数据集。

招聘信息 📣

我们正在招聘优秀的研究人员和工程师加入团队。如果您对我们的项目感兴趣,并希望为推理模型的扩展乃至通用人工智能(AGI)的发展贡献力量,欢迎通过hanqer@stepfun.com与我们联系。

Star History Chart

社区交流 🍺

我们设有多个微信群用于讨论与分享,您可以扫描下方二维码加入最新群组。

引用

@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}, 
}