基于 DeepSeek R1 蒸馏与强化学习的数学推理模型对齐(SFT + GRPO)。
为提升 Qwen-2.5-Math-1.5B 模型的数学推理能力,本项目采用两阶段微调策略:
- 利用 DeepSeek R1 生成的思维链数据进行 全参数监督微调(SFT)
- 利用 GRPO(Group Relative Policy Optimization) 进行可验证奖励的强化微调
- 构建 Response Mask,仅对响应 token 计算损失
- 采用梯度累积训练方法,实现大 Batch Size、低显存下的稳定训练
- 采用 Token-level 的 Loss 归一化
- 以数学问题的确定性结果作为 Reward(可验证奖励)
- 基于策略梯度,用组间优势(Group Relative Advantage)代替价值函数
- PPO 裁剪约束更新幅度,防止策略偏移过大
- Mask 聚焦响应 token 来构建损失函数
两段式微调后,模型在 GSM8K 测试集上的表现:
| 指标 | 微调前 | 微调后 |
|---|---|---|
| 答案准确率 | 63.83% | 85.89% |
| 输出格式准确率 | 45.65% | 95.30% |
alignment/ 核心 Python 包(训练、评估、工具函数)
scripts/ 工具脚本(数据处理、评估等)
data/ 训练数据
outputs/ 训练输出与评估结果
docs/references/ 参考资料
使用 uv 管理依赖:
uv sync --no-install-package flash-attn
uv sync# 阶段一:监督微调
uv run python -m alignment.sft_train
# 阶段二:GRPO 强化微调
uv run python -m alignment.grpo_train