返回案例页
GRPO 训练步骤复演

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 逐字移植)在你浏览器里实时重算。

GRPOTRLDeepSeek-R1GSM8KQwen2.5
GRPO 推理强化训练器(GSM8K · Qwen2.5-0.5B)

本地版本说明

5 个奖励函数是纯字符串逻辑,所以在客户端跑的就是 GRPOTrainer 打分的真实逻辑。真实 GRPO 训练仍需 GPU + 0.5B 基座,但你看到的打分是真的。

实时 · 在你浏览器里运行

GRPO 奖励计算器 — 真实的 5 个函数

编辑模型 completion 和 gold 答案。5 个奖励函数(从 notebook 逐字移植)实时重算。这正是 GRPOTrainer 在计算组内相对 advantage 前给每条采样 completion 打的分。

预设示例

Gold 答案

模型 completion(可编辑)

总奖励

3.500

5 个奖励函数之和

correctness+2.000

extracted "5" vs gold "5"

int+0.500

answer is a pure integer

strict_format+0.500

exact <reasoning>\n…\n</reasoning>\n<answer>…

soft_format+0.000

loosely contains both blocks

xmlcount+0.500

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 模型学会输出推理链