GRPO 推理强化训练器(GSM8K · Qwen2.5-0.5B)
用 TRL 的 GRPOTrainer 在 Qwen2.5-0.5B 上复现 DeepSeek-R1 的 GRPO 算法,靠 5 个可验证奖励,在 GSM8K 上把模型从「直接给答案」教成「先推理再作答」。单卡可跑。
一个真实的奖励计算器,不是预演。编辑模型 completion 和 gold 答案,5 个奖励函数(correctness / int / strict_format / soft_format / xmlcount,从 notebook 逐字移植)在你浏览器里实时重算。
本地版本说明
5 个奖励函数是纯字符串逻辑,所以在客户端跑的就是 GRPOTrainer 打分的真实逻辑。真实 GRPO 训练仍需 GPU + 0.5B 基座,但你看到的打分是真的。
GRPO 奖励计算器 — 真实的 5 个函数
编辑模型 completion 和 gold 答案。5 个奖励函数(从 notebook 逐字移植)实时重算。这正是 GRPOTrainer 在计算组内相对 advantage 前给每条采样 completion 打的分。
预设示例
Gold 答案
模型 completion(可编辑)
总奖励
3.500
5 个奖励函数之和
extracted "5" vs gold "5"
answer is a pure integer
exact <reasoning>\n…\n</reasoning>\n<answer>…
loosely contains both blocks
0.125 per tag − trailing-text penalty
训练时 GRPOTrainer 就这样给每条采样 completion 打分,再在 num_generations=16 的组内归一化得到每条的 advantage。试试预设:干净的答案约 3.6 分;答对但没标签的会丢掉所有格式奖励。
建议体验
加载一个预设,然后编辑 completion——每个奖励随你输入实时更新。
删掉 </answer> 标签看格式奖励崩掉;改对数字看 correctness 跳到 +2.0。
注意 correctness(+2.0)主导,4 个格式奖励负责塑形 <reasoning>/<answer> 结构。
这个试玩能说明什么
你能把 DeepSeek-R1 的 GRPO 配方端到端跑通,而且选了个小到能真正看清楚的模型。
你能设计一组可验证的奖励函数,并讲清每个怎么塑形行为。
你讲的是诚实的故事——在 0.5B 上演示机制,明确说清楚claim 了什么、没claim 什么。
技术栈
TRL GRPOTrainer · Qwen2.5-0.5B · GSM8K · 单卡
奖励设计
5 个:correctness + int + strict/soft format + xmlcount
真实结果
仅靠奖励就让 0.5B 模型学会输出推理链