SOTA Sync
全部文章
模型进展2026-09-04

350M 小模型,100 步学会更守格式

Hugging Face 用约 500 条样本和 100 个 GRPO 训练步骤,提升 LFM2.5-350M 的结构化输出能力。IFStruct 总通过率从 22.6% 升至 29.7%,增益主要来自 JSON 与裸列表格式,展示了低成本、可复现的任务型强化学习路径。

结构化输出经常被当成基础能力,但对工作流和 Agent 来说,它就是 接口可靠性 :JSON 少一个必填字段、数组套错一层,后续工具调用就会直接失败。Hugging Face 这份实验展示了一条很小但清晰的后训练路径,用 GRPO 专门教一个 350M 参数模型遵守 Schema。

#先建立可复现基线

实验用 llama.cpp 在本地运行 LFM2.5-350M,并在 IFStruct 的 2000 个样本上测试。基础模型通过 452 个样本,总通过率 22.6%;JSON 为 18.0%,YAML 为 27.2%,裸列表只有 16.6%。这个拆分很重要,因为“结构化输出”不是单一能力,不同语法和顶层形态的难度差异很大。

训练数据来自 NVIDIA 的结构化输出指令集,约 500 条,每条包含 Prompt、目标 JSON Schema 和预期字段数。为了防止模型只学会固定输出裸 JSON,40% 样本额外要求把结果放进代码块,迫使模型同时理解内容约束与呈现指令。

#奖励函数必须能指出哪里错了

GRPO 会为同一个 Prompt 采样多个答案,再根据相对奖励更新模型。这里的奖励不只判断“能不能解析”,还检查 Schema 约束、必填键覆盖、字段数量与代码块要求。部分奖励让模型知道答案离正确还有多远,Schema 验证则守住最终门槛。

训练使用 LoRA,运行约 100 步。规模足以放进免费层 Colab 或 Kaggle GPU,重点不是追求通用能力,而是验证一个生产约束能否用便宜、公开的流程被强化。

#提升集中在训练真正覆盖的格式

微调后总通过率从 22.6% 升到 29.7%。JSON 从 18.0% 提升到 31.9%,裸列表从 16.6% 提升到 29.7%;YAML 只从 27.2% 变为 27.5%。结果没有表现成所有格式同步上涨,反而清楚说明训练分布决定了收益落点。

29.7% 仍然不够直接承担高风险生产接口,也略低于论文对 Qwen3.5-2B 报告的 33.15%。因此正确用法不是宣布小模型已经解决结构化输出,而是把它放进“生成—验证—重试或修复”的闭环,并用真实业务 Schema 继续训练。

这项实验最可复用的部分,是把模型能力拆成一个可执行测试:同一服务栈、同一基准、明确奖励和逐格式报告。对于高频、窄任务,先训练一个能稳定服从接口的小模型,可能比长期支付大模型溢价更合理。