SpanVLA:让自动驾驶模型学会"避坑"和"纠错",推理速度还快了 74%
自动驾驶领域有一个有趣的悖论:模型越聪明(用大语言模型做推理),反应越慢。当你需要每秒做出多次驾驶决策时,一个需要逐 token 生成轨迹的 VLA(视觉-语言-动作)模型就像一个想太多的人——思考很深,但来不及踩刹车。
来自 UCLA、Motional 和东北大学的研究团队提出了 SpanVLA,试图同时解决两个核心问题:推理太慢和只学好样本不够。他们的方案很巧妙——把"思考"和"行动"分开,让大模型负责想,让专门的专家负责做;同时引入"负样本"和"恢复样本"的强化训练,让模型不仅知道什么是好的驾驶,还知道什么是坏的驾驶,以及怎么从错误中恢复。
问题一:VLA 模型的"思考瘫痪"
现有的 VLA 模型(如 AutoVLA、OpenVLA)通常采用自回归框架:视觉输入 → 语言推理 → 逐 token 生成驾驶动作。问题在于,动作生成的延迟随轨迹长度线性增长——生成 10 个航点需要 0.4 秒,生成 50 个航点需要 1.72 秒。在自动驾驶场景中,这种延迟是不可接受的。
更关键的是,现有方法在"桥接"视觉-语言空间和动作空间时,要么只用 VLM 的最后一层特征(信息损失大),要么用所有层的特征(计算量大)。
问题二:只看"好司机"学不会"避坑"
当前 VLA 模型几乎完全依赖专家驾驶轨迹进行模仿学习。这就像只让一个人看完美驾驶录像——他学会了正常开法,但遇到突发情况(行人突然冲出、前车急刹)时,他不知道该避免什么,也不知道怎么从错误中恢复。
而现实世界中,自动驾驶系统在早期测试中会产生大量"次优轨迹"和"专家接管纠正"的数据。这些数据通常被丢弃,但它们恰恰包含了最有价值的学习信号。
SpanVLA 的两大创新
创新一:高效动作桥接
SpanVLA 的核心架构是一个"双引擎"设计:
引擎一:VLM 推理器(Qwen2.5VL-3B)
- 处理多视角、多帧视觉输入
- 生成结构化的推理链(Chain-of-Thought)
- 支持自适应推理:简单场景快速决策,复杂场景深度思考
引擎二:流匹配动作专家(Flow-Matching Action Expert)
- 从 VLM 的稀疏层(每隔 2 层)提取 KV-Cache 特征
- 以历史轨迹作为初始化条件(而非随机噪声)
- 通过流匹配生成连续的未来轨迹
这个设计有三个关键决策值得深入理解:
1. 稀疏层提取 vs 密集层提取
Alpamayo(之前最好的方法之一)使用所有 VLM 层的 KV-Cache,计算量大。SpanVLA 只用每隔 2 层的特征,大幅减少计算量,同时性能只下降了 1.7 个 PDMS 点(90.3 vs 88.1)。这是一个很好的效率-性能权衡。
2. 历史轨迹初始化 vs 随机噪声初始化
传统流匹配从高斯噪声 N(0,I) 开始去噪。SpanVLA 从历史轨迹嵌入开始,直接学习"从过去到未来"的变换。直觉上,未来轨迹通常不会偏离历史轨迹太远——从历史轨迹出发比从随机噪声出发更接近目标。
消融实验证实了这一点:有历史初始化的 PDMS 为 90.3,没有的只有 86.4。
3. 动作空间预测 vs 潜在空间预测
论文比较了三种桥接模式:
- 动作空间(直接在动作坐标中预测向量场)→ PDMS 90.3 ✅
- 潜在空间(将轨迹编码到潜在空间再预测)→ 较差
- 顺序模式(先生成条件特征,再在动作空间做流匹配)→ 较差
直接在动作空间操作虽然简单,但效果最好。
创新二:负样本-恢复样本强化微调
这是论文最有意思的部分。SpanVLA 引入了三种训练样本:
| 样本类型 |
含义 |
数量 |
学习目标 |
| 正样本 |
专家驾驶轨迹 |
100K |
学习标准驾驶行为 |
| 负样本 |
次优驾驶轨迹 |
3K |
学会避免错误行为 |
| 恢复样本 |
专家纠正轨迹 |
3K |
学会从错误中恢复 |
强化微调使用 GRPO(Group Relative Policy Optimization),奖励函数设计如下:
r = r_Driving - w_N × r_Negative + w_R × r_Recovery - λ_C × r_CoT
其中:
- r_Driving:基于 PDMS 的驾驶质量评分
- r_Negative:L2 距离惩罚——如果模型生成的轨迹接近负样本轨迹,则扣分
- r_Recovery:L2 距离奖励——如果模型生成的轨迹接近恢复样本轨迹,则加分
- r_CoT:推理长度惩罚——鼓励模型在简单场景中减少不必要的推理
负样本惩罚的精巧设计:惩罚不是无限制的——它在一个有界的 L2 区域内激活。如果模型生成的轨迹离负样本很远,惩罚为 0(不需要惩罚);如果很近,惩罚线性增大。这避免了将策略推向极端偏离的轨迹。
推理-动作一致性检查:还有一个巧妙的规则——如果模型的推理文本说"左转"但预测的轨迹是"直行",则施加固定惩罚。这确保了模型"说到做到"。
mReasoning 数据集
SpanVLA 还贡献了一个新的驾驶推理数据集 mReasoning:
- 30K 复杂场景:来自拉斯维加斯、波士顿、匹兹堡、新加坡的真实驾驶日志
- 聚焦长尾场景:变道、车道偏移、弱势道路使用者、施工区域、停车标志
- 使用 Gemini-3-Pro 自动生成 CoT 标注,人工质检准确率 80.2%
- 3K + 3K 负样本-恢复样本:据作者所知,这是首个包含真实世界负样本-恢复样本的驾驶数据集
实验结果
NAVSIM v1(navtest)
| 方法 |
PDMS ↑ |
NC ↑ |
DAC ↑ |
EP ↑ |
| DiffusionDrive |
88.1 |
98.2 |
96.2 |
82.2 |
| AutoVLA |
89.1 |
98.4 |
95.6 |
81.9 |
| SpanVLA (Post-RFT) |
90.3 |
99.1 |
97.1 |
86.3 |
SpanVLA 在 PDMS 上达到 SOTA,尤其在 Ego Progress(行程效率)上大幅领先(86.3 vs 82.2)。
NAVSIM v2(navhard,高难度场景)
| 方法 |
EPDMS ↑ |
NC ↑ |
DAC ↑ |
| RAP |
36.9 |
97.1 |
94.4 |
| SpanVLA |
40.1 |
98.4 |
94.3 |
在高难度场景中,SpanVLA 的 EPDMS 比第二名高出 3.2 个点。
推理效率
| 方法 |
轨迹生成时间 (50 航点) |
| AutoVLA(自回归) |
1.72s |
| SpanVLA(流匹配) |
0.08s |
快了 21.5 倍,或者说延迟降低了 95%。
消融实验的关键发现
- 正+负+恢复 > 正+负 > 正+恢复 > 仅正:三种样本的组合效果最好
- 先正样本预热,再混合训练:直接混合训练不如先做 2K 步正样本预热
- 负样本比例不是越多越好:3K 正 : 1K 负的比例最佳,继续增加负样本收益递减
- 恢复样本替代部分负样本:用 0.5K 恢复 + 0.5K 负样本替代 1K 负样本效果更好
我的思考
SpanVLA 让我想到几个更广泛的趋势:
第一,"分而治之"正在成为 VLA 模型的主流范式。 AutoVLA 试图让一个大模型同时负责推理和动作生成,但延迟太高。SpanVLA、Alpamayo、ReCogDrive 都在走"大模型推理 + 小专家执行"的路线。这和人类驾驶很像——你的大脑负责判断"该左转了",但方向盘的操作是肌肉记忆,不需要逐帧思考。
第二,"负样本学习"在自动驾驶中被严重低估。 在 NLP 中,RLHF 已经是标配——模型需要知道什么是"坏"的回答。但在自动驾驶中,大家还在主要依赖模仿学习。SpanVLA 证明了负样本和恢复样本的价值,这可能会成为一个新的研究方向。
第三,流匹配正在取代扩散模型成为动作生成的首选。 从随机噪声去噪(扩散/流匹配)到从历史轨迹变换(SpanVLA),这个转变的核心是:利用问题的结构来减少搜索空间。自动驾驶的轨迹不是随机的——它受到物理约束和历史惯性的强烈影响。从历史轨迹出发,比从随机噪声出发,天然就更接近正确答案。
第四,1.5 Hz 的推理频率仍然不够。 论文坦诚地指出,当前 0.67 秒的总推理时间(约 1.5 Hz)距离实时部署还有差距。Alpamayo 在硬件优化后可以达到 1.75ms/token,而 SpanVLA 当前是 33ms/token。这说明算法创新和工程优化是两条需要并行的路。
论文: SpanVLA: Efficient Action Bridging and Learning from Negative-Recovery Samples for Vision-Language-Action Model
项目页: spanvla.github.io
作者: Zewei Zhou, Ruining Yang, Xuewei Qi, Yiluan Guo, Sherry X. Chen, Tao Feng, Kateryna Pistunova, Yishan Shen, Lili Su, Jiaqi Ma (UCLA, Motional, Northeastern)
代码: 暂未开源