2. 基础知识

在自动驾驶系统中,模型并不是一次性部署后就永久有效的静态资产。车辆行驶环境、传感器状态、道路结构、天气光照以及用户驾驶行为都在持续变化,端侧模型必须被持续观察、评估、修正和升级。理解端侧模型、模型监控、热更新、OTA、影子模式与数据闭环这几个基础概念,是后续工程实践的前提。

一、端侧模型:部署在车端的推理实体

端侧模型指直接运行在车载计算平台上的深度学习模型或规则模型,例如感知模型、预测模型、规划模型或融合模型。它与云端训练模型的最大区别在于:端侧模型受限于算力、内存、功耗、时延和功能安全约束,通常需要经过量化、剪枝、算子融合或编译优化。端侧模型不仅包含权重文件,还包含预处理配置、后处理逻辑、输入输出张量定义、版本号和校验信息。

一个典型的端侧模型包通常包含以下内容:

model_pkg/
├── model.bin          # 量化后的权重
├── config.yaml        # 输入尺寸、归一化参数、阈值
├── preprocess.json    # 预处理算子链
├── postprocess.json   # NMS、解码、跟踪关联
├── manifest.json      # 版本、哈希、依赖库、适用车型
└── signature.bin      # 签名与完整性校验

端侧模型的关键属性包括版本号、输入输出契约、精度指标、时延预算和资源占用。任何一次热更新,本质上都是对这些属性的替换或增量修改。

二、模型监控:从“能跑”到“跑得对”

模型监控是对端侧模型运行时行为进行持续采集、统计、判断和告警的机制。它不只关注模型是否崩溃,更关注模型输出是否发生漂移、置信度是否异常、时延是否超限、资源是否泄漏。监控对象可分为三层:系统层、模型层和业务层。

  • 系统层:CPU/GPU/NPU 利用率、内存占用、温度、推理时延、帧率。
  • 模型层:输出分布、置信度直方图、类别比例、检测框数量、特征漂移指标。
  • 业务层:急刹次数、接管率、轨迹抖动、误检漏检关联事件。
监控的核心不是“看曲线”,而是建立基线并定义异常。没有基线的监控只会产生噪声告警。

常见监控指标包括推理时延 P99、置信度均值、类别熵、检测框数量方差、输入图像亮度分布等。监控数据通常以滑动窗口统计后上报,避免原始数据全量回传造成带宽压力。

三、热更新:不重启完成模型替换

热更新指在系统不重启、不中断主业务的前提下,完成模型文件替换、加载、校验和切换。对于自动驾驶系统,热更新必须保证原子性、可回滚和状态一致性。常见策略是双缓冲:新模型加载到备用区,校验通过后通过指针切换生效,旧模型保留用于回滚。

# 热更新伪流程
1. 下载新模型包到 /data/models/staging/
2. 校验签名与哈希
3. 加载到备用推理实例
4. 运行自检推理(固定输入,比对输出)
5. 原子切换 active 指针
6. 上报新版本号与切换结果
7. 保留旧版本,支持回滚
热更新不等于“直接覆盖文件”。覆盖过程中若推理进程正在读取旧文件,可能导致段错误或输出错乱。

四、OTA、影子模式与数据闭环

OTA(Over-The-Air)是通过无线网络对车端软件、模型、配置进行远程升级的统称。OTA 关注的是分发、差分、断点续传、签名校验和灰度发布。热更新是 OTA 在模型层面的一种具体执行方式,但 OTA 范围更广,还包括固件、中间件和应用。

影子模式(Shadow Mode)指新模型与旧模型并行运行,新模型只推理不控制,输出被记录并与旧模型对比。它能在不增加安全风险的前提下收集新模型在真实场景中的表现。影子模式的关键是“同输入、双推理、只记录、不执行”。

数据闭环指从车端采集数据、回传、标注、训练、评估、发布、再上车的循环过程。闭环的核心是让真实场景中的难例、异常和漂移被系统化地转化为训练数据,再通过 OTA 和热更新回到车端。

端侧模型监控与热更新数据闭环 车端(Edge) 端侧模型实例 model.bin / config / 版本号 模型监控探针 时延 / 置信度 / 漂移 / 资源 影子模式 新模型只推理不控制 热更新执行器 双缓冲 / 原子切换 / 回滚 云端(Cloud) 数据回传与存储 难例 / 漂移样本 / 事件切片 标注与训练 数据清洗 / 标注 / 再训练 评估与发布 离线评测 / 灰度 / 签名 OTA 分发 差分 / 断点续传 / 灰度 监控指标 / 影子输出 训练数据 / 新模型包 OTA 下发 / 热更新指令 影子对比 / 异常事件 数据闭环:采集 → 回传 → 标注 → 训练 → 评估 → OTA → 热更新 → 监控

五、常见术语与对比

术语作用位置核心目标关键约束
端侧模型车端推理芯片低时延、高精度完成推理算力、内存、功耗、功能安全
模型监控车端 + 云端发现漂移、异常与性能退化低开销、可解释、可告警
热更新车端运行时不重启完成模型替换原子性、可回滚、状态一致
OTA云端到车端远程分发与升级软件/模型签名、差分、灰度、断点续传
影子模式车端并行推理无风险收集新模型表现只记录不控制、同输入对比
数据闭环端到端流程让真实难例持续回流训练采集触发、标注质量、迭代效率

六、案例与场景:一次夜间误检的闭环处理

某车型在夜间雨天场景中,端侧感知模型对路侧反光标识产生误检,导致频繁误刹。监控系统发现该场景下检测框数量方差显著升高,置信度分布右偏。影子模式随即在同一输入上运行候选新模型,记录新旧输出差异。云端回传难例切片,标注后加入训练集,重新训练并量化。新模型通过离线评估后,以 OTA 差分包下发,热更新执行器在停车充电时完成切换,旧版本保留回滚。切换后监控指标恢复正常,闭环完成。

闭环的关键不是“传数据”,而是“传对的数据”。全量回传既昂贵又低效,应基于监控触发和影子差异进行选择性采集。

七、常见误区与复盘

  • 误区一:把热更新当成普通文件替换。忽略原子性和回滚,可能导致推理进程崩溃或输出错乱。
  • 误区二:监控只看系统指标。CPU 正常不代表模型输出正常,模型层漂移同样致命。
  • 误区三:影子模式直接参与控制。影子模式必须只记录不执行,否则失去无风险验证的意义。
  • 误区四:数据闭环只做一次。闭环是持续循环,不是一次性项目,需要版本管理和迭代节奏。
  • 误区五:OTA 不分灰度。全量推送一旦模型异常,影响面巨大,必须分车型、分区域、分批次灰度。