用途
GSM8K-RLVR 是一个用于在 GSM8K 数学问题求解数据集上实验「可验证奖励强化学习」(Reinforcement Learning from Verifiable Rewards,RLVR)的简化实现。该仓库参考 Tulu3 论文(“Pushing Frontiers in Open Language Model Post-Training”)中提出的 RLVR 概念,并受 DeepSeek R1 启发,目标是通过 RLVR 让基础语言模型在数学推理和结构化输出方面得到改进。其核心目标为:仅使用 GSM8K 数据与少样本提示,通过 RLVR 适配并优化基础模型,使其具备更好的数学推理与结构化输出能力。
主要能力与设计要点
- 基础模型聚焦:面向提升基础模型性能,不依赖预训练的奖励模型。
- 少样本提示:在每个模型的输入中利用少样本示例,以建立所需的数据模式并促进 RL 学习。
- 简化提示格式:省略显式的 <think> 与 <answer> 标签,使补全保持直白。
- 双重奖励系统:包含两个奖励函数——
- 正确性(Correctness):奖励对 GSM8K 问题的准确回答。
- 格式遵循(Format Adherence):激励以特定格式“#### The final answer is {number}”输出最终答案。
使用方式与实验设置
仓库使用 RLVR 与 GRPO 对 Qwen/Qwen2.5-Math-1.5B 模型进行 RL 微调,并在 GSM8K 基准上评估性能改进。模型使用一个包含正确性与格式化的奖励函数微调了两个 epoch,其中正确性奖励为:正确得 1,错误得 0;格式化奖励为:格式正确得 0.5,否则为 0。评估方式包含 8-shots 评估。作者还提到,由于传参错误而出现的一个有趣观察:加载在 Qwen/Qwen2.5-Math-1.5B 上训练的 LoRA 适配器,也提升了 Qwen/Qwen2.5-1.5B 在 GSM8K 上的表现,分数从 58.23% 提升至 64.82%。
作者同时指出:这些结果虽然亮眼,但更公平的比较应当是在基础模型和 RL 微调版本之上,都针对 GSM8K 做 SFT,并以零样本(zero-shot)方式评估模型。作者还尝试了在补全上使用语言建模损失的 Baseline+SFT,但其表现始终差于 Baseline 的少样本设置;而 Baseline+RLVR 即使只有 1-shot 示例也表现良好。唯一 SFT 优于 RLVR 的场景是零样本设置,此时 RLVR 因格式不当而得到 0.00%。
适用场景
该仓库适合希望快速上手、在 GSM8K 上探索 RLVR 与推理能力提升的研究者或开发者,可作为相关实验的起点。
限制与注意事项
- 资源限制:受 24GB 显存限制,作者不得不限制:RL 微调期间生成的最大序列长度被限制为 300 token;少样本示例数量被限制为 2 个、token 数为 256。这些限制可能影响模型解决需要更长解释的更复杂问题的能力。作者认为,解除这些限制可能带来进一步的性能提升。
- 数据集顺序偏差:观察到 GSM8K 数据集存在早期样本可能更难的倾向。因此,如果不打乱数据集,所报告的奖励增长曲线可能会因训练早期学习较难示例而显得过于乐观;在数据集未打乱时,解读结果需谨慎。
- 未来方向:作者列出后续计划,包括在 Qwen/Qwen2.5-0.5B 上评估 RL 微调以考察可扩展性、将微调扩展到在 GSM8K 上生成代码并用 Python 解释器执行的模型,以及在 HuggingFace 上分享模型。
暂未提供的信息
除上述内容外,仓库的收费模式、价格、具体安装命令、许可协议、详细环境依赖与完整使用步骤等事实暂未提供。