Spaceqwen2.5 VL 3B Instruct
基于Qwen2.5-VL-3B-Instruct微调的多模态视觉语言模型,专注于空间推理能力
下载量 7,446
发布时间 : 1/29/2025
模型简介
该模型通过LoRA微调增强了空间推理能力,能够处理与物体间空间关系相关的视觉问答任务,适用于机器人导航、具身智能等场景
模型特点
增强空间推理
通过合成数据训练,专门优化了距离估计、方位判断等空间推理能力
多模态理解
能够同时处理图像和文本输入,理解视觉场景中的物体关系
轻量微调
采用LoRA方法进行高效微调,保持基础模型能力的同时增加特定功能
模型能力
视觉问答
空间关系推理
距离估计
物体定位
多模态理解
使用案例
机器人导航
仓库环境导航
帮助机器人理解仓库环境中物体的空间关系
可准确回答关于物体位置和距离的问题
具身智能
环境交互
为具身智能体提供空间感知能力
使智能体能够更好地与环境互动
🚀 SpaceQwen2.5-VL-3B-Instruct
SpaceQwen2.5-VL-3B-Instruct是一个多模态的视觉语言模型,它基于Qwen2.5-VL-3B-Instruct进行微调。该模型运用数据合成技术和公开可用模型,增强了多模态模型的空间推理能力,能够推断场景中物体间的空间关系。
🚀 快速开始
安装依赖
Transformers
安装Qwen依赖:
pip install qwen-vl-utils[decord]==0.0.8
运行推理
Transformers
对示例图像进行推理:
from transformers import Qwen2_5_VLForConditionalGeneration, AutoTokenizer, AutoProcessor
from qwen_vl_utils import process_vision_info
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
"remyxai/SpaceQwen2.5-VL-3B-Instruct", torch_dtype="auto", device_map="auto"
)
processor = AutoProcessor.from_pretrained("remyxai/SpaceQwen2.5-VL-3B-Instruct")
messages = [
{
"role": "user",
"content": [
{
"type": "image",
"image": "https://raw.githubusercontent.com/remyxai/VQASynth/refs/heads/main/assets/warehouse_sample_2.jpeg",
},
{"type": "text", "text": "What is the height of the man in the red hat in feet?"},
],
}
]
# Preparation for inference
text = processor.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True
)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
text=[text],
images=image_inputs,
videos=video_inputs,
padding=True,
return_tensors="pt",
)
inputs = inputs.to("cuda")
# Inference: Generation of the output
generated_ids = model.generate(**inputs, max_new_tokens=128)
generated_ids_trimmed = [
out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)
print(output_text)
GGUF
使用 llama.cpp 运行 SpaceQwen2.5-VL-3B-Instruct:
./llama-qwen2vl-cli -m /path/to/SpaceQwen2.5-VL-3B-Instruct/SpaceQwen2.5-VL-3B-Instruct-F16.gguf \
--mmproj /path/to/SpaceQwen2.5-VL-3B-Instruct/spaceqwen2.5-vl-3b-instruct-vision.gguf \
-p "What's the height of the man in the red hat?" \
--image /path/to/warehouse_sample_2.jpeg --threads 24 -ngl 99
✨ 主要特性
- 多模态处理:结合视觉和语言信息,实现更复杂的场景理解。
- 空间推理能力:能够推断场景中物体间的空间关系,如距离、位置等。
- 数据合成技术:利用数据合成创建用于空间推理的VQA数据集。
📦 安装指南
安装Qwen依赖:
pip install qwen-vl-utils[decord]==0.0.8
💻 使用示例
基础用法
对示例图像进行推理:
from transformers import Qwen2_5_VLForConditionalGeneration, AutoTokenizer, AutoProcessor
from qwen_vl_utils import process_vision_info
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
"remyxai/SpaceQwen2.5-VL-3B-Instruct", torch_dtype="auto", device_map="auto"
)
processor = AutoProcessor.from_pretrained("remyxai/SpaceQwen2.5-VL-3B-Instruct")
messages = [
{
"role": "user",
"content": [
{
"type": "image",
"image": "https://raw.githubusercontent.com/remyxai/VQASynth/refs/heads/main/assets/warehouse_sample_2.jpeg",
},
{"type": "text", "text": "What is the height of the man in the red hat in feet?"},
],
}
]
# Preparation for inference
text = processor.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True
)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
text=[text],
images=image_inputs,
videos=video_inputs,
padding=True,
return_tensors="pt",
)
inputs = inputs.to("cuda")
# Inference: Generation of the output
generated_ids = model.generate(**inputs, max_new_tokens=128)
generated_ids_trimmed = [
out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)
print(output_text)
高级用法
使用 llama.cpp 运行 SpaceQwen2.5-VL-3B-Instruct:
./llama-qwen2vl-cli -m /path/to/SpaceQwen2.5-VL-3B-Instruct/SpaceQwen2.5-VL-3B-Instruct-F16.gguf \
--mmproj /path/to/SpaceQwen2.5-VL-3B-Instruct/spaceqwen2.5-vl-3b-instruct-vision.gguf \
-p "What's the height of the man in the red hat?" \
--image /path/to/warehouse_sample_2.jpeg --threads 24 -ngl 99
📚 详细文档
模型概述
该模型使用数据合成技术和公开可用模型,重现了SpatialVLM中描述的工作,以增强多模态模型的空间推理能力。通过专家模型管道,我们可以推断场景中物体间的空间关系,创建用于空间推理的VQA数据集。
数据集与训练
SpaceQwen2.5-VL-3B-Instruct 使用LoRA在 OpenSpaces 数据集上对 Qwen2.5-VL-3B-Instruct 进行微调。
数据集摘要:
-
约10k个合成空间推理轨迹
-
问题类型:空间关系(距离(单位)、上方、左侧、包含、最接近)
-
格式:图像(RGB)+ 问题 + 答案
-
数据集:OpenSpaces
-
代码:VQASynth
-
参考:SpatialVLM
LoRA SFT脚本可在 trl 找到。
模型评估(即将推出)
计划进行的比较:
- 🌋 SpaceLLaVA
- 🧑🏫 SpaceQwen2.5-VL-3B-Instruct
- 🤖 相关的用于机器人的VLM和VLA
🔧 技术细节
- 模型类型:多模态,视觉语言模型
- 架构:
Qwen2.5-VL-3B-Instruct
- 模型大小:37.5亿参数(FP16)
- 微调基础:Qwen/Qwen2.5-VL-3B-Instruct
- 微调策略:LoRA(低秩适应)
属性 | 详情 |
---|---|
模型类型 | 多模态,视觉语言模型 |
架构 | Qwen2.5-VL-3B-Instruct |
模型大小 | 37.5亿参数(FP16) |
微调基础 | Qwen/Qwen2.5-VL-3B-Instruct |
微调策略 | LoRA(低秩适应) |
许可证 | Apache-2.0 |
⚠️ 限制与伦理考量
⚠️ 重要提示
- 在杂乱环境或特定相机视角下,模型性能可能下降。
- 该模型使用互联网图像数据集上的合成推理进行微调。
- 基础模型(Qwen2.5-VL)固有的多模态偏差可能仍然存在。
- 该模型不应用于安全关键或法律决策。
💡 使用建议
建议用户批判性地评估模型输出,并考虑针对特定领域的安全性和性能进行微调。
📄 许可证
本项目采用Apache-2.0许可证。
引用
@article{chen2024spatialvlm,
title = {SpatialVLM: Endowing Vision-Language Models with Spatial Reasoning Capabilities},
author = {Chen, Boyuan and Xu, Zhuo and Kirmani, Sean and Ichter, Brian and Driess, Danny and Florence, Pete and Sadigh, Dorsa and Guibas, Leonidas and Xia, Fei},
journal = {arXiv preprint arXiv:2401.12168},
year = {2024},
url = {https://arxiv.org/abs/2401.12168},
}
@misc{qwen2.5-VL,
title = {Qwen2.5-VL},
url = {https://qwenlm.github.io/blog/qwen2.5-vl/},
author = {Qwen Team},
month = {January},
year = {2025}
}
Clip Vit Large Patch14 336
基于Vision Transformer架构的大规模视觉语言预训练模型,支持图像与文本的跨模态理解
文本生成图像
Transformers

C
openai
5.9M
241
Fashion Clip
MIT
FashionCLIP是基于CLIP开发的视觉语言模型,专门针对时尚领域进行微调,能够生成通用产品表征。
文本生成图像
Transformers 英语

F
patrickjohncyh
3.8M
222
Gemma 3 1b It
Gemma 3是Google推出的轻量级先进开放模型系列,基于与Gemini模型相同的研究和技术构建。该模型是多模态模型,能够处理文本和图像输入并生成文本输出。
文本生成图像
Transformers

G
google
2.1M
347
Blip Vqa Base
Bsd-3-clause
BLIP是一个统一的视觉语言预训练框架,擅长视觉问答任务,通过语言-图像联合训练实现多模态理解与生成能力
文本生成图像
Transformers

B
Salesforce
1.9M
154
CLIP ViT H 14 Laion2b S32b B79k
MIT
基于OpenCLIP框架在LAION-2B英文数据集上训练的视觉-语言模型,支持零样本图像分类和跨模态检索任务
文本生成图像
Safetensors
C
laion
1.8M
368
CLIP ViT B 32 Laion2b S34b B79k
MIT
基于OpenCLIP框架在LAION-2B英语子集上训练的视觉-语言模型,支持零样本图像分类和跨模态检索
文本生成图像
Safetensors
C
laion
1.1M
112
Pickscore V1
PickScore v1 是一个针对文本生成图像的评分函数,可用于预测人类偏好、评估模型性能和图像排序等任务。
文本生成图像
Transformers

P
yuvalkirstain
1.1M
44
Owlv2 Base Patch16 Ensemble
Apache-2.0
OWLv2是一种零样本文本条件目标检测模型,可通过文本查询在图像中定位对象。
文本生成图像
Transformers

O
google
932.80k
99
Llama 3.2 11B Vision Instruct
Llama 3.2 是 Meta 发布的多语言多模态大型语言模型,支持图像文本到文本的转换任务,具备强大的跨模态理解能力。
文本生成图像
Transformers 支持多种语言

L
meta-llama
784.19k
1,424
Owlvit Base Patch32
Apache-2.0
OWL-ViT是一个零样本文本条件目标检测模型,可以通过文本查询搜索图像中的对象,无需特定类别的训练数据。
文本生成图像
Transformers

O
google
764.95k
129
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98