OpenVLA:开源视觉—语言—动作模型(CoRL 2024 论文精读与全文中文翻译)

论文:OpenVLA: An Open-Source Vision-Language-Action Model
项目主页:https://openvla.github.io
论文地址:https://arxiv.org/abs/2406.09246
会议:CoRL 2024

论文图 1

图1:OpenVLA 概览。 OpenVLA 是一个包含 70 亿参数的开源视觉—语言—动作模型。它在 Open X-Embodiment 数据集的 97 万条机器人轨迹上训练,能够直接根据图像观测和自然语言指令预测机器人动作。本文以下内容以论文原始章节为顺序进行中文翻译;引用框中的“我的理解”是额外解释,不属于论文原文。

摘要(Abstract)

大型视觉—语言模型(Vision-Language Models,VLMs)已经表现出强大的视觉推理能力、对新物体的识别能力,以及对自然语言指令的理解能力。近期的研究开始把这些能力引入机器人学习:在机器人操作数据上对预训练 VLM 进行微调,使模型直接输出机器人动作,由此形成视觉—语言—动作模型(Vision-Language-Action Models,VLAs)。

然而,目前已有的 VLA 大多是闭源系统,因此研究社区无法了解其训练数据、模型结构和训练过程,也难以研究如何将这些模型高效地适配到新的机器人本体、任务和环境中。

本文提出 OpenVLA:一个包含 70 亿参数的开源 VLA。OpenVLA 建立在预训练的视觉—语言模型之上,并在 Open X-Embodiment 数据集中的 97 万条机器人操作轨迹上训练。OpenVLA 在多种机器人平台和任务上超过了已有开源通用策略,并且整体表现超过参数量为 550 亿的闭源 RT-2-X 模型

在下游适配实验中,OpenVLA 在涉及多个物体和强语言指令对齐的多任务环境中展现出较强的泛化能力。与从零训练的 Diffusion Policy 等高表达能力模仿学习方法相比,OpenVLA 的平均性能提高了 20.4%。此外,本文还研究了计算效率:利用现代低秩适配方法,OpenVLA 可以在消费级 GPU 上完成微调;通过量化,它能够在不降低下游任务成功率的情况下高效推理。最后,作者发布了模型检查点、微调 Notebook,以及支持在 Open X-Embodiment 数据上进行大规模 VLA 训练的 PyTorch 代码库。

我的理解: 这篇工作的核心意义并不只是“又一个 VLA”。它第一次把 VLA 的模型权重、训练代码、微调流程和部署方法放在相对完整的开源体系中。对于个人实验室而言,OpenVLA 更像一个可修改的研究底座:我们可以在它之上替换动作解码器、改变数据混合方式、加入动作分块或扩散动作头,而不是只能通过闭源接口观察结果。

1 Introduction

机器人操作学习策略的一个关键弱点,是它们通常无法泛化到训练数据以外。针对单项技能或单一语言指令训练的策略,虽然能够把行为外推到新的初始状态,例如不同的物体位置或光照条件,但它们面对场景干扰物和新物体时往往不够鲁棒,也很难执行训练阶段没有出现过的新指令。

与机器人策略不同,CLIP、SigLIP 和 Llama 2 等视觉与语言基础模型已经具备这类泛化能力。这些能力来自互联网规模的预训练数据。机器人领域目前还无法复现同等规模的数据预训练:即使最大的机器人操作数据集,也通常只有 10 万到 100 万个样本。这种数据规模的不平衡反而带来了一个机会:可以把现有的视觉和语言基础模型作为机器人策略的核心组件,从而让策略泛化到训练数据之外的新物体、新场景和新任务。

围绕这一目标,已有研究把预训练语言模型和视觉—语言模型用于机器人表征学习,也把它们作为模块化系统中的任务规划与执行组件。更近期的工作则直接学习用于控制的 VLA。VLA 的做法,是直接微调带视觉条件的语言模型,例如 PaLI,使其生成机器人控制动作。由于继承了互联网规模预训练基础模型的能力,RT-2 等 VLA 在鲁棒性、新物体泛化和新任务泛化方面表现突出,并提高了通用机器人策略的性能上限。

但是,现有 VLA 难以被广泛使用,主要有两个原因

  1. 当前模型大多闭源,外界很难了解其模型结构、训练过程和数据混合方式;
  2. 现有研究没有给出把 VLA 部署并适配到新机器人、新环境和新任务上的最佳实践,尤其缺少在普通消费级 GPU 上完成这些工作的方案。

作者认为,机器人领域需要类似开源语言模型生态的开放式通用 VLA,从而为未来研究提供更丰富的基础,并支持有效的微调和适配。

