Skip to content
RobotWorld
返回论文库

PAPER DEEP DIVE

自动驾驶autonomous driving仿真

自动驾驶仿真测试综述

综述自动驾驶仿真测试方法,涵盖仿真平台、测试策略和有效性评估。

Yun Li, Jiachen Gong, Simon Thompson, Ehsan Javanmardi, Qunli Zhang, Zifan Zeng, Shiming Liu, Peng Wang, Zixuan Guo, Manabu Tsukada2026年7月17日4 分钟阅读
EN

论文:Think at 5 Hz, Act at 20 Hz: Asynchronous Fast-Slow Vision-Language-Action Inference for Closed-Loop Driving

作者:Yun Li, Jiachen Gong, Simon Thompson, Ehsan Javanmardi, Qunli Zhang, Zifan Zeng, Shiming Liu, Peng Wang, Zixuan Guo, Manabu Tsukada(东京大学等)

来源:arXiv:2607.15621

核心洞察:语言模型驾驶智能体的延迟问题是架构性的,而非根本性的——指令理解和时序场景聚合(昂贵部分)变化缓慢,而将当前帧映射到轨迹(计算量轻)必须快速发生。将二者解耦为快慢系统:冻结的 7B 骨干低频维护 KV 缓存,337M 动作专家每 tick 高频读取缓存回归航点,在消费级 GPU 上实现 20 Hz 全速率闭环控制。

1. 研究背景与动机

基于大视觉-语言模型(VLM)的语言条件驾驶智能体可以遵循自然语言导航指令、解释决策并继承互联网规模预训练的世界知识。然而这些能力的代价是推理延迟:一个 7B 骨干在每个控制步重新读取完整视觉历史,无法跟上 20 Hz 的闭环仿真器 tick 速率,更不用说真实车辆。开源标杆 LMDrive 通过隔 tick 调用模型、中间重放旧命令来妥协——一半时间车辆基于忽略最近 50–100 ms 观测的决策行动。

两种调度对比

图1:一秒控制对比。跳帧智能体每次调用 89 ms,因此每两 tick 才产生一次新控制,中间重放旧命令;本文专家每 tick 读取骨干缓存并在 32 ms 内发出新控制,外加每 K=4 tick 一次 21 ms 缓存追加。

本文论证延迟问题是架构性的:指令理解和时序场景聚合变化缓慢,而当前帧到轨迹的映射必须快但计算量轻。这一观察提示一种快慢分解(fast-slow decomposition),灵感来自驾驶领域的 DriveVLM 双过程设计和操作领域的 $\pi_0$。

VLM的推理延迟 $t_{\mathrm{vlm}}$ 和控制频率 $f_{\mathrm{ctrl}}$ 之间存在根本矛盾。设 VLM 推理需要 $n=4$ 次前向传播,每次 $\sim$50 ms,则:

$$ t_{\mathrm{vlm}}=n \times t_{\mathrm{forward}} \approx 4 \times 50 = 200\text{ ms} $$

而车辆控制需要 20 Hz(50 ms/tick)的更新频率。传统方法在 VLM 推理期间重放上一步动作,导致一半的控制输出忽略最新观测。快慢架构通过冻结 VLM 并使用轻量动作专家在缓存上推理,将控制延迟降至 32 ms。

2. 快慢架构总览

异步快慢推理架构

图2:异步快慢推理。冻结骨干(左)每 K tick 消化指令和历史,通过增量前向传播每帧追加四个 token 到逐层 KV 缓存;动作专家(右)在每个仿真 tick 运行:其十个 token 在 32 层每层交叉注意力到缓存键值并回归五个航点。骨干从不注意专家 token,因此缓存有无专家完全相同。

系统构建于 LMDrive 之上:冻结感知编码器将多视角摄像头和 LiDAR 转为逐帧特征,Q-Former 将每帧压缩为 $n=4$ 个视觉 token,冻结的 LLaMA-7B 骨干消费 token 序列。本文附加一个 337M 参数动作专家——一个 32 层 transformer,隐藏宽度 $d_{\mathrm{ae}}=512$,与骨干层一一对应。

3. 动作专家:逐层缓存注意力

在层 $\ell$,专家通过矩形投影 $W^{\ell}_{q,k,v}\in\mathbb{R}^{4096\times 512}$ 将自己的 token 投影到骨干的 32 头、128 维注意力几何中,拼接骨干同层的缓存键值,执行单次注意力操作:

$$\mathrm{Attn}\!\left(Q_{\mathrm{ae}}^{\ell},\;[K_{\mathrm{vlm}}^{\ell};K_{\mathrm{ae}}^{\ell}],\;[V_{\mathrm{vlm}}^{\ell};V_{\mathrm{ae}}^{\ell}}]\right)$$

