What happened
Table with columns: GSM8K, MATH | GSM8K | MATH |
|---|
| SFT (before) | 39.0% | 40.0% |
| **GRPO (this) ** | 5.5% | 5.5% |
Root cause
On a single GPU we couldn't run vLLM rollouts, so GRPO used HF generation that produced
fixed-length completions which never stopped at the answer. The verifiable reward (which reads
the last boxed value) then frequently graded correct solutions as wrong, so GRPO optimized a
corrupted signal and collapsed the policy. The lesson — GRPO is only as good as its reward's
fidelity — is the most useful outcome of the run.
Full post-mortem: https://github.com/adimunot21/mathnano/blob/main/RESULTS.md