评估集也有季节性:为什么质量在报税季的第一个周一会下降
在 1 月下旬的一个周一早上,仪表盘发出了第一次回归预警。支持助手的质量得分一夜之间下降了 3 分。周末没有发布 Prompt 变更。没有更换模型。评估套件——团队在 6 个月前构建的一个包含 800 行数据的精选黄金集 (gold set)——也没有任何变化。有人开了一个故障单 (incident)。
经过两天的二分定位 (bisecting) 之后,得到的答案平淡无奇且是结构性的。那是美国国税局 (IRS) 开启当年税务申报后的第一个工作周一。一半的入站查询已从“我的薪水到账了吗”变成了“我该如何申报来自支付 App 的 1099-K 表单”。在夏季采样的评估集对 1099-K 毫无头绪。模型并没有变差。是客户变了。评估标准是针对一个已经不存在的客户群进行校准的。
这种模式在每一个拥有季节性用户的产品中每季度都会重复出现——报税季的金融科技、季度末的销售工具、开学季的教育产品、退货季的电子商务、订票季的旅游产品、投保季的医疗保健。将“评估集视为固定资产”是一种舒适的抽象,但在一个无人更新的日程 表上,这种做法是错误的。
评估集是非平稳分布的时间戳样本
经典的机器学习 (ML) 监控文献教导我们将漂移分为两种。数据漂移 (Data drift) 是指输入发生变化——模型在生产环境中看到的特征分布与其训练时的分布发生了偏离。概念漂移 (Concept drift) 是指输入与输出之间的关系发生了变化——同样的输入现在需要不同的答案。文献还明确指出,并非所有漂移都是对等的:周期性的季节性漂移是预期内且可预测的,而真正的概念漂移才是危险的那种 (Evidently AI)。
发布 LLM 功能的团队尚未内化的是:评估集本身也是一个不断变化的分布的冻结样本。从构建方式来看,黄金数据集 (golden dataset) 捕获的是你停止采样那天生产环境的样子。当你三个月后运行它时,你并不是在测量“模型是否仍然表现良好”,而是在测量“模型在处理人们 3 月份发送的那种任务时是否仍然表现良好”。如果 8 月的流量看起来不像 3 月的流量,那么这个答案与你的 PM 实际提出的问题(即 8 月的用户是否得到了满意的回答)就毫无关系了。
这个问题已经得到了衡量。LENS 框架明确地将 Prompt 分布视为随时间、用户群体和地区演变的东西,并表明自然的 Prompt 偏移会降低微调后的 LLM 性能,而这种性能下降在原始评估集中是无法体现的 (arXiv 2604.17650)。关于黄金数据集的文献也从实践者的角度得出了同样的结论:一个关键的缺点是维护开销和陈旧风险,建议的补救措施是为黄金数据行设置 90 天的有效期(除非重新验证),并频繁地从生产环境中提取新鲜场景进行小规模更新 (Confident AI, Maxim)。
最贴切的比喻来自信用风险建模,那里的团队几十年来一直在监控分布的稳定性。人口稳定性指数 (Population Stability Index, PSI) 报告了一个单一数值,用于衡量当前群体偏离参考群体的程度。PSI 低于 0.1 表示没有实质性变化;0.1 到 0.25 是值得注意的轻微偏移;超过 0.25 则是重大偏移,应该触发调查并可能采取行动 (Fiddler, NannyML)。诀窍是将这种本能应用到你的评估集上,而不仅仅是你的特征上。参考群体是你的评估集采样来源。当前群体是你的实时流量。当两者之间的 PSI 超过 0.25 时,评估集就不再是一个具有代表性的把关标准,你从中读到的分数报告的是一个已经发生迁移的客户群体。
