3. 模型监控概述

在自动驾驶系统中,模型并不是“训练完就结束”的静态资产。车辆每天采集的新场景、传感器老化、天气与光照变化、地图与交通规则更新,都会让模型在真实世界中的输入分布发生偏移。模型监控的核心任务,就是持续回答三个问题:模型现在表现如何?它是否正在偏离预期?一旦偏离,系统能否及时感知并触发处置?本节从监控目标、监控对象、离线与在线监控、指标体系与告警机制五个方面建立整体认知。

一、监控目标:从“能跑”到“可信赖”

自动驾驶模型监控的目标不是单纯追求某个指标好看,而是保障系统在开放道路上的安全、稳定与可追溯。具体可拆为四类目标:

  • 性能目标:持续确认感知、预测、规划等模型在关键场景下的精度、召回、时延满足要求。
  • 漂移目标:尽早发现数据分布、特征分布或标签分布的变化,避免模型在“旧世界”里表现良好、在“新世界”里失效。
  • 安全目标:对漏检、误检、急刹、轨迹抖动等高风险行为设置更严格的监控与告警阈值。
  • 可追溯目标:保留监控数据、告警记录与版本信息,支持事后复盘、责任界定与模型迭代。
监控的本质是“用可观测信号推断不可直接观测的模型风险”。指标是信号,告警是决策,闭环处置才是目的。

二、监控对象:模型、数据与系统三层

自动驾驶模型监控的对象通常分为三层。第一层是模型层,包括检测框、分割掩码、目标速度、预测轨迹、规划轨迹等输出;第二层是数据层,包括摄像头图像、激光雷达点云、毫米波雷达回波、GPS/IMU 等输入及其统计特征;第三层是系统层,包括推理时延、GPU 利用率、内存占用、通信丢包、时间同步偏差等运行状态。三层之间相互影响:数据漂移会引发模型输出异常,系统资源不足也会导致时延升高,进而影响控制安全。

三、离线与在线监控:两种节奏,一个闭环

离线监控面向历史数据与批量回放,通常用于模型上线前评估、版本对比、场景挖掘和根因分析。在线监控面向车端或云端实时流,强调低延迟、高吞吐和快速告警。两者不是替代关系,而是互补关系:离线发现的问题可以转化为在线监控规则,在线触发的异常片段可以回流到离线做深度复盘。

自动驾驶模型监控总体架构 数据层 摄像头 / 激光雷达 / 毫米波 GPS / IMU / 地图 / 天气 分布统计 · 缺失率 · 时延 模型层 检测 / 分割 / 跟踪 / 预测 规划轨迹 · 控制指令 置信度 · 输出分布 · 一致性 系统层 推理时延 · GPU / 内存 通信丢包 · 时间同步 温度 · 功耗 · 降频 离线监控 历史数据回放 · 版本对比 场景挖掘 · 根因分析 批量指标 · 漂移检验 在线监控 实时流 · 滑动窗口 阈值告警 · 异常检测 车端 / 云端协同 规则回流 片段回流

四、指标体系:从单点到分层

监控指标需要分层设计,避免“只看一个准确率”的陷阱。常见指标可分为数据指标、模型指标、系统指标和业务指标四类。数据指标关注输入分布,如亮度均值、点云密度、目标数量分布、缺失率;模型指标关注输出质量,如 mAP、IoU、轨迹误差、误检率、漏检率;系统指标关注运行健康,如 P99 时延、GPU 显存、丢帧率;业务指标关注驾驶行为,如急刹次数、接管率、碰撞预警触发率。指标之间要建立关联,例如“夜间亮度下降 → 检测召回下降 → 急刹次数上升”就是一条可解释的监控链路。

指标类别 典型指标 监控频率 告警关注点
数据指标 亮度均值、点云密度、目标数分布、缺失率 在线滑动窗口 / 离线批量 分布偏移、突变、持续漂移
模型指标 mAP、IoU、轨迹误差、误检率、漏检率 离线评估 / 在线抽样 关键类别召回下降、置信度异常
系统指标 P99 时延、GPU 显存、丢帧率、时间同步偏差 秒级 / 分钟级 时延超限、资源耗尽、同步失配
业务指标 急刹次数、接管率、碰撞预警触发率 分钟级 / 日级 安全相关指标恶化

五、告警机制:从阈值到分级处置

告警机制要解决“什么时候报、报给谁、报完做什么”。常见做法是设置多级阈值:黄色预警用于提示趋势变化,橙色告警用于要求人工介入,红色告警用于触发降级或停车等安全策略。告警不能只依赖单点阈值,还应结合持续时长、变化速率和影响范围。例如,检测召回率下降 2% 且持续 10 分钟,比瞬时下降 5% 更值得关注。告警产生后,应自动关联原始数据片段、模型版本、车辆 ID 和场景标签,形成可复盘的告警工单。

# 在线监控告警规则示例(伪配置)
monitor:
  window: 300s          # 滑动窗口
  metrics:
    - name: detection_recall
      threshold_warn: 0.92
      threshold_alert: 0.88
      duration: 600s
    - name: inference_latency_p99
      threshold_warn: 80ms
      threshold_alert: 120ms
      duration: 60s
  actions:
    warn:   record_and_notify
    alert:  trigger_replay_and_review
    critical: degrade_to_safe_mode

六、案例与误区复盘

某自动驾驶团队在夏季发现车辆在强逆光场景下检测召回率明显下降,但离线测试集上指标正常。复盘发现:离线数据缺少强逆光样本,在线监控只监控了整体 mAP,没有按光照条件分层。改进后,团队增加了“光照分组指标”和“逆光场景召回率”在线监控,并设置橙色告警。另一个常见误区是把告警阈值设得过低,导致大量噪声告警,工程师逐渐麻木;正确做法是先用离线数据回放校准阈值,再结合告警分级和抑制策略,确保每条告警都值得处理。

建议把监控指标分为“安全相关”和“体验相关”两类。安全相关指标一旦越界,应优先触发降级或人工接管;体验相关指标可以容忍更长的观察窗口,避免频繁打扰。
不要只监控模型输出,而忽略输入数据和系统状态。很多“模型变差”的根因其实是传感器脏污、时间同步漂移或推理资源不足。

综上,模型监控是一个从目标定义、对象分层、离线在线协同、指标设计到告警闭环的系统工程。只有把监控目标与安全策略对齐,把指标与场景分层结合,把告警与处置动作绑定,才能让自动驾驶模型在持续变化的世界中保持可信赖。