后接输出投影回 $d_{\mathrm{ae}}$ 和 SwiGLU 前馈块。骨干从不注意专家 token,因此缓存的 $K_{\mathrm{vlm}},V_{\mathrm{vlm}}$ 无论专家是否运行都相同——这是允许缓存的关键属性。

每帧专家消费十个 token:一个状态 token(编码前次预测航点、前次控制三元组、当前速度和目标点)、当前帧的四个视觉 token(由骨干相同的 Q-Former 管线产生)和五个可学习航点查询,经两层头解码为五个 $(x,y)$ 航点,在 L1 监督下训练。

动作专家的逐层缓存注意力将VLM的键值缓存 $K_{\mathrm{vlm}}^\ell, V_{\mathrm{vlm}}^\ell$ 与动作专家自身的 $K_{\mathrm{ae}}^\ell, V_{\mathrm{ae}}^\ell$ 拼接:

$$ \mathrm{Attn}\left(Q_{\mathrm{ae}}^\ell,\;[K_{\mathrm{vlm}}^\ell;K_{\mathrm{ae}}^\ell],\;[V_{\mathrm{vlm}}^\ell;V_{\mathrm{ae}}^\ell]\right) $$

动作专家的注意力权重矩阵 $W_{q,k,v}^\ell \in \mathbb{R}^{4096 \times 512}$,嵌入维度 $d_{\mathrm{ae}}=512$。

4. 延迟增强训练

部署时缓存落后当前帧最多 $K$ 个 tick。训练时通过为每个样本抽取 $\delta\sim\mathcal{U}\{0,\ldots,\delta_{\max}\}$ 来复制这一差距,掩码骨干前缀使第 $j$ 帧的专家块可见性截止到第 $j-\delta$ 帧,或 $j<\delta$ 时仅指令文本。专家因此学会融合过时的场景摘要与新鲜的逐 tick 证据。状态 token 在高斯噪声和随机 dropout 下进行教师强制前次航点训练,限制暴露偏差。

延迟增强训练中,每个时间步的延迟 $\delta$ 从均匀分布采样:

$$ \delta \sim \mathcal{U}\{0,\dots,\delta_{\max}\} $$

训练时将 $\delta$ 步前的观测作为输入,模拟部署时的陈旧性。当 $\delta=0$ 时对应无延迟的理想情况。

5. 异步部署

智能体将骨干缓存作为可变状态维护。每 $K=4$ 个 tick(20 Hz 下 0.2 s,匹配训练帧网格),通过增量前向传播追加当前帧的四个 token,其代价与历史长度无关。缓存仅在指令变更、通知到达、episode 结束或缓存历史达到训练窗口上限时从头重建。每 tick 专家原样读取缓存,因此测试时 staleness 以 $K-1$ tick 为界并保持在训练分布内。旋转相位使仅追加缓存精确——golden test 对比单体与增量预填充确认航点差异在 fp16 噪声底限 4 mm 以下。

快慢架构中,VLM以 $K=4$ 个tick(约200ms)为周期运行,动作专家在每个tick(32ms)读取缓存上下文并输出控制。VLM缓存追加每 $K$ 个tick执行一次(21ms),形成5Hz思考、20Hz执行的异步模式。

6. 方法架构流程

flowchart TD
    CAM["多视角摄像头 + LiDAR"] --> ENC["冻结感知编码器"]
    ENC --> QF["Q-Former\n4 visual tokens/frame"]
    QF --> APPEND["每 K=4 tick\n增量追加到 KV 缓存\n(21 ms)"]
    INSTR["导航指令"] --> BB["冻结 LLaMA-7B 骨干"]
    APPEND --> BB
    BB --> CACHE["逐层 KV 缓存\n(K_vlm, V_vlm)"]
    CACHE --> EXP["337M 动作专家\n32层, d=512"]
    CURR["当前帧 4 tokens"] --> EXP
    STATE["状态 token\n(prev waypoints, control, speed)"] --> EXP
    EXP --> WP["5 个 (x,y) 航点\n(L1 监督)"]
    WP --> PID["PID 控制器\n→ 车辆控制"]
    EXP -.- NOTE["骨干从不注意专家 token\n→ 缓存有无专家相同"]

7. 实验结果

7.1 开环航点精度

方法L1 (m) ↓训练参数
骨干动作头(冻结)0.123
动作专家,仅 $\delta=0$0.037337M
动作专家,随机 $\delta$(本文)0.031337M

随机延迟专家即使测试无 staleness 也优于其 $\delta=0$ 孪生体,说明增强在 staleness 出现前就起到了正则化作用。

