#OpenVLA 详解:开源 VLA 如何把视觉语言模型变成机器人策略

#先给结论:OpenVLA 的关键意义不是“又一个机器人模型”,而是把 VLA 路线开源化、可复现化、可微调化

OpenVLA 是 2024 年 Stanford、UC Berkeley、TRI、Google DeepMind、Physical Intelligence 等团队提出的一个 7B 参数开源 Vision-Language-Action model。它训练在 Open X-Embodiment 数据集中的约 970k 真实机器人操作轨迹上,目标是让一个视觉语言模型直接根据:

  • 当前相机图像;
  • 自然语言指令;

输出机器人可执行的连续动作。

如果只看模型名字,OpenVLA 好像只是 RT-2 之后的一个开源复现。但它真正重要的地方在于三点:

  1. 开放:此前强 VLA 代表如 RT-2 / RT-2-X 多数是闭源系统,OpenVLA 释放了 checkpoint、训练代码和 fine-tuning pipeline。
  2. 轻量但强:OpenVLA 只有 7B 参数,却在多个真实机器人任务上超过 55B 参数闭源 RT-2-X 的部分指标。
  3. 可适配:它不只强调 zero-shot generalist policy,还系统探索了如何用 LoRA、量化等方式在新机器人、新任务上微调。

所以 OpenVLA 的历史定位可以这样概括:

RT-2 证明 VLA 这条路线可行;OpenVLA 则让这条路线第一次真正变成社区可以下载、复现、微调和继续研究的开放平台。

下面按技术脉络展开。


#一、OpenVLA 之前的问题:机器人基础模型为什么需要 VLA

机器人学习长期有一个核心矛盾:

真实机器人数据很贵,但开放世界泛化又非常依赖大规模、多样化的数据。

传统机器人模仿学习可以在窄任务里做得很好,比如固定桌面、固定物体、固定动作模板。但一旦进入更开放的场景,就会遇到:

  • 新物体识别困难;
  • 新语言指令理解困难;
  • 背景、光照、摆放位置变化导致性能下降;
  • 多任务、多对象场景中容易混淆目标;
  • 很难从少量新数据中快速适配新平台。

而另一方面,视觉语言模型已经在互联网规模数据上学到了大量语义知识:

  • 物体类别;
  • 视觉属性;
  • 空间关系;
  • 语言组合;
  • 基础常识。

于是 VLA 的基本想法就出现了:

能不能把 VLM/LLM 已经学到的视觉语言知识,直接迁移到机器人控制里?

RT-2 是这条路线的标志性工作。它把机器人动作也表达成 token,让视觉语言模型像生成文本一样生成动作,从而把 web-scale pretraining 的语义能力带进机器人策略。

但 RT-2 / RT-2-X 的问题在于:

  • 系统闭源;
  • 训练细节不完全公开;
  • 模型和数据规模很大,社区难以复现;
  • 对新机器人如何高效 fine-tune 缺少清晰开放范式。

OpenVLA 正是在这个背景下出现的。


#二、OpenVLA 要解决什么问题

OpenVLA 的目标不是从零提出一个完全不同的机器人范式,而是解决 VLA 路线走向真实社区研究和部署时的三个关键阻塞点。

#2.1 问题一:强 VLA 大多闭源,不利于研究复现

在 OpenVLA 之前,最有代表性的 VLA 是 RT-2 / RT-2-X。它们展示了很强的机器人泛化能力,但对社区来说存在明显门槛:

  • 不能直接下载模型;
  • 不能完整复现实验;
  • 不能系统研究架构和数据选择;
  • 很难作为后续工作的统一 baseline。

OpenVLA 的第一个目标就是:

给 VLA 社区一个开放、标准、可训练、可微调的基础模型。

#2.2 问题二:机器人数据规模仍然远小于互联网数据

OpenVLA 没有假设可以重新收集一个 web-scale 级别的机器人数据集,而是利用 Open X-Embodiment 这种多机构、多机器人、多任务的开放数据集合。

它训练在约 970k robot manipulation episodes 上,覆盖:

  • 多种机器人 embodiment;
  • 多种桌面 manipulation 场景;
  • 多种语言指令;
  • 多种物体和环境变化。