为此,本文提出 OpenVLA。它是一个 70 亿参数的开源 VLA,并建立了新的通用机器人操作策略性能基线。OpenVLA 使用预训练的视觉条件语言模型作为骨干,能够捕获不同粒度的视觉特征;随后在 Open X-Embodiment 数据集中 97 万条多样化机器人操作轨迹上微调。该数据覆盖不同机器人本体、任务和场景。

得益于更丰富的数据和新的模型组件,OpenVLA 在 WidowX 和 Google Robot 两种机器人本体上的 29 项评测任务中,以绝对成功率高出 16.5 个百分点的结果超过了此前的 VLA 基线 RT-2-X。值得注意的是,RT-2-X 有 550 亿参数,而 OpenVLA 只有 70 亿参数。

作者还在 7 项不同操作任务上系统研究 VLA 的高效微调。这些任务覆盖从物体拾取放置到桌面清理等行为。微调后的 OpenVLA 明显优于 Octo 等预训练通用策略。对于包含多个物体、要求把语言指令准确映射为行为的多任务场景,OpenVLA 也明显优于从零训练的 Diffusion Policy。

在此基础上,本文首次展示了 LoRA 低秩适配和模型量化对 VLA 的有效性,使 OpenVLA 可以在消费级 GPU 而不是大型服务器节点上完成适配,并且不牺牲任务性能。作者最终开源模型、部署与微调 Notebook,以及能够支持大规模 VLA 训练的代码库。

我的理解: Introduction 给出的逻辑非常清楚:机器人数据不可能短期内追上互联网图文数据规模,因此 VLA 的关键并不是“重新训练一个机器人基础模型”,而是利用已经获得语义和视觉泛化能力的 VLM,再补上动作输出能力。OpenVLA 的研究价值在于把这条路线变成公开、可复现、可适配的工程与算法方案。

2 Related Work

2.1 Visually-Conditioned Language Models

视觉条件语言模型在互联网规模数据上训练,根据输入图像和语言提示生成自然语言,已经被用于视觉问答、目标定位等多类任务。近期 VLM 的重要进展之一,是把预训练视觉编码器产生的特征与预训练语言模型连接起来,直接复用计算机视觉和自然语言处理两方面的进步。

早期工作研究了多种视觉—语言交叉注意力结构。近期的开源 VLM 则逐渐采用更简单的“patch-as-token”方法:视觉 Transformer 产生的图像 patch 特征被看作 token,再通过投影器映射到语言模型的输入空间。这种结构能够直接复用大规模语言模型训练工具。

OpenVLA 使用 Karamcheti 等人提出的 Prismatic VLM 作为预训练骨干。该模型融合多分辨率视觉特征:DINOv2 提供偏低层的空间信息,SigLIP 提供更高层语义信息,以帮助视觉泛化。

我的理解: “patch-as-token”使视觉和语言进入同一种序列建模接口。对机器人控制而言,DINOv2 与 SigLIP 的融合尤其重要:机器人不仅需要知道“这是什么物体”,还必须知道“物体在哪里、朝向如何、末端应该往哪里移动”。

2.2 Generalist Robot Policies

机器人学习正在转向利用大型、多样化数据训练多任务通用策略,这些数据覆盖不同机器人本体。Octo 是典型代表:它能直接控制多种机器人,也支持适配到新的机器人配置。

OpenVLA 与这类方法的主要区别在于模型结构。Octo 等工作通常把预训练语言嵌入或视觉编码器与从零初始化的新模块组合起来,在策略训练阶段学习如何把这些组件连接起来。OpenVLA 则采用更端到端的方式:直接微调 VLM,并把机器人动作作为语言模型词表中的 token 生成。实验结果表明,这一简单但可扩展的流程显著提高了性能和泛化能力。

2.3 Vision-Language-Action Models

已有多项工作把 VLM 用于视觉状态表征、目标检测、高层规划和反馈信号。另一些工作把 VLM 直接接入端到端视觉运动策略,但通常在策略结构中加入较强的人工结构,或者需要完成相机标定,从而限制适用范围。

近期工作开始采用与 OpenVLA 相似的流程:直接微调大型预训练 VLM,使其预测机器人动作。这些模型被称为 VLA,因为它们把控制动作直接融入 VLM 骨干。这样做有三个主要优点:

  1. 视觉和语言组件已经在互联网规模视觉—语言数据上完成对齐;
  2. 通用模型结构可以复用现代 VLM 的大规模训练基础设施,只需很少的代码改动就能训练十亿参数级策略;
  3. 机器人策略能够直接受益于 VLM 的快速进步。

现有 VLA 要么只在单个机器人或仿真环境上训练与评估,缺少通用性;要么是闭源模型,不支持高效适配到新的机器人配置。最相关的工作 RT-2-X 在 Open X-Embodiment 数据上训练了一个 550 亿参数的 VLA,并取得较强通用操作性能。

