用100步GRPO微调350M模型提升结构化输出

结构化输出是LLM落地的关键能力,但很多小模型在这一项上表现不佳。这篇教程公开了一套低成本、可复现的微调方案:用约500个样本和100步GRPO(Group Relative Policy Optimization),把LFM2.5-350M模型在IFStruct基准上的合规率从22.6%提升到29.7%。

整个流程在免费Colab或Kaggle GPU上就能跑完。作者使用TRL库实现GRPO,训练数据来自nvidia/Nemotron-RL-instruction_following-structured_outputs,并针对IFStruct的格式差异做了数据增强——40%的提示加上“返回代码块”指令,20%转为顶层数组任务。LoRA只训练约6M参数(占模型的1.66%),奖励函数由三个分量加权组合:格式正确性、字段数量匹配、JSON Schema校验。

微调后的模型在相同评估栈上测试,JSON通过率从18.0%跃升至31.9%,YAML基本不变(27.2%→27.5%),裸列表从16.6%提升到29.7%。最关键的提升集中在JSON格式和裸列表输出上,恰好对应训练目标。虽然仍未超过Qwen3.5-2B的33.15%,但已大幅缩小差距。

结论很明确:轻量、任务特定的GRPO微调可以让350M小模型在结构化输出合规性上获得显著提升,且成本极低。所有代码、数据、模型都已公开在GitHub和Hugging Face上,方便复现或扩展。

Fine-tuning a 350M Model for Better Structured Outputs in 100 GRPO Steps

查看原文