这使它能学到比单一实验室数据更广的机器人操作先验。

#2.3 问题三:VLA 如果不能微调,就很难落地

机器人平台差异很大:

  • 相机位置不同;
  • 机械臂形态不同;
  • action space 不同;
  • 控制频率不同;
  • 场景布局不同;
  • gripper / end-effector 不同。

所以一个 VLA 即便在 OpenX 里学得很好,也不可能天然 zero-shot 到所有新机器人。

OpenVLA 因此强调:

VLA 不只是一个 zero-shot policy,更应该是一个强初始化,可以被高效 fine-tune 到新机器人、新任务。

这也是它和很多只展示泛化能力的系统相比更实际的地方。


#三、OpenVLA 的模型结构:Prismatic VLM + 机器人动作输出

OpenVLA 的结构可以拆成三层:

  1. 视觉编码器;
  2. projector;
  3. Llama 2 语言模型骨干;
  4. 动作 token 输出与解码。

它本质上是在一个预训练 VLM 基础上继续 fine-tune 成 VLA。

#3.1 基底:Prismatic-7B VLM

OpenVLA 不是从头训练一个视觉语言模型,而是基于 Prismatic-7B VLM

这个选择的意义是:

  • 先利用已有 VLM 的视觉语言对齐能力;
  • 再把机器人动作作为新的输出目标引入;
  • 避免在机器人数据上从零学视觉语义。

这符合 VLA 的基本范式:

机器人数据不够大,所以要继承互联网视觉语言预训练。

#3.2 视觉编码器:DINOv2 + SigLIP 融合

OpenVLA 的视觉编码器不是单一 backbone,而是融合了:

  • DINOv2 ViT-L/14
  • SigLIP ViT-So400M/14

这两个视觉模型的互补性比较明显。

#DINOv2 强在哪里

DINOv2 是自监督视觉表征模型,通常更擅长捕获:

  • 局部结构;
  • 物体形状;
  • 几何与视觉细节;
  • dense visual representation。

对机器人来说,这类信息很重要,因为控制不仅要知道“这是什么”,还要知道“它在哪里、姿态如何、边界在哪里”。

#SigLIP 强在哪里

SigLIP 是视觉语言对齐模型,更擅长捕获:

  • 图像与语言概念之间的对应;
  • 物体语义类别;
  • 视觉属性和文本描述的关联。

对 VLA 来说,它帮助模型把语言指令里的概念和图像里的目标对齐。

所以 OpenVLA 融合 DINOv2 和 SigLIP,本质上是在同时追求:

  • 机器人控制需要的几何/细节表征;
  • 语言指令需要的语义对齐表征。

这比只用一种视觉 backbone 更适合 VLA。

#3.3 Projector:把视觉 patch embedding 映射进 LLM 空间

视觉编码器输出的是 image patch embeddings,但 Llama 2 语言模型吃的是 token embedding 空间。

所以中间需要一个 projector:

image -> visual encoder -> image patch embeddings -> projector -> LLM input embedding space

这一步的作用是让 LLM 可以把图像 patch 当作上下文的一部分处理。

从统一建模角度看,这就是把:

  • 图像 token;
  • 文本 token;
  • 动作 token;

放进同一个 Transformer 处理流里。

#3.4 语言模型骨干:Llama 2 7B

OpenVLA 的语言 backbone 是 Llama 2 7B

它承担的功能包括:

  • 解析语言指令;
  • 融合视觉上下文;
  • 根据当前观测与任务目标生成动作 token。

这里一个很重要的点是:OpenVLA 不是用 LLM 做高层 planner,然后再调用低层 policy;它更接近端到端策略:

image + instruction -> action

也就是说,Llama 2 backbone 直接参与低层动作生成。


#四、OpenVLA 如何表示动作

OpenVLA 输入是图像和语言,输出是机器人动作。

根据 HuggingFace 模型卡,它预测的是归一化后的 7-DoF end-effector delta action

(x, y, z, roll, pitch, yaw, gripper)

这表示:

  • 末端执行器在三维空间中的位移增量;
  • 姿态变化;
  • gripper 开合状态。

#4.1 为什么要归一化动作

