4. 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”更有信息量,因为它同时告诉我们效果方向和精度。
在发布决策中,推荐使用如下判断逻辑:
- 安全指标不劣化:置信区间下限不低于预设安全边界。
- 核心体验指标显著提升:p 值小于 α,且置信区间不跨 0。
- 系统指标满足部署约束:时延、资源占用在可接受范围。
- 效应量具有业务意义:提升幅度大于 MDE,而非仅统计显著。
六、案例与误区复盘
某团队验证新规划模型,实验组接管率从 2.0% 降到 1.8%,p = 0.03,团队准备全量发布。复盘时发现:实验只跑了 3 天,且集中在晴天;同时实验组车辆更多分布在郊区简单路段。重新按场景分层后,城区复杂场景接管率反而上升。这说明随机化不充分、实验周期不足、未做分层分析会直接导致错误结论。
常见误区还包括:
- 偷看数据并提前停止:多次检验会抬高第一类错误,应使用序贯检验或固定样本量。
- 只关注均值:接管率、碰撞率是稀疏事件,需关注分布尾部。
- 忽略多重比较:同时看十几个指标,总有一个显著,需做 Bonferroni 或 FDR 校正。
- 把统计显著当业务显著:0.1% 的提升可能不值得发布成本。
总结来看,A/B 验证的五个核心概念构成一条完整链路:实验设计保证可比性,指标定义保证可测性,样本量计算保证可行性,假设检验与显著性水平保证可判定性,置信区间则给出不确定性的边界。只有这条链路完整闭合,自动驾驶模型的灰度发布才能从“经验驱动”走向“证据驱动”。