OpenVLA 与 RT-2-X 有四点重要区别:第一,OpenVLA 使用强开源 VLM 骨干和更丰富的机器人预训练数据,参数量小一个数量级但实验性能更高;第二,OpenVLA 系统研究了新机器人配置的微调,而 RT-2-X 没有研究微调;第三,本文首次验证现代参数高效微调和量化方法对 VLA 的有效性;第四,OpenVLA 是第一个开源通用 VLA,使社区能够进一步研究训练方法、数据混合、目标函数和推理。

3 The OpenVLA Model

OpenVLA 是一个 70 亿参数的 VLA,在 Open X-Embodiment 的 97 万条机器人示教上训练。本节依次介绍现代 VLM 骨干、训练流程、训练数据、关键设计决策,以及训练与推理基础设施。

论文图 2

图2:OpenVLA 模型结构。 输入是一张图像观测和一条语言指令,输出为 7 维机器人控制动作。结构包含三个关键部分:融合 DINOv2 与 SigLIP 特征的视觉编码器、把视觉特征映射到语言嵌入空间的投影器,以及 Llama 2 7B 语言模型骨干。动作反分词器把动作 token 还原为连续控制量。

3.1 Preliminaries: Vision-Language Models

大多数现代 VLM 包含三个部分:视觉编码器将图像映射为图像 patch embeddings;投影器把视觉特征映射到语言模型输入空间;大语言模型作为骨干。在 VLM 训练中,模型在成对或交错排列的视觉—语言互联网数据上,以预测下一个文本 token 为目标进行端到端训练。

OpenVLA 建立在 Prismatic-7B VLM 之上。Prismatic 包含一个约 6 亿参数的视觉编码器、一个两层 MLP 投影器,以及 70 亿参数的 Llama 2 语言模型。Prismatic 的视觉编码器由 SigLIP 和 DINOv2 两部分组成。输入图像 patch 分别经过两个编码器,随后在通道维度拼接所得特征。

与只使用 CLIP 或 SigLIP 的视觉编码器相比,加入 DINOv2 特征能够提高空间推理能力,而空间推理对机器人控制尤其重要。SigLIP、DINOv2 和 Llama 2 的权重是开放的,但其训练数据与训练代码没有完全发布。Prismatic 在这些组件之上,使用约 100 万条来自开源数据集的图文与纯文本样本继续微调。

3.2 OpenVLA Training Procedure

训练 OpenVLA 时,作者对预训练 Prismatic-7B VLM 进行微调,使其预测机器人动作。动作预测被表述为一个“视觉—语言”任务:输入观测图像和自然语言任务指令,输出一串机器人动作。

为了使语言模型骨干能够预测动作,作者把连续动作映射为语言模型 tokenizer 所使用的离散 token。每个动作维度分别离散为 256 个区间。对于每个维度,作者在训练数据动作分布的第 1 百分位数与第 99 百分位数之间均匀划分区间,而不是使用最小值与最大值。

z_d = \operatorname{Quantize}\left(a_d; q_{0.01}^{(d)},q_{0.99}^{(d)},256\right),\quad z_d\in\{0,\ldots,255\}

采用分位数边界可以忽略离群动作,否则极端值会显著扩大离散化范围,降低有效量化精度。

离散化后,一个 N 维动作得到 N 个位于 0 到 255 之间的整数。Llama tokenizer 只保留了 100 个可在微调时新引入的特殊 token,无法容纳 256 个动作 token。因此作者沿用 RT-2 的简单方案:用动作 token 覆盖 Llama 词表中使用频率最低的 256 个 token,即词表最后 256 个位置。

当动作被转换为 token 序列后,OpenVLA 使用标准 next-token prediction 目标训练,但交叉熵损失只在预测动作 token 上计算:

\mathcal{L}_{\mathrm{action}}=-\sum_{t=1}^{N}\log p_{\theta}\left(z_t\mid I,\ell,z_{<t}\right)

其中:

  • a_d:连续机器人动作的第 d 个维度;
  • q_{0.01}^{(d)}q_{0.99}^{(d)}:该动作维度在训练数据中的第 1% 与第 99% 分位点;
  • z_d:量化后得到的离散动作编号,范围为 0–255;
  • I:当前图像观测;
  • \ell:自然语言任务指令;
  • z_{<t}:当前动作 token 之前已经生成的动作 token;
  • p_\theta:参数为 \theta 的 OpenVLA 自回归概率模型。

