OpenVLA Stanford · UC Berkeley · Google DeepMind · Toyota Research
首个大规模开源视觉-语言-动作模型 · 7B 参数 · 970k 真机轨迹训练 · Llama-2 + 双视觉编码器融合
OpenVLA 是 2024-06 由 Stanford、UC Berkeley、Google DeepMind、Toyota Research、Physical Intelligence、MIT 联合发布的第一个具有规模化开源基线的 VLA(Vision-Language-Action)模型。核心定位:"大规模具身预训练"不再是闭源垄断,任何团队都能获取可用的、有竞争力的 VLA 基座。
关键突破:7B 参数、970k 真机轨迹、开源权重、参数高效微调 —— OpenVLA 用 16.5% 相对性能提升打败 RT-2-X(55B 闭源模型),同时模型体量只有 1/7。论文详见 arXiv 2406.09246。
关键成绩
对照品:RT-2-X 是 Google 闭源 VLA、参数是 OpenVLA 的 7.8 倍,但在开放域泛化上被超越。OpenVLA 还超过 Diffusion Policy(从零训起)20.4%。
架构 · Architecture
三层结构
- 视觉编码器(双融合):SigLIP + DINOv2 两个预训练视觉模型的特征融合(不是单个编码器)
- SigLIP 提供语义感知(理解"红杯子"是什么)
- DINOv2 提供空间定位(理解它在哪里、形状尺寸)
- 为什么需要两个?实验证明双编码器比单个编码器在多目标语言 grounding 任务上高 35% 绝对成功率(arXiv §3.4)
- 语言主干:Llama-2 7B(冻结大部分权重,只 fine-tune 为动作预测任务)
- VLM 本身是 Prismatic-7B(SigLIP-DINOv2 融合 backbone 的多模态模型)
- 输入:图像(224×224)+ 任务文本指令 → 输出:动作 token 序列
- 动作 tokenizer:离散化方案(下详)
为什么 Llama-2 不是 Llama-3?
论文里选择 Llama-2 做骨干是基于 Prismatic-7B(Llama-2 的 VLM 变体)已经在 SigLIP-DINOv2 融合上验证过效果。这是工程选择而非算法限制 —— 用其它 LLM backbone 理论上也可行。
离散动作 Token 化 · Action Tokenization
核心方案:256 bin × N 维动作
OpenVLA 的动作空间处理分两步:
- 连续空间均匀量化:每个动作维度(如 7-DoF 机械臂的 7 个关节)分别离散化到 256 个 bin
- Bin 宽度取决于训练数据的 1-99 百分位数范围(不用 min-max 来避免离群值)
- 这样做比 RT-2 的做法更稳健 —— RT-2 用 min-max 可能被单个异常轨迹扩大范围
- 参考:Brohan et al. (RT-2) 的做法,arXiv §3.2
- 映射到 Llama 词汇表:256 个 bin 要映射到 Llama-2 tokenizer 的词汇表
- Llama tokenizer 只预留 100 个特殊 token 位置 —— 不够 256 个
- OpenVLA 的做法:直接覆盖 Llama 词汇表最后 256 个最不常用的 token(编号 32000-32255)用作动作 token
- 这样 LLM 原生的 next-token prediction loss(交叉熵)可以直接用于训练动作预测
关键好处
- 完全复用 LLM 训练基础设施:不需要自定义 policy head 或 diffusion head,标准的 transformer token 预测即可
- 参数高效:微调时只需改动最后的词汇映射,backbone 可以 freeze 或低学习率 fine-tune
- 简洁性原则(arXiv §3.2 强调):作者反复选择"简单可行"而非"花哨但复杂"的方案
局限
- 量化误差积累:离散化 256 bin 会引入量化噪声。对于需要连续精细控制的任务(如绳索操作、毛巾折叠)效果有限
- 单视角推理:OpenVLA 输入单一 RGB 观测(一张图),缺乏多视角或深度等信息,对自遮挡物体的泛化能力有约束
- 7-DoF 限制:论文只评估了单臂 7-DoF 系统;双臂或更高自由度系统需要适配
训练数据 · Open X-Embodiment (OXE)
数据规模和来源
总计:970k 条真机轨迹(来自 Open X-Embodiment 数据集的精选子集)
- 2M+ 轨迹 from OpenX →(经过数据清洗)→ 970k 轨迹最终用于训练
- 覆盖 20+ 种不同机器人本体(单臂、移动底盘、不同控制空间)
- 多个真实环境和场景(日常家居、实验室、工业设置)
数据筛选和混合策略
OpenVLA 不是简单地把所有 OpenX 数据扔进去训,而是做了精细的 curation(arXiv §3.3):
- 第一轮筛选:只留有"至少一个第三人称相机"且"单臂端执行器控制"的数据集
- 原因:统一输入/输出空间 —— 多视角、多传感器的异构数据另当别论(见 Octo Model)
- 混合权重:沿用 Octo Model 的数据集权重
- Octo 有启发式方法降权"多样性差"的数据集,升权"任务/场景多"的数据集
- OpenVLA 新加入的 DROID 数据集初期用 10% 权重,但发现 action token accuracy 不理想,训练后期移除
- 没有仿真数据:和 GR00T N1 等大量依赖 Isaac Sim 的方案不同,OpenVLA 走的是"广采真机 + 精清洗"路线
训练配置
- GPU 集群:64 × A100,训练 14 天 = 21,500 A100-hours
- Batch size:2048
- Epoch 数:27 epochs(不像 LLM 通常 1-2 epoch,VLA 需要多轮迭代直到 action token 准确率 > 95%)
- 学习率:2e-5(固定)
- 精度:bfloat16
基准评测分数
BridgeData V2 · WidowX 真机评测(主战场)
在 29 个任务 × 多条泛化轴线上对比 RT-2-X / Octo / RT-1-X:
- 视觉泛化:未见背景、干扰物体、目标物体颜色/外观变化
- 运动泛化:未见物体位置/姿态
- 物理泛化:未见物体尺寸/形状
- 语义泛化:未见指令概念、需要网络预训练知识
- 多目标语言 grounding:场景里有多个干扰物体,能否按指令精确操纵目标物体
详细分数见论文 Appendix B.1.3 · Table 4。OpenVLA 在前四项超越 RT-2-X,在语义泛化上不如(合理,因为 RT-2-X 用了大规模网络预训练共微调,OpenVLA 只用机器人数据)
Google Robot · 移动操纵臂(OOD 评测)
在 RT-1、RT-2 评测用过的移动底盘系统上,12 个任务、12 个 OOD 任务:OpenVLA 与 RT-2-X 性能相当(论文 Fig. 3)
LIBERO(仿真)
OpenVLA 在 LIBERO 单臂任务上的仿真性能数据在 Appendix E 有所报告,但论文未提供公开对标的精确分数
微调能力 · LoRA 参数高效
- 在 Franka-Tabletop(新机器人系统)上微调:只需 50-100 条示例数据 + LoRA(冻结 98.6%,只训 1.4% 参数)
- 效果等同于全量 fine-tuning,但内存消耗大幅降低 —— 可在消费级 GPU(RTX 3090)上运行
- 相比 Diffusion Policy 等从零训练的方法,微调 OpenVLA 的泛化性更好
推理性能 · Inference
| 硬件 | 精度 | 内存占用 | 速度 |
|---|---|---|---|
| NVIDIA RTX 4090(消费级) | bfloat16 | 15 GB | 6 Hz |
| NVIDIA RTX 4090 | int8 量化 | 8 GB | 可用(详见论文 Fig. 5) |
| NVIDIA A100(服务器) | bfloat16 | — | 更快 |
推理速度没有硬约束(不像 mls 30s/样本),但 6 Hz 对实时闭环控制已充分。论文还提供了远程推理服务代码 —— 允许低功耗边缘设备(树莓派等)通过网络流传图像到远端 GPU 推理。
量化不掉性能
论文 §5.4 验证:int8 量化不会降低真机任务成功率 —— 这对部署移动机器人非常重要
LoRA 微调方案
适配新机器人系统
OpenVLA 最大的卖点之一是易于微调。论文专门做了数据高效适配实验(§5.2):
- 在 Franka 单臂机器人(训练中没见过)上用 500 条示例数据微调
- LoRA rank=32,冻结 98.6% 参数,只训 1.4%
- 成功率从零样本的 5-20% 提升到 50-80%(取决于任务难度)
- 论文强调:这个结果与全量 fine-tuning 相当,但内存足足降低一个数量级
对比标准
- vs. Diffusion Policy(从零训起):OpenVLA+LoRA 超过 20.4%
- vs. RT-2-X 微调:RT-2-X 参数太大(55B),微调成本禁止性;OpenVLA 更现实
和其它开源 VLA 横向对比
| 模型 | 发布时间 | Backbone | 参数 | 动作头 | 训练开源 | 微调友好 |
|---|---|---|---|---|---|---|
| OpenVLA | 2024-06 | Llama-2 7B + SigLIP/DINOv2 | 7B | 离散 256-token | ✅ 完整 | ✅ LoRA 易用 |
| Qwen-VLA(闭源) | 2026-05 | Qwen3.5-4B | 5B | DiT flow matching | ❌ | — |
| Wall-OSS-0.5 | 2026-05 | Qwen2.5-VL 3B + MoT | 4B | Flow + FAST 双头 | ✅ 完整 | ✅ 训练框架开源 |
| π₀ / π₀.₅ | 2024-11 | PaliGemma 3B | 3B | Flow matching | 部分 | — |
| RT-2-X(闭源) | 2023 (RT-2) | PaLM-E 的 VLM 变体 | 55B | 离散 token | ❌ | ❌ 太大 |
OpenVLA 的定位是"最平衡的开源 VLA 基线":参数量适中(7B 可在高端 GPU 上跑),训练代码完全开源(包括数据处理、混合权重、超参),微调友好(LoRA)。Wall-OSS-0.5 在训练基础设施和 CUDA 加速上做得更狠,Qwen-VLA 性能最强但闭源。
开源生态
代码仓库 & 资源
- GitHub:openvla/openvla —— 完整训练脚本、数据处理、配置、推理服务
- HuggingFace:openvla/openvla-7b —— 权重、模型卡
- 项目主页:openvla.github.io —— 演示视频、论文、BibTeX
快速开始
# 下载权重
huggingface-cli download openvla/openvla-7b --local-dir ./openvla-7b
# 推理(单张图 + 指令 → 动作)
from openvla.models import OpenVLAModel
model = OpenVLAModel.load_from_huggingface("openvla/openvla-7b")
actions = model.predict(image, instruction="pick up the red cube")
# LoRA 微调(新机器人系统)
# 参考仓库里的 fine-tuning notebook
数据工具链
- Open X-Embodiment 数据集已在 HuggingFace 存储,可直接访问
- 仓库提供 data loading、action discretization、dataset mixture 脚本
- 支持本地快速迭代小规模实验
学术贡献总结
- 首个大规模开源 VLA:打破 RT-2 / Gato 的闭源垄断,证明 7B 规模可以做竞争力强的 VLA
- 数据 curation 方法论:如何从 2M+ OpenX 轨迹中精选 970k 用于训练(量化学习)
- 双视觉编码器融合:SigLIP(语义)+ DINOv2(空间)的组合比单编码器更好(定量证明)
- 参数高效微调范式:LoRA 可以等效 full fine-tuning,大幅降低用户使用门槛
- 全栈开源交付:不止权重,还有数据处理、超参配置、远程推理服务 —— 工程完成度很高
局限和开放问题
- 语义泛化短板:在网络概念(celebrity recognition 等)上不如 RT-2-X —— RT-2 用了大规模图文预训练共微调,OpenVLA 只用机器人数据,这是可以接受的权衡
- 细粒度任务困难:绳索操作、毛巾折叠等需要精细连续控制的任务,离散化 token 方案表现受限
- 多视角/多传感器:OpenVLA 只支持单 RGB 输入 + 单臂,异构传感器(多相机、力反馈、深度)的融合留给未来工作(Octo Model 在这块做了尝试)
- 双臂和非操纵任务:评测主要是单臂操纵;导航、动态任务的覆盖有限
- 训练数据仍需真机:虽然比 RT-2 数据高效,但 970k 轨迹采集成本仍然巨大,纯仿真预训练的可行性未验证
为什么重要
OpenVLA 最大的价值不是"最强模型"(那是 Qwen-VLA 闭源旗舰),而是让 VLA 民主化:
- 任何有 A100 GPU 的实验室都可以 fine-tune 到自己的机器人
- 消费级 GPU 可以跑推理(配 LoRA)
- 完全透明的数据混合和训练配置 —— 可复现、可改进
- 催化剂作用:发布后各队开始基于 OpenVLA 做改进(微调方法、新数据集、新架构)
这和开源 LLM(Llama)对 NLP 社区的作用类似。