不同机器人和数据集的动作尺度不同,比如:

  • 某些机器人用米;
  • 某些机器人用归一化坐标;
  • 控制频率不同导致每步 delta 大小不同;
  • gripper 表示方式也可能不同。

所以 OpenVLA 预测的是 normalized action,真正执行前要根据对应机器人/数据集的统计量 un-normalize。

这就是 HuggingFace 示例里 unnorm_key="bridge_orig" 的含义:

action = vla.predict_action(**inputs, unnorm_key="bridge_orig", do_sample=False)

unnorm_key 告诉模型:

当前这个动作要按哪个机器人/数据集的统计量还原成真实控制量。

#4.2 动作 token 化的优点

OpenVLA 沿用 VLA 路线,把动作放进生成模型框架里。

它的好处是:

  • 可以复用 VLM/LLM 的自回归建模框架;
  • 可以把语言、视觉、动作放进统一 token pipeline;
  • 训练目标更接近 next-token prediction / supervised fine-tuning;
  • 工程上容易接 HuggingFace Transformers 生态。

#4.3 动作 token 化的缺点

但动作 token 化也有明显代价:

  • 连续控制被离散化,会有量化误差;
  • 多维动作序列化后,生成延迟会变高;
  • 自回归输出可能不适合高频闭环控制;
  • 动作之间的连续性和动力学约束没有天然保证。

这也是后续 OpenVLA-OFT 等工作要改进动作解码方式的原因。


#五、OpenVLA 的训练数据:970k Open X-Embodiment 轨迹

OpenVLA 训练在 Open X-Embodiment 数据集中筛选出的约 970k robot manipulation trajectories 上。

Open X-Embodiment 的价值在于,它不是一个单一机器人数据集,而是多个机器人数据集合并后的大规模 embodied dataset。

这类数据覆盖:

  • WidowX;
  • Google Robot;
  • Franka;
  • 多种桌面操作任务;
  • 多种物体与场景;
  • 多种语言指令。

#5.1 为什么数据多样性对 VLA 特别重要

VLA 的目标不是只在一个实验台上完成一个动作,而是成为 generalist robot policy。

所以它需要学习的不是单一 mapping:

固定场景 -> 固定动作

而是更泛化的结构:

视觉观测 + 语言目标 + embodiment context -> 可执行动作

这要求数据覆盖足够多的:

  • 物体;
  • 任务;
  • 视角;
  • 机器人;
  • 动作分布;
  • 失败与恢复模式。

OpenVLA 相比一些更小数据训练的策略,优势很大一部分来自 OpenX 数据多样性。

#5.2 训练成本

项目页提到,OpenVLA 在 64 张 A100 GPU 上训练 15 天

这说明一个现实问题:

OpenVLA 是开源的,但重新从头训练并不便宜。

它的实际开放价值更多体现在:

  • 可以下载 checkpoint;
  • 可以做 fine-tuning;
  • 可以作为 baseline;
  • 可以研究架构和数据;
  • 可以基于其训练代码做后续改造。

#六、OpenVLA 的实验结果:它到底强在哪里

OpenVLA 的实验主要体现三类能力:

  1. 多机器人 out-of-the-box 控制;
  2. 泛化能力;
  3. 新任务/新平台 fine-tuning。

#6.1 Out-of-the-box 控制多个机器人

OpenVLA 在两个代表性设置上做了直接评估:

  • Bridge V2 的 WidowX robot;
  • Google Robot,也就是 RT 系列论文使用的平台。

结果显示,OpenVLA 超过了:

  • RT-1-X;
  • Octo;
  • 甚至在 29 个任务、多 embodiment 上超过闭源 55B RT-2-X 约 16.5% absolute success rate。

这点很重要,因为 OpenVLA 只有 7B,而 RT-2-X 是 55B。

它说明:

模型规模不是 VLA 唯一关键,数据多样性、视觉 backbone 选择、训练配方和开放 pipeline 同样重要。

#6.2 泛化维度

OpenVLA 评测了多类泛化:

#视觉泛化

例如:

  • 未见过的背景;
  • distractor objects;
  • 物体颜色/外观变化。

这考验模型是否能稳定识别目标,而不是被背景和干扰物带偏。

#运动泛化

例如:

  • 未见过的物体位置;
  • 未见过的朝向;
  • 目标初始状态变化。

