深度⏱ ~3 min
里程碑
⭐ 为何重要

首个真正可用、权重与训练代码完全开源的通用 VLA 模型,基于 Llama-2 7B + SigLIP,把动作离散化为 token 输出。把此前只在 Google 内部(RT-2)才具备的能力带到学术界,成为后续 VLA 研究的事实基准与起点。其意义在于让社区能在统一基线上做架构、数据、对齐的快速迭代。

机器人WidowX/Franka
数据集OpenX (970k trajectories)
上真机
实时
输入模态vision,language
📍 演进位置
建立在
催生

论文:Kim, Pertsch, Karamcheti, ... Tedrake, Sadigh, Levine, Liang, Finn. OpenVLA: An Open-Source Vision-Language-Action Model. CoRL 2024 / arXiv:2406.09246. 🌐

一句话直觉

让学术界也能用上视觉语言动作模型。秘诀是另起炉灶、开源重做一套。OpenVLA 之于 RT-2,就像 LLaMA 之于 GPT-3。两边都是另起炉灶的开源重做,不是把闭源模型开壳。更狠的是它反超了闭源的 RT-2-X 55B。整体任务上领先 16.5%。

是什么·为什么

要解决的问题:让学术界能复现、微调、改进 VLA。📎

老办法:RT-2 确立了 VLA 范式但完全闭源。55B 权重、13 万真机数据、PaLI-X 预训练,三项学术界都拿不到。📎整个方向被一家垄断。其他团队只能看论文。

OpenVLA 的转身:另起炉灶,开源一套 7B VLA。在 970k OpenX 数据上训练,谁都能下载、微调、改架构。📎性能不只是"可比"RT-2。它在整体任务上反超闭源的 RT-2-X 55B 达 16.5% 绝对成功率。📎

方法核心(技术上妙在哪,大白话):两块设计撑起 OpenVLA。

  • 双流视觉:图像同时过两个 encoder,SigLIP 和 DINOv2。📎SigLIP 回答"这是什么"(语义)。DINOv2 回答"在哪里、什么姿态"(空间几何)。机器人既要认出物体,又要知道它在哪、怎么抓。两类信息缺一不可,单用 SigLIP 会丢空间细节。
  • 动作分位数 token 化:每维动作切成 256 档(沿用 RT-2 思路)。📎关键改进是分档边界用分位数(第 1 到第 99 百分位),不是 min-max。好处是极少数离群动作不会把分档区间拉太宽。正常动作的有效精度因此更高。

学术友好仅限微调:要说清边界。微调便宜——LoRA 让单张 A100/H100 就能改 OpenVLA。📎但预训练贵。从头训仍需 64×A100 跑两周,约 21,500 A100-hours。普通实验室复现不起。📎

你会看到:VLA 研究从一家独大变成社区共建。后续催生 CogACT、OpenVLA-OFT 等。一整条开源生态都建立在它之上。[未确认]

一句话类比:OpenVLA 之于 RT-2,就像 LLaMA 之于 GPT-3。两边都是另起炉灶的开源重做,不是把闭源模型开壳。而且 OpenVLA 反超了闭源的 RT-2-X 55B。这比 LLaMA 当年追 GPT-3 还狠。

怎么做

核心机制:开源 7B Prismatic VLM。在 970k OpenX 数据上做 next-token prediction 训练。📎

双流视觉(关键设计)。图像分别过 SigLIP 和 DINOv2 两个 encoder。📎输出 feature 在 channel 维度直接拼接。叫 channel-wise concat。不是 cross-attention,也不是 late fusion 投票。SigLIP 出"这是什么",DINOv2 出"在哪里、什么姿态"。

Action tokenization。每维动作离散成 256 bin。沿用 RT-1/RT-2 设计。📎关键改进:bin 边界用 1st 和 99th 分位数(quantile)。不是 RT-1 的 min-max。忽略 outlier 动作。末端 7 维动作 → 7 个 action token。

词表问题:tokenizer 只预留 100 个 special token。不够 256 个 action token。OpenVLA 继承 RT-2 的套路。覆盖词表里最不常用的 256 个 token。📎不动词表大小、不需新增 embedding

关键设计决策(Sec. 3.4)

  • 必须 unfreeze vision encoder。预训练 backbone 抓不到精细空间细节。
  • 训 27 epoch。不是 LLM 的 1–2 epoch。
  • fixed lr=2e-5,无 warmup。

