一句话定位
OpenVLA 是首个完全开源(权重 + 训练数据配方 + PyTorch 训练/微调/部署代码全放出)的通用视觉-语言-动作模型:以 Prismatic-7B VLM(DINOv2+SigLIP 融合视觉编码器 + Llama 2 7B)为底座,在 Open X-Embodiment 的 970k 条真实机器人轨迹上做端到端微调,把 7 自由度动作离散成 token 用自回归预测,以 7B 参数在 29 个跨本体任务上把闭源 55B 的 RT-2-X 绝对成功率超出 16.5%,并第一个证明 LoRA + 量化能让 VLA 在消费级 GPU 上微调/部署。
背景与定位
范式:自回归离散动作 token 的 VLA(沿 RT-2 路线),核心主张是”把机器人动作当成语言 token,直接微调现成 VLM”,而非像 octo 那样把预训练组件(语言 embedding、视觉编码器)与从头初始化的模块”缝合”再联合训练。作者把这条端到端路线与”组合式生成策略”对立起来,实验显示端到端微调 VLM 在性能与泛化上显著更优。
论文点名两个阻碍 VLA 普及的现实问题:(1) 已有 VLA(RT-2、RT-2-X 等)都是闭源,架构/训练/数据配比对外不透明;(2) 没人系统研究过如何把 VLA 高效微调到新机器人/新任务,尤其是在消费级硬件上。OpenVLA 的定位就是补齐这两块——做”机器人界的开源 Llama”,给社区一个可复现、可改配方、可低成本适配的通用 VLA 基线。
关联工作:底座 VLM 用 Prismatic(Karamcheti et al.,融合 SigLIP+DINOv2 多分辨率特征);数据与混合权重沿用 octo,并尝试并入 droid;对比对象包括 RT-1-X (35M)、octo (93M)、闭源 RT-2-X (55B) 与从头训练的 Diffusion Policy。它也是后续 lapa-latent-action-pretraining、hpt-heterogeneous-pretrained-transformers 等开源 VLA 工作的参照基线。
模型架构
Policy backbone = Prismatic-7B VLM(prism-dinosiglip-224px),三段式:
- 融合视觉编码器(~600M 参数):图像 patch 分别过 DINOv2 ViT-L/14 与 SigLIP ViT-So400M/14 两个预训练编码器,输出特征沿 channel 维度拼接。DINOv2 提供低层空间信息、SigLIP 提供高层语义——论文认为这对精确机器人控制的空间推理关键(消融见下)。相较常用的纯 CLIP/纯 SigLIP 编码器,加 DINOv2 能改善空间推理。
- 投影器:一个 2 层 MLP,把视觉特征映射到语言模型输入空间(“patch-as-token”)。
- LLM backbone = Llama 2 7B,负责预测 tokenized 动作。
动作头 = 离散 token(RT-2 式),非连续/扩散/flow:
- 输入 224×224 图像 + 语言指令,输出 7-DoF 末端执行器动作(x, y, z, roll, pitch, yaw, gripper 的增量)。
- 动作离散化:每个动作维度独立离散成 256 个 bin;bin 宽按训练数据该维度动作的 第 1 与第 99 分位数均匀划分(RT-2 用 min-max,OpenVLA 改用分位数以忽略离群动作、保住有效分辨率)。
- token 复用:Llama tokenizer 只留 100 个 special token,不够 256 个动作 token,因此覆写词表中最不常用的 256 个 token(最后 256 个)作为动作 token。
- 动作作为 token 序列,用标准 next-token 预测训练,只对动作 token 位置算交叉熵损失。
关键设计决策(BridgeData V2 小规模实验得出):
- 微调视觉编码器(而非冻结)对 VLA 性能至关重要——与 VLM 训练”冻结更好”的经验相反;作者推测预训练视觉骨干未捕获足够细粒度空间细节。
- 图像分辨率 224×224:对比 384×384 无性能差异,但 384 训练慢 3 倍,故选 224。
- VLM 底座选型:对比 IDEFICS-1、LLaVA、Prismatic;LLaVA 在多物体语言 grounding 上比 IDEFICS-1 高 35% 绝对成功率,Prismatic 又比 LLaVA 高约 10%,故选 Prismatic。
- 仅支持单张图像观测(无本体感受/历史,见局限)。
数据
- 规模:970k 条真实机器人操作轨迹(episodes / trajectories),全部来自 Open X-Embodiment (OpenX)。撰稿时 OpenX 含 >70 个机器人数据集、>2M 条轨迹,OpenVLA 经多步筛选取其子集。
- 筛选(保证输入/输出空间一致):只保留至少含一个第三人称相机、单臂末端执行器控制的操作数据集(沿 RT-X / Octo 口径)。
- 混合配比(保证本体/任务/场景均衡):直接沿用 octo 的混合权重(启发式下调低多样性数据集、上调高多样性数据集)。Appendix A 混合表(占比):Bridge 13.3%、Fractal 12.7%、Kuka 12.7%、BC-Z 7.5%、FMB 7.1%、Language Table 4.4%、Stanford Hydra 4.4%、Taco Play 3.0%、UTAustin Mutex 2.2%、Austin Sailor 2.2%、Roboturk 2.3%、Furniture Bench 2.4%、Toto 2.0%、Austin Sirius 1.7%、DobbE 1.4%、Berkeley Autolab UR5 1.2%、Viola/IAMLab CMU 各 0.9%、NYU Franka 0.8%、Berkeley Fanuc 0.7% 等,长尾多个 <0.1%。
- DROID 尝试:droid 以保守的 10% 权重并入,但训练全程其动作 token 准确率一直偏低,为不拖累最终模型,训练最后 1/3 阶段把 DROID 移除并把权重重分配给其他数据集。
- 动作标注/清洗:发现原始 BridgeData V2 每条 demo 首个 timestep 记录了全零(no-op)动作,直接训练会让高表达力 VLA 频繁预测全零、评测时”冻住”,故过滤掉每条 demo 的首个 transition——这是 OpenVLA 在 Bridge 上大幅超 RT-2-X 的重要原因之一(RT-2-X 未做此清洗,需靠”取次高概率动作”绕过冻结)。
- 纯真实数据、无仿真:预训练不含任何仿真数据(这也解释了 LIBERO 仿真上的增益较小)。
训练方法
- 目标:对预训练 Prismatic-7B VLM 做动作预测的端到端微调,标准 next-token 预测目标,仅在动作 token 上算交叉熵。无 RL、纯模仿学习(行为克隆)。
- 训练轮数:不同于 LLM/VLM 只跑 1–2 epoch,VLA 需要反复迭代到训练动作 token 准确率超过 95%——最终模型跑了 27 个 epoch。
- 学习率:固定 2e-5(与 VLM 预训练一致),跨数量级扫过;无 warmup(试过无收益)。
- Batch size 2048。
- 下游适配配方:
- 全量微调:10–150 条目标任务 demo,8×A100 每任务 5–15 小时。
- 参数高效微调对比(Table 1,Franka-Tabletop,33 rollouts):Full FT 69.7%(7,188M 训练参数 / 163GB)、仅最后层 30.3%、冻结视觉 47.0%、Sandwich 62.1%、LoRA r=32 68.2%(仅 97.6M ≈ 1.4% 参数 / 59.7GB)、LoRA r=64 68.2%。LoRA 在性能/显存上最优,rank 对性能几乎无影响,推荐默认 r=32;单张 A100 上 10–15 小时即可微调,比全量省 8× 算力。
- 量化推理(Table 2,8 个 Bridge 任务 / 80 rollouts):bf16 71.3%(16.8GB)、int8 58.1%(10.2GB,因量化开销拖慢推理 → 掉点)、int4 71.9%(7.0GB,与 bf16 持平且省一半以上显存)。作者归因:掉点主因是推理变慢改变了系统动力学,而非精度损失(离线 token 准确率三者相当)。
Infra(训练 / 推理工程)
- 训练:64 张 A100 GPU,14 天,合计 21,500 A100-小时,batch size 2048(项目页写”15 天”,取论文 14 天为准)。
- 并行/精度:PyTorch FSDP(全分片数据并行)+ FlashAttention + 自动混合精度(AMP,bf16)。代码库可从单卡微调扩展到多节点集群训练十亿级 VLA,支持 1B–34B 规模,原生对接 HuggingFace
AutoModel、LoRA (PEFT)、量化推理。 - 推理:bf16 精度下 15GB GPU 显存即可加载,在单张 RTX 4090 上约 6Hz(未用编译/投机解码等加速);int4 量化在 A5000 上 3Hz、int8 仅 1.2Hz(因量化开销)。提供远程推理 REST API 服务器,可把动作预测实时流式推给机器人,免去本地强算力需求。
- 微调工程:LoRA 单卡最低 ~27GB 显存可跑;batch 16 约需 72GB。
评测 benchmark
out-of-the-box 直接评测(同 A/B 初始状态,公平对比):
- BridgeData V2 / WidowX(170 rollouts = 17 任务 ×10):OpenVLA 总体最高,除”语义泛化”外所有类别都超闭源 RT-2-X。
- Google robot(60 rollouts = 12 任务 ×5):OpenVLA 与 RT-2-X 相当,二者显著超 RT-1-X / octo。
- 综合:跨 WidowX + Google robot 的 29 个任务,OpenVLA 绝对成功率超 RT-2-X (55B) 16.5%,且参数少 7×。RT-2-X 仅在语义泛化上更强(更大 Internet 预训练 + 动作/图文联合微调)。
数据高效适配(新机器人)(Franka-Tabletop + Franka-DROID,129 rollouts):
- 对比从头训练的 Diffusion Policy(含 matched 版)、微调的 octo、OpenVLA、OpenVLA (scratch)。
- Diffusion Policy 在窄的单指令任务(如 Put Carrot in Bowl、Pour Corn into Pot)更强、轨迹更平滑精确;OpenVLA/Octo 在多物体、需语言 grounding 的多样任务上更好。
- OpenVLA 聚合成功率最高,且是唯一在全部 7 个 Franka 任务上都 ≥50% 的方法;在语言 grounding 多物体任务上比 Diffusion Policy 高 20.4%。OpenVLA (scratch) 明显更差 → 证明 OpenX 大规模预训练价值。
LIBERO 仿真(v2 新增,每套件 500 trial ×3 seed = 1500 trial,微调后):
| 方法 | Spatial | Object | Goal | Long | 平均 SR | 平均 Rank |
|---|---|---|---|---|---|---|
| Diffusion Policy (scratch) | 78.3 | 92.5 | 68.3 | 50.5 | 72.4 | 2.5 |
| Octo (fine-tuned) | 78.9 | 85.7 | 84.6 | 51.1 | 75.1 | 2 |
| OpenVLA (fine-tuned) | 84.7 | 88.4 | 79.2 | 53.7 | 76.5 | 1.5 |
OpenVLA 平均 SR 与平均 rank 均第一;但因预训练无仿真数据(sim-real 域差),仿真上领先幅度小于真实世界。
关键消融:
- OpenX 训练:去掉(OpenVLA-Bridge,仅 Bridge 训练)→ 绝对成功率掉约 30%,全泛化类别下降 → 大规模多样预训练是泛化能力来源。
- 融合视觉编码器:SigLIP+DINOv2 优于纯 SigLIP,但影响远小于 OpenX 训练。
- 微调 vs 冻结视觉编码器:微调 80.0% vs 冻结 46.7%(部分冻结实验因近零性能提前终止)→ 微调视觉编码器关键。
创新点与影响
贡献:
- 首个完全开源的通用 VLA:放出模型权重、训练数据配方、模块化 PyTorch 训练/微调/部署代码,原生支持 OpenX(RLDS 格式任意混合),可训 1B–34B。填补”VLA 界缺开源 Llama”的空白。
- 以小胜大:7B 端到端微调 VLM,跨本体绝对成功率超闭源 55B RT-2-X 16.5%,参数少 7×。
- 首次证明 VLA 的高效适配:LoRA(1.4% 参数、单 A100 10–15h、省 8× 算力,性能持平全量)+ int4 量化(7GB 显存、性能持平 bf16),把 VLA 微调/部署拉进消费级 GPU。
- 一系列 VLA 训练”最佳实践”(微调视觉编码器、27 epoch、分位数动作离散、过滤 no-op、224 分辨率够用)。
影响:成为开源 VLA 研究的事实参照基线;其代码库与 checkpoint 被大量后续工作复用。作者团队随后放出 FAST 动作 tokenizer(2025-01,动作 chunk 压成更少 token,离散动作推理提速最高 15×)与 OpenVLA-OFT(2025-03,优化微调配方,连续动作 + 多图输入 + 高频双臂控制,推理提速 25–50× 且成功率更高)。
论文自述局限:
- 仅支持单图观测,无多图/本体感受/历史,难适配异构传感的真实场景。
- 推理吞吐不足,无法支撑 ALOHA (50Hz) 这类高频、灵巧双臂任务;建议探索 action chunking / 投机解码。
- 可靠性有限:多数任务成功率 <90%,窄而灵巧的任务仍不如 Diffusion Policy 平滑精确。
- 因算力受限,诸多 VLA 设计问题未解:底座 VLM 规模的影响、图文数据联合微调(co-training)是否有帮助、什么视觉特征最适合 VLA。
- 仿真微调不如真实微调有效(sim-real 域差)。
原始链接
- arXiv 论文:https://arxiv.org/abs/2406.09246
- PDF:https://arxiv.org/pdf/2406.09246
- 项目页 & 视频:https://openvla.github.io/
- GitHub(训练/微调/部署代码):https://github.com/openvla/openvla
- HuggingFace 模型(
openvla-7b):https://huggingface.co/openvla/openvla-7b - 早期开发版模型(
openvla-7b-v01,SigLIP-only + Vicuña):https://huggingface.co/openvla/openvla-7b-v01
一手源存档(sources/)
- openvla—github-readme — GitHub README(含 FAST / OFT 后续更新、两版模型说明、微调/部署配方),https://github.com/openvla/openvla
- openvla—hf-card — HuggingFace 模型卡(
openvla-7b),https://huggingface.co/openvla/openvla-7b - openvla—project-page — 项目主页文本快照,https://openvla.github.io/
- arXiv 全文 PDF(2406.09246,arXiv 原文 PDF,不入 git):https://arxiv.org/pdf/2406.09246