X-R1開源倉庫
:https://github.com/dhcode-cpp/X-R11. 介紹
X-R1目標是建設一個易入門和低成本的基於強化學習的訓練框架。以加快Scaling Post-Training的發展程序。
受到 DeepSeek-R1 和 open-r1 的啟發,為了降低 R1 的復現門檻,我們用最低的成本<50元 在 0.5B 的預訓練模型上覆現了 R1-Zero 的“Aha Moment”(頓悟時刻)
2. X-R1 特點
專案的程式碼基礎為 open-r1 ,由於官方例子需要 8x80G顯示卡,我們探索了一條更易訓練的方案。X-R1聚焦於純Reasoning-RL的端到端訓練問題,不考慮做任何的繼續預訓練、指令微調和資料蒸餾操作。
-
效果:4×3090/4090 GPUs 訓練總時間2小時以內,在第10分鐘的 37步最佳化中輸出了“aha Moment“ -
模型大小:0.5B尺寸的模型即可做R1-Zero -
支援更大模型的配置:0.5B/1.5B/7B/32B… -
為了更快訓練,我們減少資料規模到750條資料,仍然能夠提升數學推理能力 -
我們增加過程checkpoint取樣列印,方便觀察RL訓練的模型行為。
3. X-R1 0.5B 訓練結果
3.1 執行
在4×3090/4090(24G)的訓練環境中,3張顯示卡用Zero-Stage 3做最佳化,1張顯示卡vLLM部署推理服務,訓推分離使得GRPO最佳化更加高效。
實際實驗 4×4090, 3epochs, 訓練時間為:~1h20min
ACCELERATE_LOG_LEVEL=info \accelerate launch \--config_file recipes/zero3.yaml \--num_processes=3 \src/x_r1/grpo.py \--config recipes/X_R1_zero_0dot5B_config.yaml \> ./output/x_r1_0dot5_sampling.log 2>&1
3.2 準確性獎勵
我們測試了0.5B和1.5B的實驗,得到了符合預期曲線,並且在不到5步的最佳化中,模型就能快速到達飽和狀態。

3.3 Aha Moment:
訓練約10min左右觀測到Aha Moment 現象:
Wait, that doesn't match either of our options. It seems like I made a mistake in my assumptions. Let's go back to the original equations

4. X-R1 發現
在實驗過程我們測試X-R1的模型行為:
-
0.5B:能夠偶現Aha Moment -
1.5B:能夠頻繁觸發Aha Moment,效能分數優於0.5B約20% -
7.0B:在100條資料訓練,Aha Moment自然,並且能夠遵循提示詞格式。 -
70.0B: 正在路上…
X-R1認為:
-
極小模型依然能夠觸發Aha Moment -
越大的模型,受益於規則獎勵的訊號,RL越容易觸發Aha Moment的思考模式 -
對於預訓練模型是否本身有自反思行為,是否干擾試驗, X-R1並不關心,我們更關注實質的解答準確率是否得到了提高.
5. X-R1 安裝
基礎的顯示卡驅動要求僅為Cuda>12.4, 另外我們簡化了
open-r1
使用的uv
工具安裝。實驗環境不需要8xA100(80G)顯示卡git clone [email protected]:dhcode-cpp/X-R1.gitcd X-R1mkdir outputconda create -n xr1 python=3.11conda activate xr1pip install -e .
6. X-R1 下一步計劃
-
支援LoRA/QLoRA的訓推分離訓練
-
釋放7B訓練配置和結果
-
增加更多的規則獎勵
-
支援更多的base模型
-
增加基準測評結果
關於X-R1
感謝
-
Huggingface團隊提供了非常有實踐性的框架 Open-R1, TRL
Reference
-
DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning
-
Qwen2.5 Technical Report
X-R1開源倉庫
:https://github.com/dhcode-cpp/X-R1