单卡微调(关键工程贡献)。用 LoRA + gradient checkpointing。7B 模型在单张 A100/H100 上可微调。📎4-bit 量化后真机性能不掉。消费级 GPU 也能跑推理。

常见误区(先抛一个):"OpenVLA 是 RT-2 的简单缩水版吧?"——不是。📎它是重新设计。双流视觉(SigLIP+DINOv2)。quantile 边界。unfreeze vision encoder。27 epoch。每个决策都和 RT-2 不同。

深度

架构精确配置(论文 Sec. 3.1 + Fig. 2):OpenVLA 建立在 Prismatic-7B VLM(Karamcheti 2024)上,三部分:

  1. 视觉编码器(双流融合,共 ~600M 参数)
  • SigLIP(~400M,语义信息——"这是什么物体")
  • DINOv2(~300M,空间/几何信息——"物体在哪里、什么姿态")
  • 融合方式:图像分别过两个 encoder,输出 feature vector 在 channel 维度拼接(channel-wise concat)——不是 cross-attention,也不是 late fusion 投票,而是最朴素的 concat。📎
  • 实证(Sec. 3.4 VLM Backbone):相比单 SigLIP 的 LLaVA,fused SigLIP+DINOv2 的 Prismatic 在 BridgeData V2 单物体 + 多物体语言 grounding 任务整体高 ~10% 绝对成功率。📎
  1. Projector:小 2-layer MLP,把视觉 feature 映到 LLM 的 input embedding space。
  2. LLM 主干Llama 2 7B(开源、推理快)。Prismatic 在 LLaVA-1.5 数据上 fine-tune(约 1M image-text 样本)。

输入分辨率(Sec. 3.4)224×224px——实测 384×384 与 224 等效但训练慢 3×,所以选 224。

Action tokenization 精确公式(Sec. 3.2):每维动作离散成 256 bin(沿用 RT-1/RT-2 的 256 bin 设计)。关键改进——bin 边界用 1st 和 99th 分位数(quantile),不是 RT-1 的 min-max:

$$\text{bin}_i\text{ 边界}: \text{uniformly divide }[Q_1(a_i),\,Q_{99}(a_i)]\text{ into 256 bins}$$

这样忽略 outlier 动作,避免 outlier 把 bin 区间拉得太宽、降低有效精度。每维动作 → 整数 $\in[0, 255]$,$N$ 维动作 → $N$ 个 token。注意 OpenVLA 末端是 7 维动作(无 terminate token;episode 结束交给 action chunk / EOS),而 RT-2 是 8 维(含 terminate)。

Token 词表问题:Llama tokenizer 只预留 100 个 special token 给 fine-tune 用,不够 256 个 action token。OpenVLA 的解法(继承 Brohan et al. 2023 = RT-2):直接覆盖 Llama tokenizer 词表里最不常用的 256 个 token(即最后 256 个 token),换成 action token。这样不动词表大小、不需要新增 embedding。训练用标准 next-token predictioncross-entropy loss 只在 action token 上算(input image+text tokens 不算 loss)。末端 7 维动作(Δx/y/z + Δroll/pitch/yaw + gripper)→ 7 个 action token。📎

训练数据(论文 Sec. 3.3)OpenX-Embodiment 子集,共 970k 轨迹。筛选规则:

  • 仅保留至少一个第三人称相机 + 单臂末端控制manipulation 数据集(剔除双臂、本体感受-only、非 manipulation)。
  • 数据 mixture 权重继承 Octo(Octo 启发式下调低多样性差的数据集,上调多样性高的)。
  • 加 DROID 数据集(mixture weight 10%)——但实测 DROID 的 action token accuracy 一直低,最后 1/3 训练把 DROID 移除
  • 完整 OpenX 当时是 70+ 数据集、2M+ 轨迹,OpenVLA 筛到 970k。

