在自动驾驶端到端范式不断演进的背景下,VLA(Vision-Language-Action)模型逐渐成为连接感知、理解与决策的关键技术路线。SimLingo(CarLLava)作为 CVPR 2025 Spotlight 工作,提出了一种 Vision-Only + Language-Action Alignment 的闭环自动驾驶框架,在无需高精地图与显式规划模块的前提下,实现了可解释、高层决策驱动的自动驾驶行为。
本项目的核心目标是:
- 完整复现 SimLingo 的闭环推理流程(Closed-loop Inference)
- 在 CARLA 0.9.15 仿真环境中实现 可视化运行
- 为后续研究 高效 VLA / 推理加速 / 模型裁剪 打下工程与系统基础
项目定位:以“跑通 + 理解 + 可扩展”为第一阶段目标,而非从零训练模型。
- GPU:NVIDIA RTX 4090 × 1
- 显存:24GB
- 磁盘空间:≈100GB
- 运行方式:远程服务器(SSH + VSCode)
- 操作系统:CentOS(服务器端)
- Python 环境:conda / venv(simlingo 专用环境)
- CUDA / Driver:支持 RTX 4090
- 仿真平台:CARLA 0.9.15
- 可视化:NoMachine + 虚拟/物理显示器 + Vulkan
- 目标仓库:
RenzKa/simlingo - 模型体量较大,依赖 HuggingFace + Git LFS
- Git LFS 在服务器环境下多次下载失败
- 网络不稳定导致模型权重损坏
- 使用 HuggingFace 官方脚本
hfd.sh - 结合
aria2c进行多线程断点续传 - 成功下载并校验模型权重(Inference-only)
📌 结论:在国内/教育网环境下,hfd.sh + aria2c 是比 Git LFS 更稳妥的方案。
- 使用 GPU 渲染(Vulkan) 而非 CPU OpenGL
- 支持 可视化窗口 + SimLingo RPC 连接
- 默认无头(headless)模式 → OpenGL CPU 渲染
- Xvfb 虚拟屏幕 ≠ 真正 GPU 渲染
- Vulkan 驱动 / DISPLAY / NoMachine 之间关系复杂
- 使用 NoMachine 创建虚拟桌面(如
:1001) - CARLA 使用 Vulkan 后端绑定 GPU
- 显式指定 DISPLAY,避免 Xvfb
- VirtualGL 路径错误导致
vglrun失败
- CARLA 在 NoMachine 虚拟屏幕上 成功使用 GPU Vulkan 渲染
- SimLingo 可通过
localhost:2000正常连接 - 实现 可视化 + 闭环推理同时运行
📌 里程碑:CARLA GPU Vulkan 启动成功,标志着系统级最大难点被突破。
-
Bench2Drive 任务集加载成功
-
XML route 能正常解析
-
推理流程:
- CARLA → 视觉输入
- Vision Encoder
- Language-Action Alignment
- 高层动作输出(变道 / 加减速等)
- 模型权重加载完整
- 推理阶段可稳定运行(Inference Only)
- 与 CARLA 仿真形成闭环
| 问题 | 原因 | 解决方式 |
|---|---|---|
| Git LFS 下载失败 | 网络 / 权限 | hfd.sh + aria2c |
ModuleNotFoundError: srunner |
PYTHONPATH 未设置 | 修正 CARLA Python API 路径 |
| CARLA 闪退 | Vulkan / DISPLAY 错误 | 固定 DISPLAY + GPU 渲染 |
| OpenGL CPU 渲染 | 无显示或 Xvfb | NoMachine 虚拟屏幕 |
| vglrun 找不到 | 路径不一致 | 使用实际解压路径 |
- ✅ 成功复现 SimLingo 推理级别系统
- ✅ 打通 CARLA – VLA 模型 – 决策输出 – 可视化 全链路
- ✅ 积累大量 工程级 Debug 经验(GPU / Vulkan / Display)
- ✅ 对 SimLingo 的系统结构与设计理念形成清晰理解
这一步相当于:
从“读论文”正式走到“系统级复现”
- 未进行模型训练与微调(仅 Inference)
- 对 Language-Action 对齐细节仍停留在代码层理解
- Bench2Drive 指标尚未系统评测
- 推理效率与显存占用仍有优化空间
结合本人后续 VLA / 高效模型研究方向,下一阶段计划:
-
推理效率分析
- latency / FPS / 显存占用
- 与非 VLA baseline 对比
-
高效化方向探索
- LoRA / QLoRA 在 VLA 中的可行性
- Vision Encoder 冻结 + 语言对齐层微调
-
系统级改造
- 模块化 SimLingo 推理结构
- 支持替换 Vision / LLM Backbone
-
论文与汇报
- 作为后续 VLA baseline 对照实验
- 纳入阶段性科研汇报 / 开题材料
SimLingo 项目的复现过程并非“代码一跑就完”,而是一次 完整的系统工程训练。从模型下载、环境配置,到 GPU 渲染、闭环联调,每一个问题都逼迫我真正理解:
大模型自动驾驶,不只是模型问题,更是系统问题。
该阶段工作为后续自主设计高效 VLA 模型、进行真实科研创新奠定了坚实基础。