我的理解(公式之间的逻辑): 第一条公式完成“连续动作 → 256 个离散格子”的量化;第二条公式再把这些格子当作语言 token,通过交叉熵训练模型逐个预测。也就是说,第一式定义动作的表示方式,第二式定义如何学习这种表示。分位数分箱解决离群值把动作区间拉得过宽的问题;覆盖低频词表 token 则避免修改 tokenizer 与输出层结构。

为什么不直接回归 7 个连续数? 直接回归更自然,但无法完全复用 LLM 的 next-token prediction 训练栈。OpenVLA 选择离散 token,是用一定量化误差换取成熟的大模型训练基础设施。它的局限是:离散化不天然表达连续动作的多模态分布,也缺少动作序列的时间平滑;这正是扩散、流匹配或动作分块解码头可以继续改进的地方。

3.3 Training Data

OpenVLA 训练数据的目标,是覆盖尽可能丰富的机器人本体、场景和任务,使最终模型能够直接控制不同机器人,并高效适配新配置。作者以 Open X-Embodiment 为基础构造训练集。完整 OpenX 当时包含 70 多个独立机器人数据集和 200 多万条轨迹,经过社区协作被整理为统一格式。

为了使训练可行,作者对原始数据进行多步筛选。目标是:第一,在不同数据集间建立一致的输入输出空间;第二,让最终混合数据中的本体、任务与场景保持相对平衡。

为统一空间,作者只保留至少具有一个第三人称相机、采用单臂末端执行器控制的操作数据集。为平衡数据,作者使用 Octo 的混合权重:降低或移除多样性较低的数据集权重,提高任务与场景更加丰富的数据集权重。

作者也尝试加入 DROID 等后来新增的数据,并给 DROID 10% 的保守混合权重。但训练期间 DROID 的动作 token 准确率始终较低,意味着需要更高的混合权重或更大的模型才能拟合其多样性。为避免影响最终模型质量,作者在训练最后三分之一阶段移除了 DROID。

我的理解: “更多数据”并不等于“更好数据”。跨机器人数据会同时带来动作空间、控制频率、相机视角和任务标注差异。DROID token 准确率长期偏低说明模型容量与 mixture weight 之间存在竞争:某个高多样性数据集权重太小,模型可能一直学不会;权重太大,又可能破坏其他数据分布。

3.4 OpenVLA Design Decisions

作者在最终大规模训练前,先在 BridgeData V2 上做小规模实验,以提高迭代速度并降低计算成本。

VLM 骨干。 作者比较了 Prismatic、IDEFICS-1 和 LLaVA。LLaVA 与 IDEFICS-1 在单物体任务上表现相近,但在包含多个物体、需要根据语言指令选择正确目标的任务中,LLaVA 语言对齐更强。在 BridgeData V2 水槽环境的五项语言 grounding 任务上,LLaVA 的绝对成功率平均比 IDEFICS-1 高 35%。Prismatic 微调策略又比 LLaVA 高约 10 个百分点。作者认为差异来自融合 SigLIP-DINOv2 骨干带来的空间推理提升,因此最终选择 Prismatic。

图像分辨率。 更高分辨率产生更多图像 patch token,使上下文长度增加,训练计算量呈二次增长。作者比较 224×224 与 384×384 输入,在机器人评测中没有观察到性能差异,而 384×384 训练耗时是前者 3 倍。因此最终采用 224×224。

是否微调视觉编码器。 VLM 研究通常发现冻结视觉编码器效果更好,因为这样可以保留互联网预训练得到的鲁棒特征。但 VLA 训练中,作者发现微调视觉编码器对高性能至关重要。其原因可能是预训练视觉骨干缺少精细机器人控制所需的局部空间细节。

训练轮数。 LLM/VLM 通常只遍历数据集一到两轮;VLA 却需要显著更多轮次。真实机器人性能会随着训练动作 token 准确率提升而持续提高,直到准确率超过 95%。最终 OpenVLA 训练遍历数据集 27 轮。

学习率。 作者跨多个数量级搜索学习率,固定学习率 2\times10^{-5} 效果最好,与 VLM 预训练使用的学习率相同;学习率 warmup 没有带来收益。

我的理解: 这些结论反映了 VLA 与普通 VLM 的差异。语义识别允许一定模糊性,但控制误差会直接累积成失败,因此需要微调视觉编码器、更多轮训练和更高动作 token 准确率。224 分辨率不吃亏,可能是因为当前任务的关键几何信息仍能在该分辨率下辨别;这不意味着精细装配或小物体任务也一定如此。

3.5 Infrastructure for Training and Inference

最终 OpenVLA 使用 64 张 A100 GPU 训练 14 天,总计约 21,500 A100 小时,batch size 为 2048。推理时,bfloat16 精度下需要约 15GB GPU 显存;在单张 RTX 4090 上约以 6Hz 运行,未使用编译、推测解码或其他推理加速技术。

