微调上线:评测、灰度、回滚与持续迭代
模型能训出来,只是起点;真正难的是上线后还能稳定变好。
这一篇把“训练后半程”讲清楚,重点回答三件事:如何评测、如何灰度、如何把 badcase 变成持续改进。
为什么“离线好看”不等于“线上可用”?
离线评测通常在相对干净的样本上进行,线上则更复杂:
- 输入噪声更大,边界情况更多;
- 工具调用、检索质量、上下游依赖都会影响结果;
- 用户目标不固定,分布会漂移。
所以上线前后都要评估,但指标分层要不同。
评测分层:离线、灰度、全量
一个可执行的评测结构是:
- 离线评测:任务指标(正确率、格式合规、拒答质量);
- 灰度评测:小流量真实请求,观察失败类型与延迟;
- 全量评测:长期监控业务指标和用户反馈。
核心原则是:
- 用同一套基线对照;
- 用同一批关键回归题防回退;
- 每次上线都能回答“比上一版好在哪、差在哪”。
灰度发布:先控制风险,再追效果
灰度阶段建议先把风险收口:
- 按租户/场景/流量比例分批放量;
- 关键业务保守策略优先(必要时保持旧模型);
- 异常阈值触发自动回切。
你可以把灰度看成一个问题:
- 这版模型在真实请求里,是否稳定优于旧版?
如果结论不确定,不要急着全量。
回滚策略:上线前就要准备好
很多项目的问题不是“不能回滚”,而是“回滚代价太大”。
常见做法:
- 保留旧模型可快速切换;
- 模型版本、数据版本、Prompt 版本一起记录;
- 关键配置支持开关级别回退。
这样出问题时能做到:
- 快速止损;
- 可复盘;
- 可定位到是模型、数据还是编排逻辑的问题。
badcase 回流:把错误变成训练资产
badcase 回流不只是“把错题扔进训练集”,还要先归因:
- 是模型理解问题;
- 还是检索召回问题;
- 还是工具调用/数据源问题。
只有归因清楚,回流才有意义。
否则会出现“训练了很多轮,症状没变”的假迭代。
迭代节奏:小步快跑比大版本突进更稳
在微调体系里,建议控制发布节奏:
- 小版本高频迭代,每次解决少量明确问题;
- 固定回归集长期追踪,避免反复踩回头路;
- 对高风险场景维持人工抽检或 Reviewer 兜底。
这类节奏的好处是:
- 问题定位更清楚;
- 业务方更容易建立信任;
- 团队能持续积累“可复用样本与策略”。
小结:微调真正的价值在于“可持续变好”
- 评测要分层,不能只看离线分数;
- 灰度和回滚是上线前置条件,不是出事后补救;
- badcase 回流要先归因,再进入训练。
当你把“训练、评测、发布、回流”串成闭环,微调才会从一次性动作,变成稳定的工程能力。