这是一篇基于 Microsoft Foundry Blog 文章的分析笔记。数字均来自该文,且只是作者团队在 20 份文档上的实验结果。
文章讨论的问题
许多业务流程需要把发票之类的文档转成下游系统能直接使用的结构化数据。模型既要找对字段值,也要保留重复出现的记录,还要输出合法的 JSON。文章的出发点是:能否通过任务微调,让推理价格更低的开源权重模型接近高价模型的抽取效果。
作者先测了 gpt-oss-20b 和 gpt-oss-120b。基线下两者的字段覆盖都不理想,20b 还会拒答或输出无法解析的内容。
做法:评分器驱动的强化训练
团队使用 Foundry Interactive Training,准备了 17 份训练文档、期望答案和一个 Python 评分器。训练共 100 步 GRPO。每份文档让 20b 模型生成八个候选答案,评分器对正确的字段路径与值给予部分分数,并惩罚无效 JSON。期望答案只用于打分,不会放进模型输入。
评估指标是对字段路径与值配对计算的精确率、召回率和 F1。我认为这个设计值得借鉴:评分器直接对应下游系统关心的结果,而不是看答案是否“像样”。

结果与解读
在同样的 20 份文档上,gpt-oss-20b 的 F1 从 0.4379 升至 0.8115,相对提升 85.3%。gpt-oss-120b 从 0.6816 升至 0.8573,最终绝对分数更高。20b 的 JSON 可解析率从 63.8% 升到 98.8%,拒答措辞比例从 25% 降到 0。
作为参照,GPT-5.5、GPT-5.6-sol 和 GPT-6-sol 的 F1 都约为 0.976,仍高于微调后的模型。微调后的 20b 达到 GPT-5.6-sol 参考分数的 83.1%。
需要谨慎的地方有三点。第一,样本只有 20 份文档。第二,基线与微调分数取多次评估的平均,前沿模型则是单次评测,两者口径不同。第三,“拒答”只是对措辞的检测,不等同于安全拒绝;“覆盖率”也可能被多余的值抬高,需要与 F1 一起看。

成本比较的边界
文章列出了 Azure 公布的推理价格,20b 微调版的输入与输出价格分别为每百万 token 0.07 美元与 0.30 美元,远低于前沿模型。但作者也说明,这不是完整的总拥有成本,没有计入训练、托管、重试和运维。120b 微调版的价格尚未确认。
对开发者的启示
文章给出的流程很务实:先测量问题,先尝试提示词等低成本改动;再把训练集、验证集和最终测试集分开,用验证集选择检查点;最后在没见过的测试集上做独立评估。如果你的任务有明确、可自动判定的对错标准,例如固定模式的抽取,这类方法最容易落地。开放式写作类任务则很难写出可靠的评分器。

仍待观察
- 该能力目前处于公开预览,需要申请访问。上线前要确认受支持的部署路径、模型兼容性和服务成本。
- 结果能否推广到更多文档类型、更长的文档和新的版式,文章没有给出答案。
- 微调后的小模型在真实流量中的成本与稳定性,还需要自己测量。这一点是我的判断,不是文章的结论。
原文链接:https://techcommunity.microsoft.com/blog/azure-ai-foundry-blog/information-extraction-with-low-inference-cost-models-85-f1-gain-via-foundry-int/4563661
- 作者:月明
- 链接:https://lunalight.top//article/azure-foundry-2026-10-17-4563661
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