关键设计决策详解(论文 Sec. 3.4)

  1. VLM backbone 选择:试了 IDEFICS-1、LLaVA、Prismatic 三种(BridgeData V2 上消融)。两段比较(注意 task scope 不同,不能直接相加):LLaVA(单 SigLIP)比 IDEFICS-1 在多物体语言 grounding 任务上高 ~35% 绝对成功率;Prismatic(SigLIP+DINOv2 双流)又比 LLaVA 在单物体 + 多物体任务整体上高 ~10%。所以选 Prismatic。📎
  2. Fine-tune vision encoder:传统 VLM 实践(如 LLaVA)冻结 vision encoder 保预训练特征。但 VLA 实测必须 unfreeze vision encoder——预训练 backbone 抓不到精细空间细节,对精确控制不够。
  3. 训练 epoch:传统 LLM/VLM 训 1–2 epoch 就够,但 VLA 需要 27 epoch,real robot 性能持续提升直到 action token accuracy >95%。
  4. 学习率:在多个数量级上 sweep,最佳是 fixed lr = 2e-5(与 Prismatic VLM 预训练一致),不要 warmup

训练 + 推理 infra(论文 Sec. 3.5)

项目
训练硬件64× A100 GPU × 14 天 = 21,500 A100-hours
Batch size2048
推理显存15 GB(bfloat16,无量化)
推理速度~6 Hz on 单 RTX 4090(无 compilation / speculative decoding)
输入分辨率224×224(384 测过等效但慢 3×)
训练 epoch27
OptimizerAdamW,fixed lr=2e-5,无 warmup
Codebase 特性PyTorch + AMP + FlashAttention + FSDP;HuggingFace AutoModel 集成;支持 LoRA + 量化

单卡微调(关键工程贡献):OpenVLA 用 LoRA(低秩适配)+ gradient checkpointing,让 7B 模型在单张 A100/H100 上可微调。论文 Sec. 5.4 还验证量化(4-bit)后真机性能不掉——这让消费级 GPU(如 RTX 4090 24GB)也能跑 OpenVLA 推理。这对学术小团队是巨大福音——不用大集群就能做 VLA 研究。

局限

  1. 离散 action token 的表达力限制(与 RT-2 同病):256 bin 离散化精度有限,做不了精细灵巧操作。→ 催生 π0flow matching 连续 action)。[未确认]
  2. 推理仍慢:7B 单步几百 ms,做不了高频控制。→ 催生 双系统(GR00T N1、Helix)。[未确认]
  3. OpenX 数据规模仍小:970k 相对 LLM 数十 T token 是九牛一毛。
  4. 泛化 vs 专用 trade-off:通用 OpenVLA 在特定任务上仍弱于专门微调策略。→ 催生 RL finetune(RL-VLA、VLA-RFT 证明 PPO 微调显著提升泛化)。[未确认]

研究者视角

图谱定位:OpenVLA 是 T06 VLA 五段演进第三段「跨本体 + 开源」的开源里程碑📎它把 RT-2 立起来的 VLA 范式,从一家大公司的黑盒翻成全社区的公共品。是开源 VLA 时代的起点。

继承 / 催生

  • 建立在:RT-1(动作 token 化)、RT-2(VLA 范式)、OpenX-Embodiment(数据)。
  • 直接催生:CogACT(认知-动作解耦)、OpenVLA-OFT(多 token 输出)、TinyVLA(小 VLA)、RL-VLA / VLA-RFT(RL 微调)一整条开源 VLA 生态。
  • 副产品:揭示视觉双流(SigLIP+DINOv2)的必要性——后续 CogACT 等都继承这个设计。📎

Open problems

  1. 离散 token 的精度天花板:OpenVLA 和 RT-2 共享这个病。256 bin 在灵巧操作上注定不够。π0 用 flow matching 部分回答了,但开源 VLA 的连续 action head 方案(如 RDT-1B)仍在追闭源水平。[未确认]
  2. 数据效率 vs 任务广度:970k OpenX 已是开源最大,但仍比 LLM 数据少 6 个数量级。开源 VLA 怎么吃下网络规模数据?OpenX 后续 + 仿真数据在试。[未确认]
  3. 量化 vs 性能的 trade-off:论文验证 4-bit 不掉真机性能,但更激进量化(2-bit、1-bit)是否仍可接受?这对边缘部署关键。[未确认]

常见误区

"OpenVLA 是 RT-2 的简单缩水版" —— 错。它是重新设计。📎双流视觉(SigLIP+DINOv2)、quantile bin 边界、unfreeze vision encoder、27 epoch 训练——每个决策都和 RT-2 不同。

是平行的开源设计,不是缩水。

"DINOv2 是冗余的,SigLIP 够用" —— 错。Sec. 3.4 ablation:双流比单 SigLIP 在单物体 + 多物体任务整体上高 ~10%。📎