作者还实现了远程 VLA 推理服务器,使机器人能够实时串流图像与指令并接收动作预测,不要求机器人本地配备高性能计算设备。这一方案也随代码开源。

4 The OpenVLA Codebase

作者发布了模块化 PyTorch 代码库,可从单 GPU 微调扩展到多节点 GPU 集群上的十亿参数 VLA 训练。代码支持自动混合精度、FlashAttention 和 FSDP 等现代 Transformer 训练技术;原生支持 Open X 数据训练,集成 HuggingFace AutoModel,并支持 LoRA 微调与量化推理。

我的理解: 对开源研究而言,“能下载权重”不等于“开源完整”。OpenVLA 同时开放数据接口、训练代码、微调 Notebook 和部署流程,这使研究者可以真正改变模型,而不仅是调用推理 API。

5 Experiments

实验旨在回答三个问题:

  1. OpenVLA 在多个机器人和多种泛化条件下,与已有通用策略相比如何?
  2. OpenVLA 能否有效微调到新的机器人配置和任务?与数据高效模仿学习相比如何?
  3. 参数高效微调和量化能否降低训练与推理成本?性能—计算量如何权衡?

实验设置总览

维度 具体设置
开箱评测对象 WidowX(BridgeData V2)与 Google Robot 移动操作平台
下游适配对象 Franka-Tabletop 与 Franka-DROID 两种 Franka Panda 配置
泛化场景 未见背景/干扰物、未见位置与朝向、未见尺寸与形状、未见物体/指令/互联网概念
语言条件测试 多物体场景中是否操作指令指定的正确目标
Bridge 评测规模 17 项任务 × 10 次,共 170 次 rollout
Google Robot 规模 12 项任务 × 5 次,共 60 次 rollout
下游微调数据 每项任务 10–150 条示教,共 7 项 Franka 任务
控制频率 Franka-Tabletop 5Hz;Franka-DROID 15Hz;Bridge 5Hz
主要指标 任务成功率(平均值 ± 标准误差)、训练参数量、显存、推理频率
公平性控制 A/B 评测使用相同任务、相同机器人初始状态和相同物体初始状态

Baseline 总览

Baseline 类型与规模 训练/输入特点 比较目的
RT-1-X 3500 万参数通用 Transformer 在 OpenX 子集上从零训练 判断无互联网 VLM 预训练的通用策略能力
Octo 9300 万参数开源通用策略 OpenX 预训练,支持下游微调 开源通用策略强基线
RT-2-X 550 亿参数闭源 VLA 互联网视觉语言预训练 + 机器人动作数据 与大规模闭源 VLA 比较开箱泛化
Diffusion Policy 从零训练的扩散模仿学习 两帧历史、本体状态、动作块、滚动时域控制 比较窄任务中的连续轨迹质量和数据效率
Diffusion Policy (matched) 输入输出规格匹配 OpenVLA 单图、无本体状态、无历史、单步相对动作 排除输入与控制接口不公平因素
OpenVLA (scratch) Prismatic VLM 直接微调 不经过 OpenX 机器人预训练 验证 97 万机器人轨迹预训练的价值

我的理解(如何读这些 baseline): 这组实验不是单纯比较“谁的成功率高”。RT-1-X/Octo 与 RT-2-X/OpenVLA 的差异主要检验互联网 VLM 预训练的价值;OpenVLA 与 OpenVLA scratch 检验机器人预训练的价值;OpenVLA 与两种 Diffusion Policy 则把“语义泛化能力”和“连续轨迹建模能力”拆开比较。尤其是 matched 版本,用来避免把观察历史、本体状态和动作分块等额外信息带来的优势误算成算法本身的优势。

5.1 Direct Evaluations on Multiple Robot Platforms

作者在两种机器人本体上进行开箱评测:BridgeData V2 使用的 WidowX,以及 RT-1/RT-2 使用的移动操作机器人 Google Robot。任务覆盖视觉泛化(未见背景、干扰物、颜色和外观)、运动泛化(未见位置与朝向)、物理泛化(未见尺寸与形状)和语义泛化(未见目标、指令与互联网概念)。多物体场景还专门评估语言条件能力,即策略是否会操作指令指定的正确物体。

BridgeData V2 共评估 17 项任务、每项 10 次,共 170 次 rollout;Google Robot 共评估 12 项任务、每项 5 次,共 60 次 rollout。所有模型使用相同任务和相同初始机器人/物体状态进行 A/B 比较。

比较对象包括 RT-1-X、RT-2-X 和 Octo。RT-1-X(3500 万参数)和 Octo(9300 万参数)是在 OpenX 子集上从零训练的 Transformer 策略;Octo 是当时开源操作策略中的强基线。RT-2-X(550 亿参数)是利用互联网预训练视觉和语言骨干的闭源 VLA。

