离线、在线、统计与回归

本节目标

正确组合离线与在线证据,用配对比较和不确定性约束发布决策,并持续捕获回归。

直觉解释

离线集像可重复实验室,线上灰度像真实环境观察。前者擅长快速定位与回归,后者揭示真实分布和交互;任何一个单独使用都会留下盲区。

离线与在线回答不同问题

类型优点局限适用
离线可重复、快、适合逐提交数据会过时,环境近似单元、回归、候选筛选
在线灰度/A-B真实用户与流量成本、风险、干扰因素验证业务效果与新失败
生产监控连续观察漂移/事故指标多为代理、缺反事实报警与挖掘新 case

离线通过是进入线上验证的条件,不是线上成功的保证。线上实验前先设置安全 guardrail、曝光范围、停止条件和回滚;日志需最小化敏感数据。

样本波动与置信区间

一次 82% 对 80% 可能只是样本波动。应报告样本数、逐 case 结果与差值区间。置信区间的频率学解释是:若按同一方法反复抽样构造区间,指定比例的区间会覆盖真实参数;它不是“本次区间有 95% 概率包含真值”。

同一批 tasks 比较候选与基线时,应使用配对差值:每个 task 先算 candidate - baseline,再估计平均差和区间。bootstrap 可从这些配对差中有放回抽样,适合本课程的直觉演示;小样本、相关 trial、分层失衡和多重比较都会限制解释。

固定种子bootstrap的最小步骤是:保留个逐case配对差;有放回抽取个差值并求均值;重复预先冻结的次数;取分布两端分位数形成百分位区间。固定种子保证相同输入可复核,不会消除抽样假设。若case并非近似独立(同一会话/文档族、共享故障),应按family或集群抽样,不能把行当独立样本。

先定义要估计的对象(estimand)和抽样单位:是“目标任务总体上的平均差异”,还是“固定任务重复运行的可靠性”?前者通常以task或family为重采样单位,后者保留task × trial层级。把同一task的多次trial当成更多独立task,会人为缩窄区间。

在看结果前冻结主指标、关键切片、实际重要的差异门槛和停止规则。反复查看区间、尝试多个候选或切片后只报告赢家,会引入多重比较与可选停止偏差;应使用独立最终留出、适用的校正方法,或明确标为探索性发现并复测。区间跨过0只表示当前证据未清楚区分方向,不等于证明等效;等效结论需要预先定义可接受差异界限和相应设计。

随机系统要多 trial

同一 task 重复运行并从干净环境开始,记录成功率与失败模式。共享缓存、残留文件和同一个外部故障会让 trial 不独立。对 Agent 还要固定或记录模型设置、工具版本、预算、重试和时间窗口。

pass@k回答“次中至少一次成功”,pass^k回答“次全部成功”;只有当产品真的允许多次尝试或要求连续可靠时,它们才对应决策。由单次成功率推导1-(1-p)^k或$p^k依赖同分布且独立的Bernoulli试次;共享状态、重试适配和供应商故障会破坏该假设。工程报告应优先保留逐trial结果、实际重试策略和成功所需成本,而不是只展示一个乐观的pass@k`。

回归门禁

  1. 每个已确认事故生成最小、脱敏、确定性 case。
  2. 分成快速 smoke、关键风险、完整质量套件。
  3. 冻结基线、数据与 grader 版本;候选使用相同条件。
  4. 先检查关键 gate,再看配对差和各层结果。
  5. 不确定时扩大样本或人工复核,不用“差一点”包装成提升。
  6. 上线后将新分布与失败回灌,但保留历史版本用于趋势解释。

持续评测闭环

持续评测不是“每次提交跑同一个总分”:

  1. 快速确定性smoke在每次变更运行;
  2. 冻结回归集在合并或候选构建时运行;
  3. 成本较高的人工/模型grader按风险与采样计划运行;
  4. 通过离线门后,在线灰度使用独立安全、质量、成本和延迟guardrail;
  5. 运行监控发现的新失败只可先成为受控的分诊候选;经人工确认、脱敏、去重、许可与最小复现后,才由数据/评测负责人决定是否进入开发或回归集,详见 离线到线上证据交接与回归闭环;
  6. dataset、rubric或grader改版时重跑可比基线并标注曲线断点。

MLflow当前latest文档明确分开两条不可互操作的评测路径:经典ML使用mlflow.models.evaluate()与EvaluationMetric,GenAI使用mlflow.genai.evaluate()与Scorer;旧mlflow.evaluate已在MLflow 3中弃用。基于实时Trace的自动评测又是另一条能力,当前只支持LLM judges、不支持code-based scorers:创建或启用judge时,最多只回看一小时前的Trace/会话;仅更新judge配置不会触发已经评估过的Trace重评。之后的新记录仍会按judge的过滤与采样配置异步处理。这些都是工具现状,不是“在线评测只能用模型”的通用规则;采用时固定版本并验证迁移。

常见错误与排查

  • 离线通过就直接全量:先设置线上 guardrail、停止与回滚。
  • 比较两组总体均值但忽略同 case 配对:保留逐 case 差值。
  • 生产失败只修代码不入回归:脱敏后建立最小复现与版本。
  • 同时试很多候选并持续偷看测试:冻结主比较,保留独立最终留出或将结论标为探索性。

练习

  1. 对 10 个 task 的候选/基线 0-1 结果手算配对差均值。
  2. 列出两个会破坏 trial 独立性的环境因素。

自测

区间跨过 0 是否证明两者完全相同?不是;只是当前设计和样本不足以给出清晰方向。

小结与下一步

先进入 评测报告、审计与治理,再学习 离线到线上证据交接与回归闭环,最后完成离线项目。

参考资料