4. A/B验证核心概念

在自动驾驶模型发布流程中,A/B 验证不是“把新模型放上去看看效果”,而是一套以统计学为地基的决策工程。它的目标是在有限流量、有限时间和不可避免的噪声中,判断新模型是否真的优于旧模型,以及这种优势是否足以支撑全量发布。本节围绕五个核心概念展开:实验设计、假设检验、指标定义、样本量计算、显著性水平与置信区间。

核心结论:A/B 验证的本质是“用可重复的实验设计,把模型差异从随机波动中分离出来”。没有实验设计,数据只是观察;没有假设检验,结论只是感觉;没有样本量计算,实验可能永远做不完或过早下结论。

一、实验设计:先定义“比较什么”和“怎么分”

实验设计决定了后续所有统计推断是否成立。在自动驾驶场景中,常见的实验单元不是用户,而是行程、订单、路段、车辆或时间片。例如,验证新感知模型对“鬼探头”场景的制动响应,实验单元可以是包含该类场景的行程片段。分流时必须保证:同一实验单元只进入一个组,避免同一行程同时被新旧模型处理,否则指标会被污染。

一个规范的实验设计至少包含以下要素:

  • 实验组与对照组:A 组为当前线上模型,B 组为候选模型,除模型版本外其他条件尽量一致。
  • 随机化:按行程 ID 哈希分流,保证分组与场景难度、城市、时段无关。
  • 正交性:若同时验证多个模型模块,应使用正交分流,避免模块间效果混淆。
  • 盲区控制:安全员或标注人员不应知道当前车辆运行的是哪个模型,减少主观偏差。
  • 实验周期:覆盖工作日/周末、早晚高峰、晴天/雨天等周期,避免时间偏置。

实验设计中最容易被忽视的是干扰与溢出。例如,同一路段上 A 组车辆因新模型更保守而减速,可能影响后方 B 组车辆,导致两组不再独立。此时需要按路段或区域做集群随机化,而不是简单按行程随机。

二、假设检验:把“有没有提升”变成可判定的命题

假设检验提供了一套形式化语言。我们通常设置:

  • 原假设 H₀:新模型与旧模型在核心指标上无差异,即 Δ = 0。
  • 备择假设 H₁:新模型优于旧模型,即 Δ > 0(单侧)或 Δ ≠ 0(双侧)。

在自动驾驶发布中,安全类指标通常采用单侧检验,因为我们只关心“新模型是否更安全”,而不关心它是否更差。检验统计量根据指标类型选择:连续指标如急刹次数用 t 检验或 Welch t 检验;比率指标如接管率用比例检验;偏态严重的指标如每千公里碰撞数可用 Bootstrap 或泊松检验。

假设检验的决策规则是:当 p 值小于显著性水平 α 时,拒绝 H₀,认为差异显著。但必须强调,p 值小不等于效果大。一个极小的提升在超大样本下也可能显著,因此必须同时看效应量和置信区间。

三、指标定义:从“感觉变好”到“可计算、可归因”

指标定义是 A/B 验证中最具工程性的环节。一个可用的指标必须满足:可计算、可复现、与业务目标相关、对模型变化敏感。自动驾驶模型发布通常分为三层指标:

层级 典型指标 作用 注意事项
安全层 接管率、碰撞率、急刹率、违规率 一票否决,决定能否发布 事件稀疏,需长周期或大样本
体验层 通行效率、舒适度、路径合理性、顿挫次数 决定用户是否愿意使用 需与安全指标联合看,避免“安全但不可用”
系统层 推理时延、资源占用、模型体积、降级率 决定能否规模化部署 需在相同硬件和负载下对比

指标定义必须写清口径。例如“接管率”要明确:是安全员主动接管,还是系统请求接管?分母是每千公里还是每百次行程?是否排除施工、事故等极端场景?口径不一致,A/B 结论就不可比。

四、样本量计算:实验开始前就要回答“要跑多久”

