用途
X-R1 是一个易于使用、低成本的端到端强化学习训练框架,目标是加速后训练扩展(Scaling Post-Training)的开发。它受 DeepSeek-R1 和 open-r1 启发,能够以极低成本从基础模型训练出 0.5B 规模的 R1-Zero 模型,并复现“Aha Moment”现象。
主要能力
- 低成本训练:4 张 3090/4090 GPU 训练 1 小时,成本低于 7 美元,10 分钟 37 步输出即可出现“Aha Moment”。
- 模型规模:支持 0.5B 规模模型的强化学习训练,并可扩展至 1.5B/7B/32B 等更大模型。
- 数据集:提供 0.75k/1.5k/7.5k 数据集,用于快速训练循环。
- 训练技术:支持 LoRA、LoRA+Zero3、GRPO、QLoRA GRPO 训练,支持无 KL 散度训练(设置 KL 项 beta 为 0.0 并忽略 ref_model,可提升约 20% 性能)。
- 奖励机制:支持医疗领域奖励、llm-as-a-reward 以及更多规则奖励。
- 评估与日志:使用 vLLM 作为后端评估基准,输出 accuracy-metric 和 format-metric 以及 JSON 文件;记录 GRPO 在线采样数据到日志文件,并提供 wandb 详情。
- 中文支持:支持中文数学推理,可轻松产生中文“Aha Moment”。例如使用 4x3090 训练 3B-base 约 16 小时,使用 7.5k 中文数学问题。
- 推理与模型:提供 Colab 推理,已发布 X-R1-0.5B、X-R1-1.5B、X-R1-3B 等模型及配置/wandb/模型/日志。
使用方式
- 环境要求:CUDA >= 12.4。
- 训练脚本示例:
- 0.5B R1-Zero 训练:若使用 4 张 GPU,设置
--num_processes=3,其中一张 GPU 部署 vLLM 作为在线推理引擎以加速 GRPO 采样。 - 4x4090 训练 3 个 epoch 约需 1 小时 20 分钟。
- 建议使用
--config recipes/X_R1_zero_3B_config.yaml以获得更好的推理和格式学习效果。 - 单 GPU 3090 训练 7B LoRA 运行示例;多 GPU 训练示例;测试环境示例;单 GPU LoRA 选项。
- 日志文件位置:
./output/test.log。
- 0.5B R1-Zero 训练:若使用 4 张 GPU,设置
- 批大小与生成数量设置:以 4 GPU(1 vLLM + 3 训练)为例,设置
--num_processes=3,满足(per_device_train_batch_size * num_processes) % num_generations == 0;若使用 8 GPU(1 vLLM + 7 训练)同理。 - 评估:使用 vLLM 后端评估基准,输出 accuracy-metric 和 format-metric 以及 JSON 文件。
- 中文数学推理:X-R1 支持中文数学推理,可轻松产生中文“Aha Moment”。
适用场景
- 研究者和开发者希望以极低成本训练小型 R1-Zero 模型并观察“Aha Moment”现象。
- 需要快速实验强化学习后训练方法(如 GRPO、LoRA、QLoRA)的场景。
- 中文数学推理任务。
- 从 0.5B 到 32B 不同规模模型的强化学习训练实验。
限制
- 项目资料中未提供具体的安装命令和完整代码,仅展示了部分运行脚本和配置说明。
- 未说明是否支持除中文和数学推理外的其他任务类型。
- 未提供收费、价格或商业使用许可的详细信息。
- 部分功能(如 QLoRA GRPO 训练、7B 配置/结果、更多规则奖励、更多基础模型、基准评估结果)标注为待发布或持续增加,可能尚未完全可用。
- 训练效果和“Aha Moment”出现时间可能因硬件和配置不同而有差异,资料中给出的数据基于特定实验环境。