🚀 DriveLMM-o1:用于自动驾驶推理的大型多模态模型
DriveLMM-o1是一个针对自动驾驶进行微调的大型多模态模型。它基于InternVL2.5 - 8B模型,采用基于LoRA的自适应技术,利用拼接的多视图图像进行逐步推理。这种结构化的方法提高了复杂驾驶任务(如感知、预测和规划)中最终决策的准确性和可解释性。
🚀 快速开始
使用以下代码片段加载模型:
from transformers import AutoModel, AutoTokenizer
import torch
path = 'ayeshaishaq/DriveLMMo1'
model = AutoModel.from_pretrained(
path,
torch_dtype=torch.bfloat16,
low_cpu_mem_usage=True,
use_flash_attn=True,
trust_remote_code=True
).eval().cuda()
tokenizer = AutoTokenizer.from_pretrained(
path,
trust_remote_code=True,
use_fast=False
)
有关详细的使用说明和其他配置,请参考 OpenGVLab/InternVL2_5 - 8B 仓库。
代码地址:https://github.com/ayesha - ishaq/DriveLMM - o1
✨ 主要特性
- 多模态集成:结合多视图图像,实现对场景的全面理解。
- 逐步推理:生成详细的中间推理步骤,解释决策过程。
- 高效自适应:利用动态图像补丁和LoRA微调技术,以最少的额外参数处理高分辨率输入。
- 性能提升:与之前的开源模型相比,在最终答案准确性和整体推理得分方面都有显著提高。
📦 安装指南
文档未提及具体安装步骤,可参考代码加载部分及 OpenGVLab/InternVL2_5 - 8B 仓库进行安装配置。
💻 使用示例
基础用法
from transformers import AutoModel, AutoTokenizer
import torch
path = 'ayeshaishaq/DriveLMMo1'
model = AutoModel.from_pretrained(
path,
torch_dtype=torch.bfloat16,
low_cpu_mem_usage=True,
use_flash_attn=True,
trust_remote_code=True
).eval().cuda()
tokenizer = AutoTokenizer.from_pretrained(
path,
trust_remote_code=True,
use_fast=False
)
高级用法
文档未提及高级用法相关代码,如需更多使用场景,请参考 OpenGVLab/InternVL2_5 - 8B 仓库。
📚 详细文档
性能对比
属性 |
详情 |
模型类型 |
基于InternVL2.5 - 8B微调的多模态模型 |
训练数据 |
ayeshaishaq/DriveLMMo1 |
模型 |
风险评估准确率 |
交通规则遵守率 |
场景感知与目标理解 |
相关性 |
缺失细节 |
整体推理得分 |
最终答案准确率 |
GPT - 4o (闭源) |
71.32 |
80.72 |
72.96 |
76.65 |
71.43 |
72.52 |
57.84 |
Qwen - 2.5 - VL - 7B |
46.44 |
60.45 |
51.02 |
50.15 |
52.19 |
51.77 |
37.81 |
Ovis1.5 - Gemma2 - 9B |
51.34 |
66.36 |
54.74 |
55.72 |
55.74 |
55.62 |
48.85 |
Mulberry - 7B |
51.89 |
63.66 |
56.68 |
57.27 |
57.45 |
57.65 |
52.86 |
LLaVA - CoT |
57.62 |
69.01 |
60.84 |
62.72 |
60.67 |
61.41 |
49.27 |
LlamaV - o1 |
60.20 |
73.52 |
62.67 |
64.66 |
63.41 |
63.13 |
50.02 |
InternVL2.5 - 8B |
69.02 |
78.43 |
71.52 |
75.80 |
70.54 |
71.62 |
54.87 |
DriveLMM - o1 (我们的模型) |
73.01 |
81.56 |
75.39 |
79.42 |
74.49 |
75.24 |
62.36 |
📄 许可证
本项目采用Apache 2.0许可证。
⚠️ 重要提示
虽然DriveLMM - o1在自动驾驶任务中表现出强大的性能,但它是针对特定领域的推理进行微调的。用户可能需要针对不同的驾驶环境进一步微调或调整模型。