论文图 3

图3:BridgeData V2 WidowX 评测任务与结果。 任务覆盖多种泛化轴以及语言条件能力。OpenVLA 的整体性能最高;除语义泛化外,它在其他类别均超过 RT-2-X。每种方法统计 170 次 rollout 的平均成功率与标准误差。

RT-1-X 和 Octo 在这些高难度测试上表现不佳,尤其当场景存在干扰物时,经常无法操作正确目标,有时机械臂甚至无目的摆动。RT-2-X 明显优于 RT-1-X 和 Octo,说明互联网预训练 VLM 对机器人控制具有价值。

论文图 4

图4:Google Robot 评测结果。 OpenVLA 与 RT-2-X 表现相近,并整体显著超过 RT-1-X 与 Octo。统计来自每种方法 60 次 rollout。

OpenVLA 在 Google Robot 上与 RT-2-X 相当,在 BridgeData V2 上则显著超过 RT-2-X,尽管参数规模小一个数量级。定性观察表明,两种 VLA 都比其他模型更加鲁棒:存在干扰物时会靠近正确目标;能调整末端姿态以匹配目标朝向;抓取不牢时还能进行一定恢复。

RT-2-X 在语义泛化上更强,这是合理的:它使用规模更大的互联网预训练数据,并在机器人动作数据和互联网视觉—语言数据上联合微调,从而更好地保留预训练知识;OpenVLA 则只在机器人数据上微调。在其他任务类别中,OpenVLA 相当或更好。作者将差异归因于 97 万轨迹的大训练集(RT-2-X 为 35 万)、更仔细的数据清洗,以及融合语义与空间特征的视觉编码器。

我的理解: RT-2-X 语义泛化更强提示了一个重要问题:只在机器人轨迹上继续训练,可能发生“语义遗忘”。后续 VLA 可以在动作数据与互联网图文数据上共同训练,或者使用参数隔离/正则化,在学习控制的同时保留 VLM 知识。

5.2 Data-Efficient Adaptation to New Robot Setups

作者测试一种简单配方:使用目标任务的 10–150 条示教,对 OpenVLA 全部参数进行微调。实验包含 Franka-Tabletop(固定桌面 Franka Panda 7-DoF 机械臂,5Hz 控制)和 Franka-DROID(安装在可移动升降桌上的 Franka,15Hz 控制)。

比较方法包括从零训练的 Diffusion Policy、输入输出规格与 OpenVLA 匹配的 Diffusion Policy、微调 Octo、微调 OpenVLA,以及直接微调未经过 OpenX 机器人预训练的基础 Prismatic VLM(OpenVLA scratch)。

论文图 5

图5:适配新机器人配置。 对 7 项 Franka 任务分别使用 10–150 条示教。Diffusion Policy 在狭窄的单指令任务上很强;Octo 和 OpenVLA 在包含多条指令与干扰物的多样化任务上更好。两种配置汇总后,OpenVLA 平均性能最高。每种方法共评估 129 次 rollout。

两种 Diffusion Policy 在“把胡萝卜放入碗中”“把玉米倒入锅中”等窄单指令任务上具有竞争力,甚至超过通用策略;但在包含多个物体、需要语言条件的多样化任务上,OpenX 预训练的 Octo 和 OpenVLA 更强。OpenVLA scratch 较差,也说明大规模机器人预训练带来了有效先验。

整体而言,OpenVLA 平均性能最高,并且是唯一在所有测试任务上成功率都至少达到 50% 的方法。对于狭窄但要求高灵巧度的任务,Diffusion Policy 轨迹仍更平滑、更精确。作者认为把动作分块与时间平滑加入 OpenVLA,可能提升其灵巧性。

我的理解: 这部分直接连接 ACT、Diffusion Policy 与 VLA。VLA 的强项是语义和多任务泛化,扩散/动作分块的强项是连续轨迹质量与时序平滑。把 VLA 骨干与 chunk、diffusion 或 flow 动作头结合,是比单纯扩大 VLM 更贴近精细操作的研究方向。

5.3 Parameter-Efficient Fine-Tuning

全参数微调每个任务需要 8 张 A100 运行 5–15 小时。作者比较了全参数微调、只训练最后一层、冻结视觉编码器、sandwich 微调,以及不同秩的 LoRA。

策略 成功率 训练参数量 显存(batch 16)
全参数微调 69.7±7.2% 7188.1M 163.3GB(2卡分片)
仅最后层 30.3±6.1% 465.1M 51.4GB
冻结视觉 47.0±6.9% 6760.4M 156.2GB(2卡分片)
Sandwich 62.1±7.9% 914.2M 64.0GB
LoRA rank=32 68.2±7.5% 97.6M 59.7GB
LoRA rank=64 68.2±7.8% 195.2M 60.5GB

