VAD 已经又快又安全了,但它仍然只会开"见过的路"。当路上出现一个训练集里从未有过的东西时,端到端模型无从推理。DriveVLM 的答案是:让大模型上车,负责"想";让传统模块留守,负责"反应"。
前六篇走下来,技术路线越来越强:BEV 统一了表示,UniAD 打通了全栈,VAD 做到了又快又安全。看起来只剩工程打磨了。
但有一类问题,沿着这条路怎么优化都解决不了。
· 前方有个交警在打手势指挥你绕行,但信号灯是绿的
· 路中间躺着一辆被撞倒的自行车,旁边有人蹲着
· 前车尾部挂着"学员车"的牌子,起步会很慢
· 一个孩子在路边追着球跑,球还没滚到路上
· 施工路段用倒扣的水桶和木板临时封住了一条车道
这些场景的共同点:训练数据里几乎没有,而且理解它们需要"常识"和"推理",不只是模式匹配。
端到端模型的工作方式是:从海量驾驶数据里学习"这种画面 → 这样开"的映射。但对于从未见过的画面,它没有可依据的映射。它不能"想"——不能推理"那个人蹲在自行车旁边,可能马上会站起来走到路中间"。
论文开篇一句话点明了这个困境:城市自动驾驶的首要障碍,是理解复杂和长尾的场景——比如复杂路况和微妙的人类行为。
2023 年之后,视觉语言大模型(VLM)展现出了惊人的视觉理解和推理能力。给它一张图,它能描述场景、分析因果、推测意图——这正是端到端驾驶模型缺的那一块。
DriveVLM 要做的事就很清楚了:把 VLM 的推理能力接到自动驾驶系统里。但这件事远没有听起来那么简单——第 4 节会讲它撞上的两堵新墙。
DriveVLM 的双系统设计,思想来源是认知科学里非常著名的一个模型——快思考与慢思考(丹尼尔·卡尼曼《思考,快与慢》)。
你自己开车时就是这样:99% 的时间靠系统 1——跟车、变道、刹车,几乎不需要动脑,甚至可以一边聊天一边开。
但遇到没见过的情况——前面路口围了一堆人、有人在马路中间摆手、路面有个看不清是什么的东西——你会瞬间安静下来,减速,开始认真"想"。这就是系统 2 被唤醒。
关键在于:你不会用系统 2 去处理每一次跟车(太慢,来不及),也不会用系统 1 去处理交警手势(没这个反射)。两个系统各司其职,这正是 DriveVLM-Dual 的核心。
DriveVLM 的核心是一条思维链(Chain-of-Thought, CoT),把"看到画面 → 输出轨迹"这个跨度巨大的跳跃,拆成三个渐进的推理阶段。
用自然语言描述驾驶环境(天气、时间、道路类型、车道状况),并识别出场景中的关键物体——不是检测所有东西,而是找出"会影响我怎么开"的那些。
对关键物体逐个分析:它的特性是什么?它会对自车产生什么影响?这一步是从"有什么"跨越到"意味着什么"——正是推理能力发挥作用的地方。
由粗到细三层输出:元动作(一串短期决策,如"减速""靠左""等待")→ 决策描述(用语言说明具体怎么执行)→ 轨迹路点(可以直接给控制模块的坐标)。
这是 CoT 的经典价值,在你之前学的大模型知识里应该很熟悉:让模型"把思考过程写出来",答案质量会显著提升。因为每一步的中间结论都成为下一步的输入,模型不需要在一次跳跃里完成所有推理。
在驾驶场景里还有第二重价值——可解释性。传统端到端是个黑盒:它输出一条轨迹,你不知道为什么。DriveVLM 会告诉你:"我看到右前方有个交警在打手势示意停车,虽然信号灯是绿的,所以我决定减速停车。"这对量产系统的事故复盘和责任认定,价值极大。
选一个长尾场景,然后逐步展开思维链——你会看到模型是怎么从"一张图"推到"一条轨迹"的。这些正是端到端模型最容易失手、而 VLM 最能发挥价值的情况。
你会发现每个场景里,真正的难点都不在"看见",而在"理解"。传统感知模块能检测出那是一个人、一辆自行车、一个锥桶——但它无法推理出"这个人蹲在那里说明前方有事故,随时可能有人走出来"。
这就是 VLM 上车的全部意义:它带来的不是更准的检测,而是"常识"。
如果 VLM 这么好,直接用它开车不就行了?论文非常诚实地指出了两个致命限制——这也是 DriveVLM-Dual 存在的全部理由。
VLM 擅长"这是什么、意味着什么",但不擅长"它到底在哪、离我多远"。
让 VLM 看一张图,它能准确说出"右前方有一辆白色轿车正在变道"——但如果你问"它距离你 12.3 米还是 18.7 米",它答不准。语言模型的世界是语义的,不是度量的。
规划轨迹需要厘米级的空间精度。"前方有车"不足以让你决定方向盘打几度——你需要知道它精确的 3D 位置、速度、朝向。VLM 给不了这个。
这个问题你已经很熟悉了——上一篇 VAD 才刚解决完"UniAD 只有 1.8 FPS"的问题。而 VLM 比 UniAD 重得多:它要生成一大段自然语言推理,每个 token 都要过一遍大模型。
车规级芯片的算力预算远低于数据中心。指望在 Orin 上以 10Hz 跑一个几十亿参数的 VLM,目前不现实。
我们有两个东西:
· 传统模块:空间精确、跑得飞快,但不会推理
· VLM:会推理、有常识,但空间模糊、跑得很慢
这两者的优缺点正好互补。那还犹豫什么——让它们合作。
这是整篇论文最实用的部分,也是真正能落地量产的设计。
VLM 识别出"右前方那个蹲着的人"是关键物体,但说不清他的精确位置。传统 3D 检测器把这个物体的精确 3D 框补上——这叫 3D grounding(三维定位落地)。
于是慢系统的语义理解,就有了可用于规划的空间坐标。
VLM 输出的粗略轨迹(以及它对场景的理解)作为参考送给快系统的规划器,由后者以高频率做精细优化。
于是快系统的实时输出,就有了慢系统的判断力兜底。
两个系统不需要同频运行。快系统以 10Hz 以上持续输出控制轨迹;慢系统以低得多的频率(比如每隔几帧)跑一次深度推理,把它的判断"注入"到快系统里去。
这就绕开了"VLM 太慢"的死穴——它本来就不需要每一帧都想一遍。人开车也是这样:你不会每 0.1 秒重新思考一次"这个路口有没有异常",你只在情况变化时才启动深度思考。
用你的后端经验类比:这就是热路径(hot path)与慢路径(slow path)分离的经典架构。高频请求走缓存和快速路径;复杂请求异步走重计算,结果回填。
或者说,这是实时控制回路 + 异步决策服务的组合——你在 Project 3 的车云协同架构里,本质上也是在做同样的事:车端跑高频实时推理,云端跑低频重计算。架构模式是相通的。
要证明"能处理长尾场景",你得先有长尾场景的数据。而 nuScenes 这类公开数据集里,绝大多数是常规驾驶片段。
于是团队构建了 SUP-AD(Scene Understanding for Planning)数据集,专门收集复杂和长尾的驾驶场景,并配上场景理解与规划的标注。
数据集是研究基础设施。一个新方向能不能发展起来,往往取决于有没有好的评测基准。SUP-AD 让"场景理解能力"变成了可量化、可对比的东西,而不只是放几个漂亮的 demo 视频。
对你的启发:做 Project 2/3 时,先把"怎么评测"想清楚,比先写模型更重要。没有评测基准,你无法判断改动是变好还是变坏。
论文明确写了:最终把 DriveVLM-Dual 部署到了一辆量产车上,验证它在真实自动驾驶环境中确实有效。
这是很多学术论文做不到的。结合作者单位——清华大学 IIIS + 理想汽车——就不难理解为什么:这是一篇带着量产诉求做的研究,和上一篇 VAD(华科 + 地平线)是同一个性质。
看这几篇论文的作者单位:UniAD(上海AI Lab + 商汤)、VAD(华科 + 地平线)、DriveVLM(清华 + 理想)。
中国智驾的前沿研究,几乎全是"顶尖高校 + 产业公司"的联合体。这意味着:这个领域的论文不是象牙塔产物,它们的作者就是在解决量产工程问题的人。
这对你求职是个很实际的信号——读懂这些论文,就是在读懂你未来同事的思维方式。
DriveVLM 是一座桥。它证明了"大模型能给驾驶带来推理能力",但它的形态还是两个系统拼在一起。接下来的演进,是把这两个系统融成一个。
| 阶段 | 形态 | 代表 |
|---|---|---|
| 模块化端到端 | 感知/预测/规划分模块,query 串联 | UniAD、VAD |
| 双系统(本篇) | VLM 慢思考 + 传统快反应,两套并行 | DriveVLM、理想量产方案 |
| VLA 一体化 | 视觉-语言-动作,一个模型直出控制 | 小鹏 VLA、FSD v14 |
| 砍掉语言层 | V-A 直连,为延迟牺牲显式推理 | 小鹏 VLA 2.0 |
DriveVLM 用"双系统"绕开了 VLM 太慢的问题——让它低频跑。但双系统有个固有代价:两套模型要维护、要对齐、接口复杂。
于是下一步的想法很自然:能不能只用一个模型,既有推理能力又跑得快?小鹏 VLA 2.0 的答案是——砍掉中间的语言生成环节。语言推理是最慢的部分(要一个 token 一个 token 生成),把它去掉,直接从视觉到动作,延迟就压下来了。
代价是失去了显式的可解释性——模型不再"说出"它的推理过程。这是一个典型的工程取舍:用可解释性换延迟。而 DriveVLM 这一篇,恰恰是那个"保留了可解释性"的版本。
所以这两条路线今天仍在并行:需要可解释、可复盘的场景保留语言推理;需要极致延迟的控制回路走 V-A 直连。理解了 DriveVLM,你就理解了这场取舍的两端。
| 论文 | 一句话贡献 | 它解决了谁的问题 |
|---|---|---|
| Transformer | Q/K/V 通用序列机器 | RNN 的串行与长依赖 |
| ViT | 图像可以 token 化 | Transformer 进不了视觉 |
| LSS | 多相机推进 BEV(几何) | 怎么把多相机融成统一表示 |
| BEVFormer | 注意力做 BEV + 时序 | LSS 的深度依赖 |
| UniAD | 全栈端到端为规划服务 | 模块化的误差累积 |
| VAD | 矢量化提速 + 显式约束 | UniAD 太慢 |
| DriveVLM | 大模型带来推理与常识 | 端到端搞不定长尾 |
这七篇构成了一条完整的因果链:每一篇都在解决上一篇留下的问题。你现在能从 2017 年的注意力机制,一路讲到 2026 年小鹏 VLA 2.0 和 FSD v14 的技术选择——而且能讲清每一步为什么这么走。
"这条线的主线是不断把人工设计的东西交给数据去学:LSS 手写深度分布 → BEVFormer 用注意力隐式解决;UniAD 人工划分五个模块 → VLA 把中间模块全部隐式化;DriveVLM 用两套系统拼接 → VLA 2.0 融成一个。每一步都是在减少人工先验、增加数据驱动——这和 ViT 当年用数据规模取代 CNN 归纳偏置,是同一个故事在不同层面的重演。"
它学的是"画面→动作"的映射,对没见过的画面没有映射可依,且不具备推理与常识。
场景描述 → 场景分析 → 分层规划(元动作→决策描述→路点)。
空间推理弱(快系统补 3D 定位)+ 太慢(频率解耦,低频运行)。这是本篇最核心的考点。
双系统保留可解释性但要维护两套;VLA 砍语言层换延迟但失去显式推理。能讲这个取舍,说明你不只读了论文,还理解了产业选择。
这条论文线到此告一段落。如果你想继续,还有两个方向:世界模型(GAIA-1 / DriveDreamer,理解华为 ADS 的技术根)或者 VLA 综述(一篇看懂 20+ 个 VLA 模型的演化谱系)。也可以就此停下,回到 Project 2/3 的实战——七篇的理论储备,已经足够支撑你把项目做完并讲清楚了。