Call F1, When2Call, 1,277 held-out examples
0.6264 to 0.7548
GSM8K, 8-shot, same 1,319 questions
70.4% to 55.5%
IFEval, strict, prompt level
67.8% to 45.8%
OpenGrad
“We improved the metric. Then the model stopped answering.”
Can post-training teach a 2B model when to call a tool, and what does it break?
Call F1 rose from 0.6264 to 0.7548, and the same model refused all 1,319 zero-shot GSM8K questions.
- Qwen3.5-2B
- SFT + DPO
- Regression audit
- GGUF ladder
What went wrong on the way
- The jump from “not promoted” to “promoted” was a change of gate, not of model. DPO moved call F1 by +0.0078 over the SFT checkpoint, 7 more of 453 calls on one seed, which is inside the noise.
- Of nine GGUF quantizations, only Q6_K and Q8_0 pass the preservation gate, and a rerun of the unquantized model fails it too. The line sits inside run-to-run noise, and the report says so.









