1. 课程导入

自动驾驶系统的研发不是“训练一个模型”这么简单。它是一条从数据采集、标注、训练、评测,到部署上车、闭环回流的完整工程链路。任何一环脱节,都会导致模型在仿真里表现优秀、在实车上却频繁误判。本课程要解决的,正是把这条链路当作一个整体系统来建设,而不是把训练、评测、部署当成三个互不相干的团队任务。

本课程的核心命题:让“训练—评测—部署”共享同一套数据语义、同一套指标口径和同一套可追溯版本,形成可持续迭代的闭环工程体系。

一、学习目标:从“会跑通”到“可交付”

完成本课程后,你应当具备三类能力。第一类是链路贯通能力:能独立搭建一条从数据集版本、训练配置、模型权重到部署包的最小可运行流水线。第二类是指标治理能力:能定义并解释感知、预测、规划各模块的评测指标,理解mAP、IoU、ADE/FDE、碰撞率、接管率等指标之间的因果关系,而不是只盯一个总分。第三类是工程交付能力:能把模型转换为推理引擎可加载的格式,完成量化、时延测试与版本回滚设计。

需要强调的是,本课程不追求“调参技巧大全”,而是建立工程判断力。例如:当评测集上的mAP提升但实车接管率没有下降时,你应该先怀疑数据分布偏移,而不是继续加训。

二、核心概念:四个必须建立的心智模型

  • 数据闭环:车端回传的难例(corner case)经过挖掘、标注、入库,重新进入训练集,形成“采集—训练—评测—回传”的循环。
  • 版本三元组:任何一次可复现的实验,都必须绑定“数据集版本 + 代码/配置版本 + 模型权重版本”。缺一不可。
  • 评测分层:离线评测(数据集指标)、仿真评测(场景通过率)、实车评测(接管与舒适性)三层递进,不能互相替代。
  • 部署约束前置:目标芯片算力、内存带宽、量化精度必须在训练阶段就纳入考虑,而不是训练完再“压缩适配”。

三、整体框架:一体化工程的五层结构

下图给出本课程贯穿始终的整体框架。它把数据、训练、评测、部署、闭环五个层次放在同一张图上,并标出层与层之间的关键接口。请重点观察:评测不是链路末端,而是同时向训练和部署反馈的“双向节点”。

自动驾驶训练评测部署一体化工程框架 数据层 采集 · 标注 · 难例挖掘 · 数据集版本管理 · 分布统计 数据集版本 v1.2 / v1.3 训练层 配置管理 · 分布式训练 · 超参搜索 · 权重版本 · 训练日志 模型权重 ckpt-0421 评测层(双向反馈节点) 离线指标 mAP / IoU / ADE / FDE · 仿真场景通过率 · 实车接管率 评测报告 report-0421 失败场景清单 部署层 模型转换 · 量化 · 推理引擎 · 时延/内存测试 · 版本回滚 部署包 deploy-0421 闭环层 车端回传 · 难例筛选 · 回归测试 · 灰度发布 · 指标看板 正向流水线 反馈回流

四、方法流程:一次完整迭代的六个步骤

  1. 确定目标与指标:明确本次迭代要改善的场景,例如“夜间无保护左转的漏检率”。
  2. 锁定数据版本:从数据湖中拉取对应场景切片,生成训练集与回归测试集。
  3. 训练与记录:固定随机种子,记录配置、日志与权重,保证可复现。
  4. 分层评测:先跑离线指标,再跑仿真场景,最后小范围实车验证。
  5. 部署验证:转换模型,测时延与精度损失,确认满足芯片约束。
  6. 闭环回流:把失败场景加入难例库,进入下一轮迭代。

下面是一段典型的训练与评测配置片段,注意其中同时绑定了数据、模型和评测三个版本号:

experiment:
  name: "night_uturn_v3"
  dataset_version: "city_night_2024_12"
  model_config: "bevformer_base.yaml"
  ckpt: "ckpt-0421"
  eval:
    offline: ["mAP", "IoU", "ADE", "FDE"]
    sim_scenarios: ["uturn_night_01", "uturn_night_02"]
    real_car: ["takeover_rate", "comfort_score"]
  deploy:
    target_chip: "Orin-X"
    precision: "int8"
    max_latency_ms: 80

五、案例与场景:一次“指标好看但实车变差”的复盘

某团队在白天数据集上把mAP从0.72提升到0.78,但实车夜间接管率反而上升。复盘发现:新训练集大量引入了白天合成数据,导致模型对夜间低照度特征的敏感度下降;同时评测只跑了离线指标,没有跑夜间仿真场景。修正做法是:在评测层强制加入“场景切片回归”,任何模型上线前必须通过夜间、雨天、逆光三类场景的最低通过率。

常见误区:把离线mAP当作唯一验收标准;忽略数据分布偏移;部署阶段才发现量化后精度骤降;实验记录缺失导致无法复现。这些问题的根源都是“训练、评测、部署”被割裂对待。

六、学习路径与关键检查清单

建议按“先贯通、再深入”的顺序学习:先理解整体框架与版本管理,再分别深入数据、训练、评测、部署四个模块,最后回到闭环与工程治理。下表给出本课程各阶段的能力检查点。

阶段核心任务交付物验收标准
框架认知理解五层结构与版本三元组链路图与版本规范能说清每层接口
数据工程数据集版本与难例挖掘数据集卡片可追溯、可切片
训练工程可复现训练流水线配置与权重同配置同结果
评测工程离线+仿真+实车三层评测评测报告失败场景可定位
部署工程转换、量化、时延测试部署包满足芯片约束
闭环治理回流与灰度发布指标看板迭代周期可度量
学习建议:每学完一个模块,回到本节的框架图,标出你当前掌握的层与尚未打通的接口。一体化工程的能力,最终体现在“接口是否清晰、版本是否可追溯、失败是否可复现”这三件事上。

当你能够用同一套语言描述数据、训练、评测和部署,并且任何一次模型变更都能回答“用了哪版数据、跑了哪些场景、部署在什么芯片上、失败了怎么回滚”,你就真正进入了自动驾驶一体化工程的工作方式。这也是本课程后续所有章节的共同基础。