SigLIP 出"是什么",DINOv2 出"在哪里、什么姿态"——VLA 同时需要两类信息。

"27 epoch 是过拟合" —— 错。VLA 需要长训,real robot 性能持续提升到 action token accuracy >95%。📎

LLM 的 1–2 epoch 经验不适用 VLA。

"unfreeze vision encoder 浪费算力" —— 错。预训练 backbone 抓不到精细空间细节,必须 unfreeze。📎

传统 VLM 冻结 vision encoder 的实践在 VLA 上反而不工作。

"用 min-max 边界切 bin 更精确" —— 错。outlier 动作会把区间拉得太宽、降低有效精度。📎

quantile 边界(1st–99th)忽略 outlier,256 bin 的有效分辨率更高。

检查点

Q1

OpenVLA 为什么用 SigLIP + DINOv2 双流,而不是单 SigLIP?两类视觉信息分别管什么?

💡 参考答案

  • SigLIP 回答"这是什么"——语义/类别信息。
  • DINOv2 回答"在哪里、什么姿态"——空间/几何信息。
  • 机器人既要认出物体,又要知道它在哪、什么姿态、怎么抓;两类信息缺一不可。
  • 单用 SigLIP 会丢空间细节,所以加 DINOv2 补足。
Q2

动作 token 化时,为什么用分位数边界(第 1–99 百分位)而不是 min-max?离群动作会怎么影响两种方案?

💡 参考答案

  • min-max 方案:极少数离群动作会把分档区间拉到极宽,正常动作全挤进 256 档的一小段,有效分辨率崩。
  • 分位数方案(第 1–99 百分位):砍掉头尾各 1% 的极端 outlier,区间不被拉宽。
  • 结果:正常动作的有效精度更高——这正是 OpenVLA 改用分位数的原因。
Q3

OpenVLA 号称"学术友好",但这个友好有边界。微调和预训练两边各是什么代价?

💡 参考答案

  • 微调便宜:LoRA 让单张 A100/H100 就能改 OpenVLA,学术小团队负担得起。
  • 预训练贵:从头训仍需 64×A100 跑两周,约 21,500 A100-hours,普通实验室复现不起。
  • 关键区分(red-team 抓点):"开源/学术友好"仅限微调;预训练门槛仍高,不能让读者误以为整条管线学术组都能从头搞。
Q4

用"LLaMA 之于 GPT-3"或自己举的类比,向没学过机器人的人解释 OpenVLA 解决了什么问题。

💡 参考答案

  • RT-2 闭源:55B 权重 + 13 万真机数据 + PaLI-X 预训练都在一家手里,学术界拿不到。
Q5

为什么说 OpenVLA 是"另起炉灶的开源重做",而不是"把 RT-2 开壳"?用类比或自己的话说。

💡 参考答案

  • OpenVLA 是平行重新设计,不是 RT-2 的开源版:双流视觉(SigLIP+DINOv2)、分位数 bin、unfreeze vision encoder、27 epoch——每个决策都和 RT-2 不同。
  • LLaMA 也不是 GPT-3 的开壳,是另训的模型——类比的潜台词"同物开源"两头都不成立。
  • 正确叙事:另起炉灶的开源重做,且实测反超对应闭源模型。

FAQ

Q1:OpenVLA 在真机上跑多快?

~6 Hz on 单 RTX 4090(无 compilation / speculative decoding)。📎推理显存 15 GB(bfloat16 无量化)。

Q2:970k 数据从哪来?

OpenX-Embodiment 子集。筛选规则:第三人称相机 + 单臂末端控制的 manipulation 数据集。📎完整 OpenX 当时是 70+ 数据集、2M+ 轨迹,OpenVLA 筛到 970k。

Q3:单卡能微调吗?

能。LoRA + gradient checkpointing,单张 A100/H100。📎4-bit 量化后 RTX 4090 24GB 也能跑推理。

Q4:224×224 分辨率够吗?

实测 384×384 与 224 等效但训练慢 3×。📎选 224 是性能/算力 trade-off 的最优解。

Q5:OpenVLA 能做灵巧操作吗?

有限。256 bin 离散化精度有限,做不了精细灵巧(叠衣服、拧螺丝)。[未确认]这类任务看 π0(flow matching 连续 action)。