这考验模型是否能把视觉定位转化成正确的动作调整。

#物理泛化

例如:

  • 未见过的物体尺寸;
  • 未见过的形状。

这更接近机器人控制中的真实困难,因为抓取和放置高度依赖物理属性。

#语义泛化

例如:

  • 未见过的目标物体;
  • 新指令;
  • 来自互联网概念的任务。

这是 VLA 最有特色的部分,也是它相比传统 imitation policy 更有吸引力的地方。

#6.3 OpenVLA 的一个重要现象:会恢复一些错误

项目页提到,在某些 rollouts 中,OpenVLA 初始抓取不稳,但后续能恢复并完成任务。

这很有意思,因为它说明模型并不只是死板执行单步动作模板,而可能在视觉闭环下具备一定纠错能力。

不过这并不等于它具备完整的 long-horizon planning。更准确地说:

OpenVLA 有一定闭环反应能力,但仍然主要是视觉条件策略,而不是显式世界模型或规划器。


#七、OpenVLA 如何 fine-tune:它为什么强调可适配

OpenVLA 的一个核心贡献是系统探索 fine-tuning。

它评估了把 OpenVLA 迁移到新机器人和新任务时的表现,包括:

  • Franka-Tabletop;
  • Franka-DROID。

这些设置和预训练数据中的机器人/任务不同,因此更能检验 OpenVLA 作为 foundation policy initialization 的价值。

#7.1 为什么不能只靠 zero-shot

OpenVLA 模型卡明确说明:

OpenVLA 不会 zero-shot 泛化到训练混合中完全没见过的新 robot embodiment 或 setup。

这是非常重要的限制。

原因很简单:

  • 机器人 action space 不同;
  • 控制频率不同;
  • 相机视角不同;
  • 机械臂几何不同;
  • 数据统计分布不同。

所以对于一个全新机器人,正确做法通常是:

  1. 收集一批该机器人上的 demonstrations;
  2. 用 OpenVLA 做初始化;
  3. 在新数据上 fine-tune;
  4. 用对应统计量 un-normalize action。

#7.2 LoRA 的意义:降低微调成本

OpenVLA 研究了 parameter-efficient fine-tuning。

结论大致是:

  • 只调最后一层效果不好;
  • 冻结视觉编码器也不够;
  • LoRA 能在性能和显存之间取得较好平衡;
  • LoRA 只训练约 1.4% 参数,就能接近 full fine-tuning 性能。

这对社区很关键,因为 7B VLA 如果每次都全量微调,成本仍然很高。

LoRA 的价值是让普通研究者可以在较少 GPU 资源下做适配实验。

#7.3 量化部署

OpenVLA 还展示了模型可以通过 quantization 更高效部署,并且不明显损失下游成功率。

这对机器人系统很重要,因为实际机器人控制不只看成功率,还看:

  • 推理延迟;
  • GPU 显存占用;
  • 控制频率;
  • 系统稳定性。

#八、OpenVLA 和 Diffusion Policy / Octo / RT-2-X 的关系

理解 OpenVLA,最好把它放进几个关键 baseline 的坐标系里。

#8.1 OpenVLA vs RT-2-X

RT-2-X 是强闭源 VLA,参数规模更大,互联网预训练和机器人数据结合得更充分。

OpenVLA 相比 RT-2-X 的优势:

  • 开源;
  • 参数更小;
  • 可复现;
  • 可微调;
  • 在部分多机器人任务上效果更强。

但 RT-2-X 在一些更难的互联网语义泛化任务上仍然更强。

项目页给了一个例子:

  • “Move Coke Can near Taylor Swift” 这类需要互联网概念理解的任务;
  • RT-2-X 可以做对;
  • OpenVLA 失败。

原因也很清楚:

OpenVLA fine-tune 时主要用机器人 action data,可能损失了一部分原始 VLM 的互联网语义知识;RT-2-X 通过 co-fine-tuning 同时保留更多 web-scale 语义能力。

这暴露出一个重要研究问题:

VLA 训练时如何在机器人动作能力和互联网语义知识之间避免 catastrophic forgetting?

#8.2 OpenVLA vs Octo

Octo 是开源 generalist robot policy,强调多机器人、多任务预训练和高效适配。