7.2 闭环驾驶(town05, LangAuto-Short)

闭环驾驶场景

图4:town05 闭环驾驶。每面板显示前视与侧视、导航指令、运行时通知和预测航点;右下面板在通知标记的红灯前刹车。

智能体控制率DS ↑RC ↑IS ↑
LMDrive(重放 tick)10 Hz28.8 ± 0.837.0 ± 0.40.80 ± 0.04
FastSlow-LMDrive,跳帧10 Hz34.082.10.45
FastSlow-LMDrive(本文)20 Hz32.9 ± 0.794.0 ± 2.60.37 ± 0.02

路线完成率差距主导对比:基线每公里累积 25.0 次路线偏移和 2.9 次超时,本文仅 4.3 和 0.08。跳帧中间行分离两个因素——相同训练专家在 10 Hz 下已达 DS 34.0(专家贡献),而从 10 Hz 升至 20 Hz 将完成率从 82.1 提至 94.0、路线偏移从 11.3 降至 4.3、红灯违规从 10.4 降至 6.9(新鲜度贡献)。

7.3 延迟

延迟与精度

图5:左:逐步模型延迟 vs 历史长度。传统路径每步重新编码全部历史,在任何历史长度下都超出 50 ms tick 预算;本文逐 tick 代价平坦在 32 ms。右:验证航点 L1 随训练 epoch;随机延迟专家在每个 epoch 都领先。

阶段传统逐步本文每 tick本文每 K=4 tick
感知 + Q-Former26.924.8 (29.2)
骨干全重计算61.6
增量追加21.1 (10.7)
动作专家7.5 (9.3)
总模型计算88.632.45.3 摊销

传统代价随历史增长(10 帧 59 ms 到 100 帧 169 ms),这是公开智能体跳帧的原因。本文逐 tick 模型代价平坦——专家通过注意力读取缓存,由自身十个 token 主导,7–9 ms 与历史长度无关;缓存维护摊销 5 ms/tick。模型计算保持低于 50 ms tick 预算约 18 ms。闭环内端到端 agent 步中位数 58 ms,差异来自传感器格式化和评估工具开销,CARLA 同步模式下车辆每 tick 仍获得新控制,墙钟率约 17 Hz。

7.4 零样本城镇迁移

评估城镇

图3:四个评估城镇。专家仅在 town05 短路线训练;town01、02、03 在专家训练中从未出现。

城镇智能体控制率DS ↑RC ↑IS ↑
town01 (23 路线)LMDrive10 Hz20.540.50.56
FastSlow-LMDrive20 Hz23.284.30.26
town02 (15 路线)LMDrive10 Hz11.630.70.38
FastSlow-LMDrive20 Hz28.394.40.29

路线完成率几乎完整迁移——town02 达 94.4、town01 达 84.3(域内 94.0),表明专家学会了读取骨干缓存和当前帧而非记忆特定城镇几何。基线在最不熟悉场景退化最大处优势最大——town02 上驾驶分数 2.4 倍、完成率 3.1 倍于基线。旧控制在场景不熟悉时伤害最大。

8. 局限性

  • 这是仿真研究,仅在单城镇短路线上训练。长路线危险协商不迁移——town03 八条长路线上完成率 85.4% 但车辆碰撞和红灯违规足够多,惩罚因子降至 0.04,驾驶分数仅 2.96。
  • 每公里车辆碰撞随完成率增加(3.2→11.2),专家完成了它未学会安全协商的交通。
  • 底层 PID 控制器继承为较慢基线调优的增益,未重新调参。
  • 主对比仅两次运行/配置,跳帧消融和迁移行为单次运行,观察到的运行间 DS 偏差达 1.6。
  • 驾驶系统需要远超仿真基准的安全验证,本文不构成道路就绪的证据。

9. 总结

本文将语言引导驾驶智能体沿"理解慢、反应快"的界线分解:冻结 7B 骨干低频维护增量缓存的指令与历史表示,337M 动作专家每仿真 tick 通过逐层注意力读取该缓存回归航点。随机延迟训练使专家与部署时遇到的异步缓存对齐。CARLA 闭环评估表明两个分解部分各自贡献——专家提升驾驶分数,而逐 tick 新鲜度(仅因缓存使模型代价与历史长度无关而可负担)将路线完成率提升至跳帧基线的 2.5 倍(37.0→94.0)。零样本迁移到两个未见城镇保持 84–94% 完成率(基线 31–41%),逐 tick 模型代价 32 ms 与历史长度无关。缓存接口还开启了从世界模型预训练骨干以丰富缓存编码、到利用快慢分歧作为免训练运行时安全监督触发器的方向。

相关论文