只训练最后一层或冻结视觉编码器都会明显降低性能,进一步说明视觉特征必须适配目标场景。Sandwich 微调同时解冻视觉编码器、token embedding 和最后一层,因此优于前两者。LoRA 的性能—计算量权衡最佳:只训练约 1.4% 参数,就能接近全参数微调。rank 32 与 64 几乎无性能差异,因此作者建议默认使用 r=32。LoRA 使单张 A100 在 10–15 小时内完成新任务微调,计算量比全参数微调降低约 8 倍。

5.4 Memory-Efficient Inference via Quantization

OpenVLA 参数远多于 Octo 等小于 1 亿参数的开源通用策略。默认 bfloat16 推理约需 16GB 显存。作者进一步测试 8-bit 与 4-bit 量化,在 8 项代表性 BridgeData V2 任务上评估显存和任务性能。

精度 Bridge 成功率 显存
bfloat16 71.3±4.8% 16.8GB
int8 58.1±5.1% 10.2GB
int4 71.9±4.7% 7.0GB

论文图 6

图6:不同 GPU 上的 OpenVLA 推理速度。 bfloat16 与 int4 在 Ada Lovelace 架构 GPU(如 RTX 4090、H100)上吞吐较高。TensorRT-LLM 等现代推理框架仍可能继续加速。

8-bit 量化在多数 GPU 上反而变慢,因为额外量化运算的开销较大。在实验所用 A5000 上只能达到 1.2Hz,与 Bridge 数据采集时 5Hz 非阻塞控制器的系统动力学相差较大,导致性能明显下降。4-bit 由于降低显存传输量,可以达到约 3Hz,性能与 bfloat16 相近,但显存不到一半。

我的理解: 量化是否有效不能只看离线动作 token 准确率。机器人是闭环系统,推理频率变化会改变观测—动作时序和动力学分布。int8 精度更高却成功率更低,主要原因不是数值误差,而是推理过慢;这是机器人部署与普通语言模型部署的重要区别。

6 Discussion and Limitations

本文提出 OpenVLA:一个具有强跨本体开箱控制能力的开源 VLA,并证明它可以通过参数高效微调快速适配新机器人配置。

当前模型仍有多项局限。第一,它只支持单张图像观测。真实机器人系统具有多样化传感输入,因此未来需要支持多图像、本体状态和观测历史。预训练于交错图文数据的 VLM 可能有助于实现灵活输入。

第二,OpenVLA 推理吞吐仍不足以支持 ALOHA 等 50Hz 高频控制系统,也限制了在更灵巧的双臂任务上测试 VLA。动作分块、推测解码和其他推理优化可能是解决方案。

第三,虽然 OpenVLA 超过此前通用策略,但可靠性仍不够高,多数任务成功率低于 90%。

最后,受计算资源限制,许多设计问题尚未充分研究:基础 VLM 规模如何影响 VLA?机器人动作数据与互联网视觉—语言数据联合训练是否显著提高性能?什么视觉特征最适合 VLA?作者希望开源模型与代码能帮助社区共同研究这些问题。

我的理解: OpenVLA 的局限几乎直接指向下一阶段 VLA 研究:多帧与本体状态输入、连续且时序化的动作头、高频推理、双臂精细操作,以及机器人数据与互联网多模态数据的联合训练。对端到端操作研究而言,OpenVLA 最适合作为语义与视觉骨干,而不是把离散单步动作 token 视为最终答案。

全文通篇总结

1. 论文解决了什么问题?

已有 VLA 展现出优秀的视觉、语言与任务泛化能力,但主流系统闭源,训练数据和适配流程不透明,计算门槛也很高。OpenVLA 的目标是提供一个开源、可复现、可微调、可部署的通用视觉—语言—动作模型,并验证它能否在较小参数规模下达到闭源 VLA 的竞争水平。

2. 核心方法有什么特点?

OpenVLA 不是从零设计一个机器人网络,而是把 Prismatic-7B VLM 改造成动作生成模型:

  1. SigLIP 提供较强语义特征,DINOv2 提供更细的空间特征;
  2. MLP Projector 把视觉 patch 映射到 Llama 2 的语言嵌入空间;
  3. 连续 7 维动作按照每维 1%–99% 分位区间离散为 256 个 token;
  4. 动作 token 覆盖 Llama 词表中最低频的 256 个位置;
  5. 只在动作 token 上计算 next-token prediction 交叉熵;
  6. 在经过筛选和重加权的 97 万条 OpenX 机器人轨迹上训练。

