AI Know · 技术研究笔记
离线高分不等于线上好体验
评测要同时盯住两端指标;基准集必须防泄漏与去重;线上回归要能定位到具体样本
三分钟读懂
先看结论,再决定是否深读
- 离线高分不等于线上好体验
- 评测要同时盯住两端指标
- 基准集必须防泄漏与去重
- 线上回归要能定位到具体样本
- 评测结论需可复现可追溯
核心原理
几乎每个做模型迭代的团队都遇到过同一个尴尬:离线基准分数涨了三个点,上线后用户投诉反而变多。这不是偶然,而是评测体系本身的结构性缺陷。离线基准是在一个固定分布、固定答案、固定评分脚本下测出来的,它衡量的是「模型在已知题库上的表现」;而线上表现衡量的是「模型在真实、动态、带噪声、有对抗性的输入上的价值」。两者之间的鸿沟,来自数据分布漂移、评分口径错位、以及真实用户对错误的不同敏感度。
要解决这个问题,评测体系不能只做一层,必须同时覆盖离线基准与线上回归两端。离线基准负责快速筛选、防止回归、比较同代方案;线上回归负责验证真实价值,捕捉离线测不到的失败模式。两者不是替代关系,而是互补关系。
技术细节
输入侧要看三件事。第一是数据来源与分布:离线基准如果全部来自公开数据集,很可能已经被训练数据污染,模型可能只是记住答案而非真正推理。必须做去重、去污染、时间切片检查。第二是输入多样性:长尾输入、错别字、多语言混写、超长上下文、恶意提示注入,都要在评测集里有稳定占比,否则线上一定踩坑。第三是标注质量:标注口径不一致会直接放大评测噪声,同一道题不同标注员给出不同答案,分数本身就是错的。
推理/执行侧要关注可复现性与成本。同一个模型、同一批输入,如果因为温度、采样、并发、缓存导致输出不一致,评测结论就不可信。需要固定随机种子、固定解码参数、记录完整快照。同时要记录每次推理的延迟、token 消耗、工具调用次数,因为线上用户对延迟和成本同样敏感。多步推理或多工具调用场景,还要评测中间步骤的正确性,而不是只看最终答案。
输出/评测侧要解决评分口径问题。自动指标如精确匹配、BLEU、ROUGE 容易和人类判断脱节,尤其在开放式生成任务上。更稳的做法是分层评分:确定性任务用规则匹配,开放任务用模型评审加人工抽检,并对评审模型本身做校准。还要引入「有害率」「拒答率」「越权调用率」等负向指标,避免只优化正确率而忽略安全。线上回归则要把用户反馈、点击、停留、重试、投诉等行为信号,和具体请求、具体模型版本关联起来,才能定位是哪类样本出了问题。
工程实践
给开发者的三条可执行建议:
第一,建立「离线基准 + 线上影子流量」双轨评测流水线。每次模型更新,先在离线基准上跑回归,确认没有退化;再把新模型放到影子流量里,与线上模型并行推理,对比真实请求上的输出差异和用户行为指标。影子流量不直接服务用户,风险低,但能拿到真实分布。
第二,给评测集做版本管理。评测集不是一次写完就固定,要像代码一样有版本、有变更记录、有负责人。每次新增样本必须说明来源和目的,防止评测集被「针对性地刷分」。同时保留一个不公开的留出集,只用于最终验收。
第三,把评测结论和线上事故打通。每次线上问题都要回溯到评测集里是否有对应样本,如果没有就补进去。这样评测集会随着真实失败模式持续生长,而不是停留在实验室阶段。指标上建议同时看离线通过率、线上失败率、人工抽检合格率三条曲线,任何一条恶化都要阻塞发布。
风险边界
评测体系本身也有风险。成本上,线上影子流量和人工抽检都需要算力和人力,全量评测不现实,必须做分层采样和优先级排序。幻觉上,模型评审器可能被流畅但错误的输出欺骗,必须用人工抽检校准,不能完全信任自动评分。越权调用上,评测要覆盖工具调用边界,比如模型是否会在不该调用外部接口时调用,是否会读取不该读的数据。长尾输入上,评测集的长尾覆盖永远不够,需要建立线上未命中样本的回流机制。延迟上,评测不能只看准确率,还要看 P95、P99 延迟,尤其是多步推理和工具调用场景,慢的模型即使准确率略高也可能不可用。
归根结底,评测的目标不是拿一个漂亮分数,而是回答「这个模型上线后,用户会更好还是更差」。离线基准和线上回归各自只能回答一半,只有两端合起来,才能不自欺。