样本量计算是 A/B 验证的“预算表”。它由四个参数决定:显著性水平 α、统计功效 1-β、基线指标 p、最小可检测效应 MDE。常用公式为:

n = (Z_{1-α/2} + Z_{1-β})² × [p(1-p) + p(1-p)] / MDE²

其中:
α = 0.05,Z_{1-α/2} ≈ 1.96
β = 0.20,Z_{1-β} ≈ 0.84
p = 基线接管率,例如 0.02 次/千公里
MDE = 希望检测到的最小相对提升,例如 10%

假设基线接管率为 2%,希望检测到相对下降 10%,即绝对变化 0.002,则每组所需样本量约为数万次行程。若每天只能跑 500 次,实验周期会非常长。此时工程上通常有三种选择:提高 MDE、延长实验周期、或使用方差缩减技术如 CUPED,用历史协变量降低噪声。

样本量不足时,实验容易犯两类错误:第一类错误是把随机波动当成真实提升,导致错误发布;第二类错误是真实提升存在却未检出,导致错失优化。α 控制第一类,β 控制第二类。

五、显著性水平与置信区间:给出“不确定性的范围”

显著性水平 α 是我们愿意承担的“误报”概率,通常取 0.05 或 0.01。安全相关指标建议取 0.01,因为错误发布代价极高。置信区间则给出效应量的估计范围,例如“新模型接管率相对下降 12%,95% CI 为 [4%, 20%]”。这比单纯说“p < 0.05”更有信息量,因为它同时告诉我们效果方向和精度。

在发布决策中,推荐使用如下判断逻辑:

  1. 安全指标不劣化:置信区间下限不低于预设安全边界。
  2. 核心体验指标显著提升:p 值小于 α,且置信区间不跨 0。
  3. 系统指标满足部署约束:时延、资源占用在可接受范围。
  4. 效应量具有业务意义:提升幅度大于 MDE,而非仅统计显著。

六、案例与误区复盘

某团队验证新规划模型,实验组接管率从 2.0% 降到 1.8%,p = 0.03,团队准备全量发布。复盘时发现:实验只跑了 3 天,且集中在晴天;同时实验组车辆更多分布在郊区简单路段。重新按场景分层后,城区复杂场景接管率反而上升。这说明随机化不充分、实验周期不足、未做分层分析会直接导致错误结论。

常见误区还包括:

  • 偷看数据并提前停止:多次检验会抬高第一类错误,应使用序贯检验或固定样本量。
  • 只关注均值:接管率、碰撞率是稀疏事件,需关注分布尾部。
  • 忽略多重比较:同时看十几个指标,总有一个显著,需做 Bonferroni 或 FDR 校正。
  • 把统计显著当业务显著:0.1% 的提升可能不值得发布成本。
A/B 验证的最终输出不是“p 值”,而是一份包含实验设计、指标口径、样本量、效应量、置信区间和风险判断的发布建议。统计显著只是门槛,工程判断才是决策。
A/B验证核心概念关系图 从实验设计到发布决策的统计推断链路 实验设计 随机化 · 正交分流 实验单元 · 周期控制 盲区 · 干扰控制 指标定义 安全层 · 体验层 系统层 · 口径统一 可计算 · 可归因 样本量计算 α · β · 基线 p MDE · 实验周期 方差缩减 CUPED 假设检验 H₀:Δ = 0 H₁:Δ > 0(单侧) t 检验 · 比例检验 · Bootstrap 显著性水平与置信区间 α = 0.05 / 0.01 95% CI · 效应量 不跨 0 · 安全边界 发布决策 安全不劣化 · 体验显著提升 · 系统可部署 实验设计决定可比性,指标定义决定可测性,样本量决定可行性,假设检验与置信区间决定可判定性

总结来看,A/B 验证的五个核心概念构成一条完整链路:实验设计保证可比性,指标定义保证可测性,样本量计算保证可行性,假设检验与显著性水平保证可判定性,置信区间则给出不确定性的边界。只有这条链路完整闭合,自动驾驶模型的灰度发布才能从“经验驱动”走向“证据驱动”。