如何使用 Driving-with-LLMs:开源可解释自动驾驶模型的完整指南

【免费下载链接】Driving-with-LLMs PyTorch implementation for the paper "Driving with LLMs: Fusing Object-Level Vector Modality for Explainable Autonomous Driving" 【免费下载链接】Driving-with-LLMs 项目地址: https://gitcode.com/gh_mirrors/dr/Driving-with-LLMs

Driving-with-LLMs 是一个基于 PyTorch 实现的开源项目,它将大型语言模型(LLMs)与自动驾驶技术相结合,通过融合对象级向量模态实现可解释的自主驾驶决策。本指南将帮助你快速上手这个创新的自动驾驶框架,即使你没有深厚的机器学习背景也能轻松跟进。

📌 项目核心功能介绍

Driving-with-LLMs 项目的核心是 LLM-Driver 模型,它利用预训练语言模型的强大推理能力,结合驾驶模拟器中的对象级向量输入,实现可解释的自动驾驶决策。该模型不仅能预测驾驶动作(如转向角度、加速/刹车踏板控制),还能提供动作的自然语言解释,这对于自动驾驶系统的安全性和可信度至关重要。

LLM-Driver 系统架构 图:LLM-Driver 系统架构展示了从向量输入到驾驶控制的完整流程,包含 Vector Encoders、Vector-Former 和 LLMs 等核心组件

🚀 快速开始:环境准备

硬件要求

  • 运行评估:至少 20GB VRAM
  • 模型训练(默认设置):至少 40GB VRAM

环境搭建步骤

  1. 克隆项目仓库
git clone https://gitcode.com/gh_mirrors/dr/Driving-with-LLMs
cd Driving-with-LLMs
  1. 创建并激活虚拟环境
python3 -m venv env
source env/bin/activate
  1. 安装依赖项

项目提供了锁定版本的依赖文件,确保环境一致性:

pip install -r requirements.txt.lock

提示:requirements.txt.lock 是通过 pip-compile 从原始 requirements.txt 生成的,确保了依赖版本的一致性。主要依赖包括 PyTorch、transformers、peft、bitsandbytes 等深度学习库。

  1. 配置 WandB API 密钥

为了记录训练和评估日志,需要设置 Weights & Biases (WandB) API 密钥:

export WANDB_API_KEY=你的API密钥

📊 数据集准备

项目已包含训练和测试数据集,只需解压缩即可使用:

tar -xzvf data/vqa_train_10k.tar.gz -C data/
tar -xzvf data/vqa_test_1k.tar.gz -C data/

如果你需要重新收集 DrivingQA 数据,可以使用项目提供的脚本(需要 OpenAI API 密钥):

python scripts/collect_vqa.py -i data/vqa_test_1k.pkl -o output_folder/ --openai_api 你的API密钥

🔍 模型评估

感知和动作预测评估

运行以下命令评估模型的感知能力和动作预测性能:

python train.py \
    --mode eval \
    --resume_from_checkpoint models/weights/stage2_with_pretrained/ \
    --data_path data/vqa_train_10k.pkl \
    --val_data_path data/vqa_test_1k.pkl \
    --eval_items caption,action \
    --vqa

DrivingQA 评估

评估模型回答驾驶相关问题的能力:

python train.py \
    --mode eval \
    --resume_from_checkpoint models/weights/stage2_with_pretrained/ \
    --data_path data/vqa_train_10k.pkl \
    --val_data_path data/vqa_test_1k.pkl \
    --eval_items vqa \
    --vqa

评估结果可以在 WandB 项目 "llm-driver" 中查看。

使用 GPT 评估 DrivingQA 结果

你还可以使用 GPT API 对 DrivingQA 结果进行评分:

python scripts/grade_vqa.py \
    -i data/vqa_test_1k.pkl \
    -o results/10k_ft.pkl \
    -r results/10k_ft.json \
    --openai_api 你的API密钥

LLM-Driver 运行演示 图:LLM-Driver 在开环预测中的运行演示,左上角为 BEV 视图,底部表格展示了驾驶问答结果

🏋️ 模型训练

训练 LLM-Driver

执行以下命令开始训练:

python train.py \
    --mode train \
    --eval_steps 50 \
    --val_set_size 32 \
    --num_epochs 5 \
    --resume_from_checkpoint models/weights/stage1_pretrained_model/ \
    --data_path data/vqa_train_10k.pkl \
    --val_data_path data/vqa_test_1k.pkl \
    --vqa

训练和评估 Perceiver-BC(可选)

项目还提供了训练和评估 Perceiver-BC 的选项:

python train_bc.py \
    --num_epochs 25 \
    --data_path data/vqa_train_10k.pkl \
    --val_data_path data/vqa_test_1k.pkl

🧩 项目结构解析

  • 模型代码:主要模型实现位于 models/ 目录,包括 vector_encoder.py、transformer.py、vector_lm.py 等文件
  • 工具函数utils/ 目录包含 model_utils.py、training_utils.py 等辅助功能
  • 脚本文件scripts/ 目录提供数据收集和评估脚本
  • 预训练权重models/weights/ 目录包含三个阶段的预训练模型权重

📚 相关资源

通过本指南,你已经了解了如何安装、配置和使用 Driving-with-LLMs 项目。这个开源项目为自动驾驶研究提供了一个创新的可解释框架,结合了语言模型的推理能力和自动驾驶的实际需求。无论你是研究人员还是自动驾驶爱好者,都可以通过这个项目深入探索 LLM 在自动驾驶领域的应用。

【免费下载链接】Driving-with-LLMs PyTorch implementation for the paper "Driving with LLMs: Fusing Object-Level Vector Modality for Explainable Autonomous Driving" 【免费下载链接】Driving-with-LLMs 项目地址: https://gitcode.com/gh_mirrors/dr/Driving-with-LLMs

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