方法的特点是结构简单、最大限度复用 VLM/LLM 训练栈。它没有为机器人动作专门设计复杂连续生成器,而是把动作纳入语言 token 接口,使模型训练、LoRA 和量化都能直接借用大模型生态。

3. 方法中最关键的公式链是什么?

第一步是分位数动作量化:把连续动作 a_d 映射为离散编号 z_d。第二步是动作 token 交叉熵:在图像 I 和指令 \ell 条件下逐 token 预测动作。前者决定动作表示的精度与鲁棒性,后者决定模型如何学习视觉—语言条件到动作的映射。

其优势是训练简单、基础设施成熟;代价是动作离散化误差、单步预测缺少时序平滑,以及对连续多模态动作分布的表达能力有限。

4. 训练数据与工程选择有什么特别之处?

作者没有直接使用完整 OpenX,而是统一为第三人称相机、单臂末端控制的操作数据,并沿用 Octo mixture weights 平衡不同数据集。DROID 虽然多样,但 token 准确率一直较低,最终在训练最后三分之一被移除。这说明数据混合不是简单堆数据,而是模型容量、数据异质性和采样权重之间的平衡。

工程上,224×224 与 384×384 的机器人性能相近,但后者训练慢 3 倍;微调视觉编码器对控制性能至关重要;VLA 需要训练 27 个 epoch,明显多于普通 VLM;最终预训练消耗约 21,500 A100 小时。

5. 实验对象和 baseline 如何组织?

开箱评测覆盖 WidowX 和 Google Robot,测试视觉、运动、物理和语义四类泛化,并与 RT-1-X、Octo、RT-2-X 比较。下游适配覆盖 Franka-Tabletop 与 Franka-DROID,使用 10–150 条示教,并与 Diffusion Policy、matched Diffusion Policy、Octo 和 OpenVLA scratch 比较。另有 LoRA 参数高效微调与 int8/int4 量化实验。

这种 baseline 设计分别回答:互联网预训练是否重要、机器人预训练是否重要、VLA 是否比从零模仿学习更适合多语言任务,以及计算优化是否牺牲性能。

6. 实验中最特别的改进与结果是什么?

  • OpenVLA 只有 7B 参数,却在整体 29 项评测中超过 55B RT-2-X;
  • RT-2-X 在语义泛化仍占优,说明联合保留互联网知识有价值;
  • OpenVLA 是所有下游方法中唯一在每项任务都至少达到 50% 成功率的方法;
  • Diffusion Policy 在狭窄、要求高灵巧性的单指令任务上轨迹更平滑;
  • LoRA rank 32 只训练 1.4% 参数,达到接近全参数微调的性能;
  • int4 把显存从 16.8GB 降到 7.0GB,成功率仍与 bfloat16 相当;int8 反而因推理频率过低而降低真机成功率。

7. 这篇论文的主要局限是什么?

OpenVLA 仅支持单图输入,没有本体状态、观测历史和多相机上下文;单步离散动作 token 不适合 50Hz 高频控制和精细双臂接触;多数任务可靠性仍低于 90%;训练成本对个人实验室仍然很高;只用机器人数据微调也可能损失 VLM 原有的互联网语义知识。

8. 对后续研究的总体启发

OpenVLA 很适合作为视觉—语言语义骨干,但不一定是最终动作建模形式。一个自然方向是保留 OpenVLA 的视觉语言骨干和 OpenX 预训练能力,再把离散单步动作 token 替换为 ACT 动作分块、Diffusion Policy、flow matching 或带时序记忆的连续动作头。对于双臂和精细操作,还应加入多帧、本体状态、力/触觉信息和更高频闭环推理。

我的总体评价: OpenVLA 最重要的贡献,是建立了开源 VLA 的研究坐标系,而不是彻底解决通用机器人控制。它在语义泛化和多任务适配上证明了大规模视觉语言先验的价值,但实验也清楚暴露了动作精细度、时序性和控制频率问题。因此,它既是强基线,也是一个非常明确的“可被新动作头继续改造”的起点。

结语

OpenVLA 的主要贡献,不是单一指标上的提升,而是提供了可研究、可微调、可部署的开源 VLA 坐标系。它用 Prismatic-7B 骨干融合 SigLIP 的语义特征与 DINOv2 的空间特征,把连续动作离散成语言模型 token,并在 97 万条 OpenX 机器人轨迹上训练。实验表明,它能够以远小于 RT-2-X 的参数规模获得有竞争力的跨机器人泛化性能;LoRA 与 int4 量化进一步降低了适配和部署门槛。

对于动作分块、扩散策略、流匹配动作头、双臂操作和时序建模研究,OpenVLA 提供了一个很适合继续改造的开源起点。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