返回 S01~S90 教材库
S66 · 总 Day 156教材已备 ≠ 学习已完成

S66:读懂 Eval / A-B 比较:从脚本输出回到版本证据

Eval / A-B 比较的核心不是得到一个胜者标签,而是确认 baseline 与 candidate 在同一可解释协议下经历了什么数据、scorer、运行环境与决策规则。

2027-01-27

内容类型:预习教材(不代表已完成)
日期:2027-01-27
阶段:P2 · AI Systems Engineering 90
总路线:Day 156
周次节奏:W10 · 周三引导练习
状态:教材已备;学习未完成

一句话定义

Eval / A-B 比较的核心不是得到一个胜者标签,而是确认 baseline 与 candidate 在同一可解释协议下经历了什么数据、scorer、运行环境与决策规则。

学习目标

  1. 能阅读现有 eval/AB 脚本的输入、版本、比较粒度、scorer 和输出 schema。
  2. 能区分 paired comparison、aggregate difference、slice regression 与样本级 disagreement。
  3. 在不新增测试集、不伪造运行的前提下,写一份结果解释或实现阅读笔记。

核心知识

首先确定比较单元。若同一样本同时运行 baseline/candidate,就可作 paired delta,减少样本难度的噪声;若两路使用不同流量,简单平均差会混入 input mix、时间、用户类型和上游版本。对生成式系统,还需固定或记录 temperature、seed(若支持)、max tokens、tool availability 和 retry,否则“版本差异”会混入采样噪声与运行时变化。

Scorer 应版本化。确定性规则可能检查 schema、引用 ID、数值一致性;LLM judge 需记录 model、prompt、rubric、position randomization 与解析错误;human label 需 rubric、reviewer context 与 disagreement 处理。不同 scorer 的数值不应直接平均,因为它们量的属性和错误结构不同。

Aggregate 与 slice 必须并存。总体正向不代表每个 risk tier、语言、文档长度或 tool path 都改善。小 slice 的大波动不宜过度解释,但高严重度样本也不能被大总量稀释。一份好解释要同时写 effect direction、magnitude、sample count、uncertainty 和业务严重度。

机制与推导

对样本 i 和指标 m,配对差可写成 d_i = score_m(candidate_i)-score_m(baseline_i),平均效应为 mean(d)。但决策还应观察:

  • win/tie/loss 分布,避免少数极端值主导平均;
  • 每个 slice 的方向与样本数;
  • 质量之外的 Δp95_latencyΔunit_costΔescalation_rate
  • scorer failures 和 missing data,不将它们当作零分或自动排除。

如果运行未发生,可以从代码推导输出语义,但笔记标题必须写“实现阅读”,而非“比较结果”。

最小练习或观察

  1. 在现有 eval/AB 脚本中定位数据加载、baseline/candidate 调用、scorer、聚合、决策与报告输出。
  2. 写一张 variable map:哪些是受控变量,哪些由环境引入,哪些没有被记录。
  3. 若运行成本合适,可用现有小数据执行;不新增数据或修改阈值追求通过。
  4. 若不运行,选一个假设输出 schema,说明每个字段能回答什么、缺少什么。
  5. 写结果解释模板:事实→限定条件→取舍→替代解释→下一个最小观察。

常见误区与边界

  • candidate 换了模型、prompt 和 retrieval corpus,却将差异归因于模型。
  • 不配对样本、不控制采样,却对小差异做确定性解释。
  • 只看总分,忽略高风险 slice 退化和 scorer error rate。
  • 用 LLM judge 分数取代事实验证、安全检查或真实 outcome。
  • 实现阅读不等于运行完成,也不等于两版本已有性能结论。

系统 / 金融 / Web3 连接

AML 文档生成可分成证据引用正确、金额一致、风险陈述适当、格式合法和人工升级五个指标,不应只用“流畅度”。Web3 交易辅助可分 chain/contract/amount 一致性、simulation 结果、费用、延迟和用户拒绝率;链上 outcome 发生较晚,不能被离线 judge 完全替代。

自检问题

  1. 什么条件下配对差比两组平均更可解释?
  2. scorer version 为什么属于 release evidence?
  3. aggregate 改善为什么可能与高风险 slice 退化并存?
  4. 未运行时,怎样写笔记才不伪造结果?

专业课程对齐

  • MLflow Documentation:精读 experiment tracking、runs、artifacts 与 model evaluation,映射脚本的 run identity、params、metrics 和 outputs。
  • Full Stack Deep Learning:精读 testing/monitoring 与 ML experiment 相关课题,检查离线比较与线上证据的差距。
  • NIST AIRC / AI RMF:选读 Measure 与 Manage,把指标与风险上下文、限制、owner 及决策联系,避免“分数即风险”。

深入学习提示

先从代码追数据路径,再用 MLflow 实体检查是否可追溯,最后用 FSDL/NIST 限定结论。如果只有时间深挖一点,优先读 scorer 失败怎样被处理:解析失败、超时、缺失分数会直接改变胜负结果。

学后填写区

  • 阅读或运行路径:
  • baseline / candidate 变量:
  • scorer、slice 与 missing-data 处理:
  • 实际结果(未运行留空):
  • 能支持与不能支持的结论:
重点主线 · H04 · AI 开发完整工作流本周配套机制实验 · W10 · 发布判断:平均提升掩盖了什么 →详细讲义、离线示例与源码;按需要选读,不新增必交任务。
本页是未来 P2 的预习教材。等 P1 完成并正式进入 P2 后,再填写真实理解、练习结果和不确定项;现在阅读不会改变P1 唯一进度账本