1. 课程导入
自动驾驶模型的迭代速度正在逼近互联网软件的节奏,但它的发布风险却远高于普通应用。一个感知模型从训练完成到真正上车,中间要跨越数据闭环、仿真回归、实车标定、车端部署、区域灰度、指标观测与回滚决策等多道关口。任何一次“全量推送”都可能把长尾场景中的漏检、误检、急刹或轨迹抖动放大成安全事故。因此,本课程要解决的核心问题不是“模型好不好”,而是如何用工程化手段,让一个不确定是否更好的模型,以可控风险、可量化证据、可回退路径的方式逐步替换线上模型。
一、核心概念:灰度、A/B验证与发布工程
灰度发布指新模型不一次性覆盖全部车辆,而是按一定维度(车队、城市、道路类型、时段、天气、ODD)逐步扩大流量比例。它的本质是用受控暴露换取真实反馈。A/B验证则是在同一时间窗口内,将相似车辆或相似行程随机分为对照组(A:线上稳定模型)与实验组(B:候选模型),通过统计检验比较两组在安全、舒适、效率、接管等指标上的差异。二者常组合使用:灰度决定“放多少”,A/B决定“谁更好”。
发布工程还包含三个容易被忽视的概念:基线冻结(A组模型版本与参数在实验期内不得变更)、分流一致性(同一车辆在同一实验周期内应稳定属于同一组,避免体验割裂)、可观测性(车端必须回传足够细粒度的信号,否则灰度只是“盲放”)。
二、整体框架:从模型仓库到车端流量的五层结构
下图给出本课程贯穿始终的发布架构。左侧是模型与配置的供给链,中间是发布控制与分流决策,右侧是车端执行与数据回流,底部是观测与回滚闭环。理解这张图,就理解了后续所有章节的坐标。
三、方法流程:一次标准灰度实验的六个阶段
- 准入评估:候选模型必须通过离线数据集、仿真回归、封闭场地测试,形成准入报告,明确其相对基线的预期收益与已知风险。
- 实验设计:确定实验单元(车辆/行程/订单)、分流比例、观测周期、主指标与护栏指标,并预先设定成功与失败判据。
- 小流量灰度:通常从1%~5%车队开始,优先选择低风险ODD,验证部署链路、资源占用与基础功能。
- A/B并行验证:在相似场景分布下对比A/B两组,关注指标差异是否具有统计显著性,而非只看均值。
- 逐步扩量:按10%、30%、50%阶梯放量,每一阶梯都需重新校验护栏指标,避免风险累积。
- 全量或回滚:达标则全量并归档实验报告;触发红线则自动回滚,并保留现场数据用于复盘。
四、关键指标与判据清单
| 指标类别 | 典型指标 | 方向 | 用途 |
|---|---|---|---|
| 安全类 | 碰撞预警次数、AEB触发率、危险接管率 | 越低越好 | 护栏指标,触发即回滚 |
| 接管类 | 每千公里接管次数、非预期接管占比 | 越低越好 | 主指标之一 |
| 舒适类 | 急刹频次、横向加速度超限率、顿挫评分 | 越低越好 | 体验指标 |
| 效率类 | 平均通行时间、变道成功率、路口通过率 | 越高越好 | 收益指标 |
| 系统类 | 推理时延、GPU占用、内存峰值、丢帧率 | 稳定可控 | 部署健康度 |
五、典型场景与常见误区
假设某城市NOA团队要发布一版新的障碍物预测模型。正确做法是:先在仿真中回归历史难例,再选取两个气候相近的城市做5%灰度,A组保持旧模型,B组启用新模型,观测两周内的接管率与急刹率。若B组危险接管率下降但急刹率显著上升,则说明模型更保守,需要结合舒适性判据决定是否放量。
# 灰度实验配置示例(概念示意)
experiment_id: exp_noa_pred_2024_11
baseline_model: pred_v3.2.1
candidate_model: pred_v4.0.0
traffic_split:
A: 95%
B: 5%
guardrails:
dangerous_takeover_per_1kkm: "<= 0.8"
hard_brake_per_1kkm: "<= 3.0"
observation_window: 14d
rollback: automatic
从本章开始,后续内容将沿着“准入—分流—观测—决策—回滚”这条主线展开。你需要建立的第一个工程直觉是:灰度不是降低发布速度,而是用可控的小步快跑,换取更大的发布确定性与更低的系统性风险。