认识 Qwen-Drive-1.0:阿里把 4B 多模态大模型塞进驾驶座,还说"底座一个字没改"
我先说个让我后脊背发凉的观察。
过去两年,大模型干的事基本都发生在屏幕里:陪你聊天、写周报、画头像、帮你回怼产品经理。它再强,也是个"坐在椅子上"的东西。
直到 2026 年 9 月初,阿里千问团队联合华中科技大学把 Qwen-Drive-1.0-4B 开源了——一个能同时看路、回答路况问题、并直接吐出未来 5 秒行驶轨迹的模型。官方博客 9 月 3 日放出技术报告,9 月 6 日权重和代码在 Hugging Face 与 ModelScope 全面开放,Apache 2.0。
大模型开始从椅子上站起来,往驾驶座走。这件事的意义不在于又多了个 demo,而在于"让车看懂路、并且说清为什么这么开"这条路,被大厂用开源摆上了台面。
当然,先泼盆冷水:**它不是量产方案,官方自己在论文标题里就写了 "An Initial Step"(初步探索)。**但作为第一个把自动驾驶三大件塞进同一个预训练 VLM 的开源项目,它值得你花二十分钟搞明白。
什么是 Qwen-Drive-1.0
Qwen-Drive-1.0 是首个面向自动驾驶的视觉语言基础模型,以原生多模态的 Qwen3.5-4B 作为共享 VLM,在完全不动预训练架构的前提下,外挂两个模块:BEV 感知头负责 3D 目标检测 / 语义占用预测 / BEV 地图分割,Planning Expert 负责生成未来自车轨迹。三件事——3D 感知、驾驶视觉问答、运动规划——首次在一个统一的预训练框架里被打通。
资源地址:
- 代码:github.com/QwenLM/Qwen-Drive-1.0
- 权重:huggingface.co/Qwen/Qwen-Drive-1.0-4B / modelscope.cn/models/Qwen/Qwen-Drive-1.0-4B
- 技术报告:arXiv:2609.00111
- 协议:Apache 2.0,商用友好
先把最容易误解的一点说清楚:它没有为开车重写一个模型。
传统智驾是"感知模块 + 预测模块 + 规划模块"三班倒,各管一段,信息每传一层就丢一层,出了问题互相甩锅。行业里另一条常见做法是拿通用 VLM 在驾驶数据上猛微调——分数是好看了,但通用能力塌了,模型变成一个只会开车的专用件。
Qwen-Drive 选了第三条路:**底座原封不动,在外围挂东西。**共享 VLM 该怎么理解图像和语言还怎么理解,开车这件事由外挂模块负责,训练时再把空间能力"逼"进共享表征里。
这个选择有三个直接后果,后面你会反复看到它们:可复现(权重主干没动)、可调试(每个头的输入输出都能单独拎出来看)、不偏科(通用能力基本不掉)。
它有什么特点
一个底座,三种能力:同一个 Qwen3.5-4B,既能回答"我现在能变到左车道吗"这种驾驶问题,也能回答"这张图里有什么"这种通用问题,接上规划头还能直接出轨迹。车企最现实的一笔账在这里:智驾和座舱本来是两条并行模型管线,谁先做通"一个模型全包",谁就省掉一整条管线的算力与维护成本。
BEV 感知头:把共享表征显式投影到 3D 空间。它结合两类信息——视觉编码器进入 VLM 之前的外观特征(经深度估计和视角变换构建 3D 体素表示),以及 VLM 输出携带场景上下文的语义特征(经特征金字塔和 BEV Transformer 汇聚到鸟瞰平面),最后由三个分支分别做 3D 检测、语义占用预测、地图分割。官方的定位很妙:这个头同时是一个"可检查的 3D 探针"——它把共享表示里藏着的空间信息,翻译成你能看的检测框、占用网格和地图元素。
Planning Expert:约 1.1B 参数的 32 层扩散 Transformer,隐藏维度 1024。它读取 VLM 中 8 层分组查询 Softmax Attention 缓存的 Key/Value 作为条件,从高斯噪声出发,用 Flow Matching + 10 步 Euler 求解生成轨迹。输出是 50 个航点、覆盖未来 5 秒、10 Hz,每个航点包含自车坐标系下的纵向位置、横向位置和航向角。而且它既可以直接规划,也可以先生成一段文字推理、再用推理约束轨迹——这就是它和纯黑盒端到端最不一样的地方。
四阶段训练,主干该冻就冻:
- 冻结视觉编码器和 VLM,只初始化 BEV 感知头;
- 联合训练感知头 + 视觉编码器 + VLM,混合 3D 感知、驾驶 VQA 与通用视觉语言数据;
- 重新冻结共享 VLM,只用 Flow Matching 训练 Planning Expert → Qwen-Drive-1.0-SFT;
- 继续冻结共享表示,用任务级奖励优化 Planning Expert → Qwen-Drive-1.0-RL。
一次解冻、一次冻结,节奏感很好:先把空间能力逼进共享表征,再让它别乱动。
数据效率是它最狠的一张牌:规划样本约 283 万条、折合原始时长约 900 小时,而榜单上领先的专用模型 Alpamayo-1.5 用了约 8 万小时轨迹数据——差两个数量级,却拿到相近的均衡表现。另外,公开驾驶视觉语言数据经重写和一致性过滤后从 553 万条压到 309 万条,第二阶段实际训练集 154 万条,并混入通用视觉语言数据来对抗灾难性遗忘。所有规划样本都来自公开数据集、轨迹格式统一——这点看起来笨,但它让学界能放心复现,也避开了"厂商数据说不清来源"的老坑。
两份规划专家,任君挑选:
planner-sft支持直接规划和推理式规划两种模式;planner-rl经过奖励优化,但只在推理条件下的 rollout 上训过,所以必须配 reasoning planning 模式用。别拿 rl 跑直出,会翻车。
成绩单:三个维度,赢得都很"聪明"
我不打算把所有表都搬过来,只挑能说明问题的。
3D 感知(nuScenes / OpenScene)
| 数据集 | mAP | 地图分割 mIoU |
|---|---|---|
| nuScenes | 43.95 | 60.99 |
| OpenScene | 43.45 | 71.27 |
真正有意思的是论文里的消融对照组:如果只训练外挂的 BEV 感知头、不让感知损失回传更新底座,nuScenes 的 3D 检测 mAP 只有 33.49;一旦允许联合微调,立刻涨到 43.95,还超过了复现的 BEVFormerV2。
这条数据值得单独记住:预训练表征里确实"藏"着空间信息,但得靠显式的三维监督去逼出来。只挂个头不回传,等于白挂。
驾驶问答(Driving VQA,Qwen-Drive-1.0-SFT)
| 基准 | Qwen-Drive-SFT | Qwen3.5-4B(基座) | 次优对比 |
|---|---|---|---|
| LingoQA | 77.8(官方 LingoJudge 79.4) | 70.4 | MiMo-Embodied-7B 72.0 |
| Ego3D RMSE ↓ | 7.78 | 13.17 | MiMo-Embodied-7B 9.85 |
| VLAD | 66.5 | 65.4 | LLaVA-OV2-8B 58.7 |
| SURDS | 66.1 | 53.0 | LLaVA-OV2-8B 38.6 |
| WaymoQA safety | 70.7 | 62.5 | MiMo-Embodied-7B 66.5 |
| WaymoQA all | 74.5 | 67.1 | MiMo-Embodied-7B 69.6 |
| PAI-AV CoC all | 41.3 | 2.6 | Cosmos3-nano 4.0 |
| 中文城市驾驶决策(内部) | 71.0 | 59.0 | MiMo-Embodied-7B 61.0 |
那个因果推理(CoC)的对比我看了两遍:基座 Qwen3.5-4B 是 2.6,训完驾驶数据变成 41.3。十几倍的差距——说明"看得懂图"和"看得懂路况因果"真的是两件事,中间隔着一整个米制的三维世界。
运动规划
| 基准 | SFT | RL |
|---|---|---|
| NAVSIM v1.1 navtest(PDMS ↑) | 88.2(best-of-6 89.3) | 90.7(91.4) |
| WOD-E2E(RFS ↑,val / test) | 7.78 | 8.45 / 7.91 |
| NVIDIA PhysicalAI 开环 minADE 3s ↓ | 0.34 m | 0.38 m |
| AlpaSim 闭环 at-fault score ↑ | 0.27 | 0.37 |
注意那行加粗方向不一致的地方:RL 换来了闭环安全和"更像人",代价是开环位移误差从 0.34 m 变成了 0.38 m。
没有哪个模型能在所有指标上全赢,取舍才是真实世界的样子。对自动驾驶来说,我宁愿它规划得像个老司机,也不追求纸面轨迹零误差。
通用能力几乎没掉——这才是"基础模型"的资格证
| 基准 | Qwen3.5-4B | Qwen-Drive-SFT |
|---|---|---|
| MMStar | 75.3 | 75.9 ↑ |
| RealWorldQA | 76.3 | 79.0 ↑ |
| MMBench | 87.1 | 85.5 |
| MMMU | 73.4 | 72.7 |
| EmbSpatial | 76.0 | 78.9 ↑ |
| ERQA | 46.3 | 48.5 ↑ |
| ODinW13 | 40.8 | 45.9 ↑ |
官方给的汇总:知识 / 推理 / 识别组 10 项平均 66.41 vs 67.40,只差 0.99 分;空间理解与定位组 5 项平均 53.96 vs 52.99,反而反超了。
学开车,没把聊天的本事忘掉。这是它配叫"基础模型"而不是"被改坏的专用件"的原因。
能干什么:三条真实的路
**第一条,给中小团队和高校一个能上手的端到端研究底座。**以前想做智驾研究,光是搭感知—预测—规划这条管线就能劝退一半人。现在 9.1 GB 的 VLM + 0.5 GB 的感知头 + 2.1 GB 的规划头,一张 24 GB 显卡就能跑起来,代码、训练配置、Demo 数据全开源。门槛从"需要一个团队"降到了"需要一张卡"。
**第二条,给车企的"座舱—智驾一体化"铺路。**国内车企正在拼命把座舱 AI 助手和智驾算力整合到同一个域控上省硬件成本。这时候如果为了刷驾驶分数把通用能力搞塌,就得再养一条座舱模型管线,成本优势直接归零。Qwen-Drive 反复强调通用能力不掉点,表面是学术优雅,底下是一句很实在的成本账。
**第三条,给"可解释智驾"提供一条白盒路线。**很多人拿它和特斯拉 FSD 比:同样是纯视觉,FSD 偏端到端黑盒闭环,中间推理过程难以溯源;Qwen-Drive 是白盒模块化——感知输出、问答逻辑、规划轨迹全都可查看、可调试,还能让它用自然语言解释"为什么减速"。对后续车规级安全验证来说,可溯源这件事比多刷两分重要得多。
但如果有人跟你说"这模型能直接装车量产",请替我翻个白眼。官方定位写得很清楚:这是自动驾驶视觉语言基础模型、研究开源项目。距离真正上路,还隔着实时性、功能安全(ISO 26262)、极端场景鲁棒性、整车工程适配这几座山。论文自己也没藏着:闭环综合分仍落后于用 8 万小时数据训的专用模型,占据预测因为公开数据集的体素标签噪声没能拿第一。
初体验:24GB 显卡,四条命令跑起来
官方建议 24 GB 以上显存,Python 3.10。
git clone https://github.com/QwenLM/Qwen-Drive-1.0.git qwen-drive && cd qwen-drive
conda create -n qwen-drive python=3.10
conda activate qwen-drive
pip install -e . --no-build-isolation # 或者 pip install -r requirements.txt
# 拉权重(Hugging Face / ModelScope 二选一)
pip install -U modelscope
modelscope download --model Qwen/Qwen-Drive-1.0-4B --local_dir ./Qwen-Drive-1.0-4B
# 或者:hf download Qwen/Qwen-Drive-1.0-4B --local-dir Qwen-Drive-1.0-4B拉下来是一个目录、四个部分,VLM 在根目录被所有任务共享,任务头各自躺在子目录里:
Qwen-Drive-1.0-4B/ 9.1 GB 共享 VLM,单拿出来就能跑 VQA
├── planner-sft/ 2.1 GB 模仿学习训出来的 Planning Expert
├── planner-rl/ 2.1 GB 奖励优化后的 Planning Expert
└── perception/ 0.5 GB BEV 感知头仓库里已经塞了 4 个 WOD-E2E 规划场景和 6 帧感知图像,所以不准备任何数据也能跑通——这点很关键,省掉了新手最容易卡住的一步。
跑规划 demo(夜间路口绿灯、左转、右转、经过停靠卡车减速四个场景,还能出一张对比图):
export PYTHONPATH=src
python scripts/demo.py \
--model Qwen-Drive-1.0-4B \
--planner Qwen-Drive-1.0-4B/planner-rl \
--scenes data/demo/planning_scenes.jsonl \
--image-archive data/demo/frames.parquet \
--plot demo.png用 Python 直接调用,num_samples=6 表示从独立初始噪声批量生成 6 条候选轨迹(不是模型推理了 6 轮,别搞混):
import torch
from qwen_drive import InferenceMode, QwenDriveForPlanning
model = QwenDriveForPlanning.from_pretrained(
"Qwen-Drive-1.0-4B",
planner="Qwen-Drive-1.0-4B/planner-rl",
dtype=torch.bfloat16,
attn_implementation="flash_attention_2",
).to("cuda").eval()
result = model.run(InferenceMode.REASONING_PLANNING, scene=scene, num_samples=6)
print(result.reasoning) # 它自己解释"为什么这么开"
print(result.trajectories.shape) # (6, 50, 3) -> (x, y, heading),5 秒 @10Hz驾驶场景问答(多视角输入,直接问):
python scripts/run_vqa.py \
--model Qwen-Drive-1.0-4B \
--image front.jpg --image front_left.jpg \
--question "Is it safe to change into the left lane?"3D 感知:
python scripts/run_perception.py \
--vlm Qwen-Drive-1.0-4B \
--model Qwen-Drive-1.0-4B/perception \
--frames data/demo/perception \
--output outputs/perception_demo只想聊天式用 VQA,也可以走 transformers / vLLM / SGLang 那套:vllm serve "Qwen/Qwen-Drive-1.0-4B" 一行起服务,OpenAI 兼容接口直接调。更多配方(best-of-N 规划、多卡评测、感知可视化)在仓库的 docs/cookbook.md 里。
进阶
如果你想继续往下挖,我建议的顺序是:先把 docs/cookbook.md 里几种推理模式各跑一遍,再回头读技术报告的消融实验部分——那节比主实验有营养得多,尤其是"只训感知头 vs 联合微调"那组对照,基本能帮你建立起"通用大模型改造垂直场景"的直觉。
顺手记一个我自己总结的判断框架,凡是"通用大模型改造垂直行业"都能套:**基座动没动、通用能力掉没掉、数据效率够不够。**这三条比单次跑分更能说明一个垂直方案的含金量——机器人操作、医疗影像、工业缺陷检测同理。
最后一个提醒:别被 90.7 这个数字冲昏头。NAVSIM 分数接近饱和之后,继续往上刷的每一分,有多少是真能力、有多少是在适配评分函数本身,说实话没人说得清。真正的底座资格证,不是跑分多高,而是它陪你聊天的同时,还能开出一条不撞墙的轨迹。
更多开源技术干货和学习资料,关注公众号「遇码」,领取专属福利。