OpenVLA 相比 Octo 的核心差别是:

  • Octo 更像 generalist robot transformer policy;
  • OpenVLA 更明确地建立在 VLM/LLM 上,强调视觉语言预训练带来的语义能力。

在一些需要语言 grounding 的多对象任务里,OpenVLA 往往更有优势。

#8.3 OpenVLA vs Diffusion Policy

Diffusion Policy 是非常强的 imitation learning baseline,尤其擅长窄任务、高精度、连续动作控制。

OpenVLA 和 Diffusion Policy 的关系不是简单谁替代谁,而是各有强项:

  • Diffusion Policy:窄任务、精细操作、单一目标任务可能更强;
  • OpenVLA:多任务、多对象、语言条件任务更有优势。

项目页里也展示了这种现象:

  • 在单一窄任务如 “Put Carrot in Bowl” 中,Diffusion Policy 可能成功而 OpenVLA 失败;
  • 在多对象、语言条件更强的任务里,OpenVLA 更容易表现出优势。

这说明:

VLA 的优势主要来自语义和多任务泛化,而不是天然比所有低层 imitation policy 更适合精细控制。


#九、OpenVLA 的局限性

OpenVLA 很重要,但它远不是终点。它的局限恰好揭示了 VLA 路线下一步要解决的问题。

#9.1 不能 zero-shot 到完全新 embodiment

OpenVLA 明确不保证对训练混合中未出现的新机器人 zero-shot 泛化。

这说明 VLA 目前的 embodiment generalization 仍然有限。

真正的通用机器人基础模型需要进一步解决:

  • action space 对齐;
  • embodiment representation;
  • morphology-aware policy;
  • 不同控制频率和传感器布局的统一建模。

#9.2 动作 token 化仍然不够自然

OpenVLA 沿用了动作 token 生成路线。这让它能接入 VLM/LLM 框架,但也导致:

  • 生成延迟;
  • 控制频率受限;
  • 连续动作表征不够直接;
  • 精细接触控制不一定强。

这也是 OpenVLA-OFT 后续要引入:

  • parallel decoding;
  • action chunking;
  • continuous action representation;
  • L1 regression objective。

从这个角度看,OpenVLA 是一个强 base model,但它的动作头不是最终答案。

#9.3 仍然缺少显式世界模型

OpenVLA 根据当前图像和语言输出动作,但它没有显式建模:

  • 动作执行后世界会如何变化;
  • 哪个动作序列会导致更优未来;
  • 失败后的 long-horizon recovery;
  • 多步规划和信用分配。

因此它更像一个强视觉语言条件策略,而不是 WAM / model-based agent。

这也是为什么 VLA 后面会自然演进到 WAM、world model、latent planning 等路线。

#9.4 语义能力可能被机器人微调削弱

前面提到,OpenVLA 在某些互联网概念任务上不如 RT-2-X。

这说明一个很核心的问题:

把 VLM fine-tune 成 VLA 时,如何保留原始互联网知识?

如果只在机器人数据上训练,模型可能越来越会操作,但忘掉一部分 web-scale semantic knowledge。

未来可能需要:

  • robot data + web VQA data co-training;
  • continual pretraining;
  • multi-objective training;
  • knowledge-preserving regularization;
  • adapter 分离语义能力和动作能力。

#9.5 训练成本仍然高

虽然 OpenVLA 是开源的,但从头训练需要 64 A100 训练 15 天。

这意味着社区真正能广泛做的是:

  • fine-tuning;
  • adapter 研究;
  • action head 改造;
  • 数据混合研究;
  • evaluation benchmark;

而不是人人从头训练一个 OpenVLA。


#十、OpenVLA 对后续研究的启发

OpenVLA 的价值不只是一个模型,而是提出了一批值得继续研究的问题。

#10.1 VLA 的开放基座应该长什么样

OpenVLA 证明,一个开放 VLA 至少需要:

  • 开放 checkpoint;
  • 开放训练代码;
  • 开放 fine-tuning script;
  • 清晰的数据混合说明;
  • HuggingFace 生态兼容;
  • 可部署的 inference API。

这给后续 VLA 工作设定了一个社区基线。

#10.2 如何改进动作表示

OpenVLA 的动作 token 化很自然地接入 LLM,但不是最优控制接口。

