Spatialvla 4b 224 Pt
模型简介
一个基于PaLiGemma2架构的视觉-语言-动作模型,能够根据视觉输入和语言指令生成机器人控制动作
模型特点
空间增强表征
专门优化了空间理解能力,能更好地处理机器人操作任务中的空间关系
大规模真实数据训练
基于110万真实机器人操作片段训练,具有强大的实际操作能力
简洁高效实现
完全基于HuggingFace Transformers实现,部署简便
模型能力
视觉指令理解
机器人动作生成
空间关系推理
多模态任务处理
使用案例
机器人控制
物体抓取
根据视觉输入和语言指令生成抓取物体的动作序列
在WidowX机器人上实现零样本控制
新构型适应
通过少量微调适应新的机器人构型
成功应用于Franka机器人
空间理解
空间关系推理
理解物体之间的空间关系并生成相应动作
在LIBERO基准测试中表现优异
🚀 SpatialVLA
SpatialVLA是一个经过空间增强的视觉-语言-动作模型,在110万个真实机器人实验片段上进行了训练。该代码完全基于HuggingFace,简洁且性能高效。
所有SpatialVLA的检查点以及我们的训练代码库均在MIT许可证下发布。
🚀 快速开始
SpatialVLA仅依赖于HuggingFace Transformers 🤗,这使得模型的部署变得极为轻松。如果你的环境支持 transformers >= 4.47.0
,你可以直接使用以下代码加载模型并进行推理(需要8.5GB的GPU内存)。
import torch
from PIL import Image
from transformers import AutoModel, AutoProcessor
model_name_or_path="IPEC-COMMUNITY/spatialvla-4b-224-pt"
processor = AutoProcessor.from_pretrained(model_name_or_path, trust_remote_code=True)
model = AutoModel.from_pretrained(model_name_or_path, trust_remote_code=True, torch_dtype=torch.bfloat16).eval().cuda()
image = Image.open("example.png").convert("RGB")
prompt = "What action should the robot take to pick the cup?"
inputs = processor(images=[image], text=prompt, return_tensors="pt")
generation_outputs = model.predict_action(inputs)
actions = processor.decode_actions(generation_outputs, unnorm_key="bridge_orig/1.0.0")
print(actions)
✨ 主要特性
- 基于空间增强技术,在视觉-语言-动作任务上表现出色。
- 代码基于HuggingFace,简洁高效,易于部署。
- 在多个机器人任务评估中展现出优秀性能。
📦 安装指南
如果你想使用该模型进行微调或预训练,你需要先克隆官方仓库:
git clone https://github.com/SpatialVLA/SpatialVLA.git
然后安装所需的包,并从Hugging Face模型中心下载模型。SpatialVLA的VLM骨干网络是PaLiGemma2,这需要 transformers >= 4.47.0
。因此,请创建一个Python版本 >= 3.10的Python环境:
conda create -n spatialvla python=3.10
conda activate spatialvla
从 requirements.txt
文件中安装包。请注意,我们使用了一个定制的 dlimp
来支持种子设置以确保结果可复现。如果你遇到任何问题,请从dlimp_custom手动安装 dlimp
。
pip install -r requirements.txt
从头开始训练
SpatialVLA在64个A100 GPU集群上,使用来自OXE和RH20T数据集的110万个真实机器人演示进行了约10天的预训练,批次大小为2048。你可以使用以下命令从头开始预训练模型:
# torchrun
bash scripts/spatialvla_4b_pretrain/torchrun_pretrain.sh
# 或在slurm集群中
bash scripts/spatialvla_4b_pretrain/slurm_pretrain.sh
微调
我们的大多数微调实验是在4个或8个A100 GPU上使用LoRA进行的。你可以使用以下脚本进行全参数或LoRA微调。对于使用小数据集的真实世界实验,我们建议使用LoRA进行微调。
# 全参数微调
bash scripts/spatialvla_4b_finetune/finetune_full.sh
# LoRA微调
bash scripts/spatialvla_4b_finetune/finetune_lora.sh
📚 详细文档
模型详情
模型描述
属性 | 详情 |
---|---|
开发者 | 由来自上海人工智能实验室、上海科技大学和TeleAI的研究人员组成的SpatialVLA团队 |
模型类型 | 视觉-语言-动作(语言、图像 => 机器人动作) |
语言(NLP) | 英语 |
许可证 | MIT |
微调基础模型 | paligemma2-3b-pt-224 |
预训练数据集 | Open X-Embodiment 和 RH20T |
仓库 | https://github.com/SpatialVLA/SpatialVLA |
论文 | SpatialVLA: Exploring Spatial Representations for Visual-Language-Action Model |
项目页面和视频 | https://spatialvla.github.io/ |
模型使用范围
- 直接使用:在支持
transformers >= 4.47.0
的环境中,可直接使用提供的代码加载模型并进行推理。 - 超出适用范围:SpatialVLA模型无法在零样本情况下泛化到新的(未见过的)机器人实体或预训练混合中未涵盖的设置。在这些情况下,我们建议在所需设置上收集演示数据集,并对SpatialVLA模型进行微调。
评估
- Google机器人任务的SimplerEnv评估
模型 | 视觉匹配 - 拿起可乐罐 | 视觉匹配 - 靠近 | 视觉匹配 - 打开/关闭抽屉 | 视觉匹配 - 平均 | 变体聚合 - 拿起可乐罐 | 变体聚合 - 靠近 | 变体聚合 - 打开/关闭抽屉 | 变体聚合 - 平均 |
---|---|---|---|---|---|---|---|---|
RT-1 (Begin) | 2.7% | 5.0% | 13.9% | 6.8% | 2.2% | 4.0% | 6.9% | 4.2% |
RT-1 (15%) | 71.0% | 35.4% | 56.5% | 60.2% | 81.3% | 44.6% | 26.7% | 56.2% |
RT-1 (Converged) | 85.7% | 44.2% | 73.0% | 74.6% | 89.8% | 50.0% | 32.3% | 63.3% |
HPT | 56.0% | 60.0% | 24.0% | 46.0% | -- | -- | 31.0% | 45.0% |
TraceVLA | 28.0% | 53.7% | 57.0% | 42.0% | 60.0% | 56.4% | 29.4% | 39.6% |
RT-1-X | 56.7% | 31.7% | 59.7% | 53.4% | 49.0% | 32.3% | 35.3% | 64.3% |
RT-2-X | 78.7% | 77.9% | 25.0% | 60.7% | 82.3% | 79.2% | -- | -- |
Octo-Base | 17.0% | 4.2% | 22.7% | 16.8% | 0.6% | 3.1% | 1.1% | 1.1% |
OpenVLA | 16.3% | 46.2% | 35.6% | 27.7% | 54.5% | 47.7% | 17.7% | 39.8% |
RoboVLM (zero-shot) | 72.7% | 66.3% | 26.8% | 56.3% | 68.3% | 56.0% | 8.5% | 46.3% |
RoboVLM (fine-tuning) | 77.3% | 61.7% | 43.5% | 63.4% | 75.6% | 60.0% | 10.6% | 51.3% |
SpatialVLA (zero-shot) | 81.0% | 69.6% | 59.3% | 71.9% | 89.5% | 71.7% | 36.2% | 68.8% |
SpatialVLA (fine-tuning) | 86.0% | 77.9% | 57.4% | 75.1% | 88.0% | 72.7% | 41.8% | 70.7% |
- WidowX机器人任务的SimplerEnv评估
模型 | 把勺子放在毛巾上 - 抓取勺子 | 把勺子放在毛巾上 - 成功 | 把胡萝卜放在盘子上 - 抓取胡萝卜 | 把胡萝卜放在盘子上 - 成功 | 把绿色方块堆在黄色方块上 - 抓取绿色方块 | 把绿色方块堆在黄色方块上 - 成功 | 把茄子放在黄色篮子里 - 抓取茄子 | 把茄子放在黄色篮子里 - 成功 | 总体平均 |
---|---|---|---|---|---|---|---|---|---|
RT-1-X | 16.7% | 0.0% | 20.8% | 4.2% | 8.3% | 0.0% | 0.0% | 0.0% | 1.1% |
Octo-Base | 34.7% | 12.5% | 52.8% | 8.3% | 31.9% | 0.0% | 66.7% | 43.1% | 16.0% |
Octo-Small | 77.8% | 47.2% | 27.8% | 9.7% | 40.3% | 4.2% | 87.5% | 56.9% | 30.0% |
OpenVLA | 4.1% | 0.0% | 33.3% | 0.0% | 12.5% | 0.0% | 8.3% | 4.1% | 1.0% |
RoboVLM (zero-shot) | 37.5% | 20.8% | 33.3% | 25.0% | 8.3% | 8.3% | 0.0% | 0.0% | 13.5% |
RoboVLM (fine-tuning) | 54.2% | 29.2% | 25.0% | 25.0% | 45.8% | 12.5% | 58.3% | 58.3% | 31.3% |
SpatialVLA (zero-shot) | 25.0% | 20.8% | 41.7% | 20.8% | 58.3% | 25.0% | 79.2% | 70.8% | 34.4% |
SpatialVLA (fine-tuning) | 20.8% | 16.7% | 29.2% | 25.0% | 62.5% | 29.2% | 100.0% | 100.0% | 42.7% |
- LIBERO仿真基准测试结果
模型 | LIBERO-Spatial - SR (↑) | LIBERO-Spatial - Rank (↓) | LIBERO-Object - SR (↑) | LIBERO-Object - Rank (↓) | LIBERO-Goal - SR (↑) | LIBERO-Goal - Rank (↓) | LIBERO-Long - SR (↑) | LIBERO-Long - Rank (↓) | 平均 - SR (↑) | 平均 - Rank (↓) |
---|---|---|---|---|---|---|---|---|---|---|
Diffusion Policy from scratch | 78.3 ± 1.1% | 5 | 92.5 ± 0.7% | 1 | 68.3 ± 1.2% | 5 | 50.5 ± 1.3% | 5 | 72.4 ± 0.7% | 5 |
Octo fine-tuned | 78.9 ± 1.0% | 4 | 85.7 ± 0.9% | 4 | 84.6 ± 0.9% | 1 | 51.1 ± 1.3% | 4 | 75.1 ± 0.6% | 3 |
OpenVLA fine-tuned | 84.7 ± 0.9% | 2 | 88.4 ± 0.8% | 3 | 79.2 ± 1.0% | 2 | 53.7 ± 1.3% | 3 | 76.5 ± 0.6% | 2 |
TraceVLA fine-tuned | 84.6 ± 0.2% | 3 | 85.2 ± 0.4% | 5 | 75.1 ± 0.3% | 4 | 54.1 ± 1.0% | 2 | 74.8 ± 0.5% | 4 |
SpatialVLA fine-tuned | 88.2 ± 0.5% | 1 | 89.9 ± 0.7% | 2 | 78.6 ± 0.6% | 3 | 55.5 ± 1.0% | 1 | 78.1 ± 0.7% | 1 |
- WidowX机器人的零样本机器人控制评估
- 空间理解能力评估
- Franka机器人适应新机器人设置
📄 许可证
本项目采用MIT许可证。
📚 引用
如果你在研究中使用了SpatialVLA,请使用以下BibTeX引用:
@misc{qu2025spatialvlaexploringspatialrepresentations,
title={SpatialVLA: Exploring Spatial Representations for Visual-Language-Action Model},
author={Delin Qu and Haoming Song and Qizhi Chen and Yuanqi Yao and Xinyi Ye and Yan Ding and Zhigang Wang and JiaYuan Gu and Bin Zhao and Dong Wang and Xuelong Li},
year={2025},
eprint={2501.15830},
archivePrefix={arXiv},
primaryClass={cs.RO},
url={https://arxiv.org/abs/2501.15830},
}
Codebert Base
CodeBERT是一个面向编程语言与自然语言的预训练模型,基于RoBERTa架构,支持代码搜索和代码生成文档等功能。
多模态融合
C
microsoft
1.6M
248
Llama 4 Scout 17B 16E Instruct
其他
Llama 4 Scout是Meta开发的多模态AI模型,采用混合专家架构,支持12种语言的文本和图像交互,具有17B激活参数和109B总参数。
多模态融合
Transformers 支持多种语言

L
meta-llama
817.62k
844
Unixcoder Base
Apache-2.0
UniXcoder是一个统一的多模态预训练模型,利用代码注释和抽象语法树等多模态数据预训练代码表示。
多模态融合
Transformers 英语

U
microsoft
347.45k
51
TITAN
TITAN是一个多模态全切片基础模型,通过视觉自监督学习和视觉-语言对齐进行预训练,用于病理学图像分析。
多模态融合
Safetensors 英语
T
MahmoodLab
213.39k
37
Qwen2.5 Omni 7B
其他
Qwen2.5-Omni 是一个端到端的多模态模型,能够感知文本、图像、音频和视频等多种模态,并以流式方式生成文本和自然语音响应。
多模态融合
Transformers 英语

Q
Qwen
206.20k
1,522
Minicpm O 2 6
MiniCPM-o 2.6是一款手机端运行的GPT-4o级多模态大模型,支持视觉、语音与直播流处理
多模态融合
Transformers 其他

M
openbmb
178.38k
1,117
Llama 4 Scout 17B 16E Instruct
其他
Llama 4 Scout是Meta推出的17B参数/16专家混合的多模态AI模型,支持12种语言和图像理解,具有行业领先性能。
多模态融合
Transformers 支持多种语言

L
chutesai
173.52k
2
Qwen2.5 Omni 3B
其他
Qwen2.5-Omni是一款端到端多模态模型,能够感知文本、图像、音频和视频等多种模态信息,并以流式方式同步生成文本和自然语音响应。
多模态融合
Transformers 英语

Q
Qwen
48.07k
219
One Align
MIT
Q-Align是一个多任务视觉评估模型,专注于图像质量评估(IQA)、美学评估(IAA)和视频质量评估(VQA),在ICML2024上发表。
多模态融合
Transformers

O
q-future
39.48k
25
Biomedvlp BioViL T
MIT
BioViL-T是一个专注于分析胸部X光片和放射学报告的视觉语言模型,通过时序多模态预训练提升性能。
多模态融合
Transformers 英语

B
microsoft
26.39k
35
精选推荐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