后续可以探索:

  • continuous action head;
  • diffusion action head;
  • flow matching action head;
  • chunked policy;
  • latent action representation;
  • hierarchical action abstraction。

这也是 OpenVLA-OFT 已经开始推进的方向。

#10.3 如何结合世界模型

OpenVLA 仍然偏向 direct policy。下一步可能是:

VLA semantic grounding + world model rollout + planning / RL

也就是说:

  • OpenVLA 负责理解语言和视觉目标;
  • world model 负责预测动作后果;
  • planner / policy improvement 负责选择长期更优动作。

这会把 VLA 从“会看会说会动”推进到“会预演、会选择、会自我改进”。

#10.4 如何做跨 embodiment 泛化

OpenVLA 的限制说明,跨机器人泛化仍然是硬问题。

可能方向包括:

  • embodiment token;
  • robot morphology descriptor;
  • action space canonicalization;
  • shared end-effector-centric representation;
  • sim-to-real + real data mixture;
  • meta-learning / fast adaptation。

#十一、如果要实际使用 OpenVLA,应该怎么理解它

如果你是研究者或工程实践者,我会这样定位 OpenVLA:

#适合用 OpenVLA 的场景

  • 你需要一个开源 VLA baseline;
  • 你的机器人或任务和 OpenX 中某些 domain 接近;
  • 你有少量 demonstration,可以 fine-tune;
  • 你的任务需要语言 grounding;
  • 你关心多对象、多任务泛化。

#不适合直接指望 OpenVLA 的场景

  • 完全未见过的新机器人,希望 zero-shot 直接跑;
  • 高频、高精度、接触密集控制;
  • 非常窄但要求极高成功率的单任务;
  • 需要复杂 long-horizon planning 的任务;
  • 对互联网概念泛化要求极强的任务。

#实用路线

更现实的使用方式是:

  1. 下载 OpenVLA checkpoint;
  2. 用目标机器人收集少量演示数据;
  3. 选择合适的 unnorm_key 或计算目标数据统计量;
  4. 用 LoRA / parameter-efficient fine-tuning 做适配;
  5. 根据控制频率需求考虑 OpenVLA-OFT 式动作头改造。

#十二、总结:OpenVLA 在 VLA 发展史中的位置

最后压缩成一句话:

OpenVLA 是 VLA 路线从闭源展示走向开放研究基础设施的关键节点。

它的主要贡献包括:

  • 用 7B 开源模型实现强 generalist manipulation policy;
  • 基于 DINOv2 + SigLIP + Llama 2 组合构建 VLA;
  • 在 970k OpenX 机器人轨迹上训练;
  • 支持多机器人 out-of-the-box 控制;
  • 展示了强语言 grounding 和多任务泛化;
  • 系统探索 LoRA、量化等高效 fine-tuning;
  • 为后续 VLA / WAM / robot foundation model 提供开放基座。

但它的局限也很清楚:

  • 不是真正通用到所有机器人;
  • 动作 token 化仍有控制瓶颈;
  • 缺少显式世界模型和长期规划;
  • 语义知识在机器人 fine-tuning 中可能遗忘;
  • 从头训练成本仍然很高。

所以更准确地说,OpenVLA 不是 VLA 的终点,而是 VLA 研究真正开放化的起点。

它之后的问题,不再只是“能不能把 VLM 接到机器人上”,而是:

如何让这种开放 VLA 具备更好的动作表示、更强的世界建模、更稳定的跨 embodiment 泛化,以及更有效的自我改进能力。

这也是为什么 OpenVLA 之后,OpenVLA-OFT、WAM、action-centered world model、model-based robot foundation model 这些方向会变得越来越重要。


#参考资料

  1. Kim et al., OpenVLA: An Open-Source Vision-Language-Action Model, 2024.
  2. OpenVLA project page: https://openvla.github.io/
  3. OpenVLA HuggingFace model card: https://huggingface.co/openvla/openvla-7b
  4. Open X-Embodiment dataset: https://robotics-transformer-x.github.io/
  5. RT-2: Vision-Language-Action Models Transfer Web Knowledge to Robotic Control, 2023.
  6. Octo: An Open-Source Generalist Robot Policy, 2024.