OpenVLA:开源视觉-语言-动作模型

深度2026年4月1日34 分钟阅读
OpenVLA在多项机器人任务中超越闭源大模型,且支持消费级GPU微调。机器人研究者、AI工程师及开源社区开发者应关注这一突破性工作。

1 引言

机器人操作学习策略的一个关键弱点是其无法泛化到训练数据之外:虽然为单一技能或语言指令训练的现有策略有能力将行为外推到新的初始条件,例如物体位置或光照 [2, 3],但它们对场景干扰物或新物体 [4, 5] 缺乏鲁棒性,并且难以执行未见过的任务指令 [6, 7]。然而,在机器人学之外,现有的视觉和语言基础模型,如 CLIP [8]、SigLIP [9] 和 Llama 2 [10],能够实现这些类型的泛化甚至更多,这源于其互联网规模预训练数据集所捕获的先验知识。尽管为机器人学复现这种规模的预训练仍然是一个开放的挑战——即使是最大的机器人操作数据集 [1, 11] 也仅有 10 万到 100 万个样本——但这种不平衡性揭示了一个机会:利用现有的视觉和语言基础模型作为核心构建模块,来训练能够泛化到训练数据之外的对象、场景和任务的机器人策略。

为实现这一目标,现有工作已探索将预训练的语言和视觉语言模型集成到机器人表征学习中 [12, 13, 14],并作为任务规划和执行的模块化系统组件 [15, 16]。最近,它们被用于直接学习用于控制的视觉-语言-动作模型 [VLA;7, 1, 17, 18]。VLA 提供了一种直接实例化,即使用预训练的视觉和语言基础模型进行机器人控制,直接对视觉条件语言模型(VLM)如 PaLI [19, 20] 进行微调以生成机器人控制动作。通过建立在互联网规模数据上训练的强基础模型之上,诸如 RT-2 [7] 这样的 VLA 展示了令人印象深刻的鲁棒性结果,以及对新物体和任务的泛化能力,为通用机器人策略树立了新标准。然而,有两个关键原因阻碍了现有 VLA 的广泛使用:1) 当前模型 [7, 1, 17, 18] 是封闭的,对模型架构、训练过程和数据混合的可见性有限;2) 现有工作没有提供将 VLA 部署和适配到新机器人、环境和任务的最佳实践——尤其是在商用硬件(例如消费级 GPU)上。我们认为,要为未来的研究和开发奠定丰富的基础,机器人学需要开源、通用的 VLA,支持有效的微调和适配,类似于围绕开源语言模型 [21, 22, 23, 24] 的现有生态系统。

为此,我们推出了 OpenVLA,一个拥有 70 亿参数的开源 VLA,它为通用机器人操作策略确立了新的技术水平。OpenVLA 使用多个预训练模型组件:SigLIP [9] 和 DinoV2 [25] 视觉编码器,以及 Llama 2 [10] 语言模型主干。对于这三个模型,权重是开放的,但其训练数据和代码并非全部开放。我们在这些组件之上,发布了用于复现 OpenVLA 的训练数据、代码和模型权重。OpenVLA 由一个预训练的视觉条件语言模型主干构成,该主干捕获了多粒度的视觉特征,并在一个包含 97 万条机器人操作轨迹的大型多样化数据集上进行了微调,该数据集来自 Open-X Embodiment [1] 数据集——一个涵盖广泛机器人形态、任务和场景的数据集。作为数据多样性增加和新模型组件的成果,OpenVLA 在 WidowX 和 Google Robot 两种形态的 29 项评估任务上,绝对成功率比先前技术水平最高的 VLA——拥有 550 亿参数的 RT-2-X 模型 [7, 1]——高出 16.5%。我们还研究了 VLA 的高效微调策略,这是先前工作中未探索的新贡献,涵盖了 7 项不同的操作任务,行为范围从物体拾放到清洁桌面。我们发现,经过微调的 OpenVLA 策略明显优于经过微调的预训练策略,如 Octo [5]。与使用扩散策略 [3] 从头开始的模仿学习相比,在涉及多物体、多任务场景中将语言与行为进行关联的任务上,经过微调的 OpenVLA 显示出显著改进。基于这些结果,我们首次证明了利用低秩适配 [LoRA;26] 和模型量化 [27] 的计算高效微调方法的有效性,这些方法有助于在消费级 GPU 而非大型服务器节点上适配 OpenVLA 模型,且不影响性能。作为最后的贡献,我们开源了所有模型、部署和微调笔记,以及用于大规模训练 VLA 的 OpenVLA 代码库,希望这些资源能够支持未来探索和适配用于机器人学的 VLA 的工作。

2 相关工作

视觉条件语言模型

视觉条件语言模型(Visually-conditioned Language Models, VLMs)在互联网规模的数据上进行训练,能够根据输入的图像和语言提示生成自然语言,已被广泛应用于从视觉问答[28, 29, 30, 31]到目标定位[32, 33]等众多任务。推动近期VLM发展的关键进展之一是模型架构的创新,这些架构将来自预训练视觉编码器[8, 9, 25]的特征与预训练语言模型[10, 23, 34, 35, 36]的特征桥接起来,直接建立在计算机视觉和自然语言建模领域的进展之上,从而创建了强大的多模态模型。早期工作探索了多种用于视觉与语言特征交叉注意的架构[37, 38, 39, 40, 41],而新的开源VLM[42, 43, 20, 44]则趋同于一种更简单的“补丁即令牌”方法。该方法将来自预训练视觉Transformer的补丁特征视为令牌,然后将其投影到语言模型的输入空间中。这种简洁性使得重新利用现有的、用于大规模训练语言模型的工具来进行VLM训练变得容易。我们在工作中使用这些工具来扩展VLA的训练规模,并特别采用Karamcheti等人[44]的VLM作为预训练主干,因为这些模型使用多分辨率视觉特征进行训练,融合了来自DINOv2[25]的低级空间信息和来自SigLIP[9]的高级语义信息,有助于视觉泛化。

通用机器人策略

机器人学领域的一个近期趋势是致力于在大型多样的机器人数据集[50, 51, 45, 52, 53, 54, 55, 6, 2, 56, 49, 11, 1]上训练多任务“通用”机器人策略[45, 46, 47, 6, 2, 48, 49],这些数据集涵盖了许多不同的机器人实体[57, 53, 58, 59, 60, 61, 62, 63, 64, 65, 1, 5, 66]。值得注意的是,Octo[5]训练了一个通用策略,能够开箱即用地控制多种机器人,并允许灵活地微调以适应新的机器人设置。这些方法与OpenVLA的一个关键区别在于模型架构。像Octo这样的先前工作通常将语言嵌入或视觉编码器等预训练组件与从头初始化的额外模型组件组合在一起[6, 2, 5],在策略训练过程中学习将它们“缝合”起来。与这些工作不同,OpenVLA采用了一种更端到端的方法,通过将机器人动作视为语言模型词汇表中的令牌,直接对VLM进行微调以生成机器人动作。我们的实验评估表明,这种简单但可扩展的流程相较于先前的通用策略,显著提升了性能和泛化能力。

视觉-语言-动作模型

许多工作探索了将VLM用于机器人技术,例如用于视觉状态表示[12, 13]、目标检测[67]、高层规划[16]以及提供反馈信号[68, 69, 70, 71]。另一些工作将VLM直接集成到端到端的视觉运动操作策略中[14, 15],但在策略架构中引入了显著的结构性设计或需要校准的摄像头,这限制了其适用性。一些近期工作探索了与我们类似的方案,直接对大型预训练VLM进行微调以预测机器人动作[7, 1, 72, 73, 17, 18, 74]。这类模型通常被称为视觉-语言-动作模型(Vision-Language-Action Models, VLA),因为它们将机器人控制动作直接融合到VLM主干中。这带来了三个关键优势:(1) 它在大型互联网规模的视觉-语言数据集上对预训练的视觉和语言组件进行了对齐;(2) 使用非为机器人控制定制的通用架构,使我们能够利用支撑现代VLM训练的可扩展基础设施[75, 76, 77],并以最少的代码修改将策略训练扩展到数十亿参数规模;(3) 它为机器人技术从VLM的快速进步中获益提供了直接途径。现有的VLA工作要么专注于在单一机器人或仿真设置中进行训练和评估[72, 73, 78, 74],因而缺乏通用性;要么是封闭的,不支持高效地微调到新的机器人设置[7, 1, 17, 18]。

最为相关的是RT-2-X[1],它在Open X-Embodiment数据集上训练了一个550亿参数的VLA策略,并展示了最先进的通用操作策略性能。然而,我们的工作与RT-2-X在多个重要方面存在差异:(1) 通过结合强大的开源VLM主干和更丰富的机器人预训练数据集,OpenVLA在我们的实验中性能优于RT-2-X,同时模型规模小一个数量级;(2) 我们深入研究了OpenVLA模型向新目标设置的微调,而RT-2-X未探讨微调场景;(3) 我们首次证明了现代参数高效微调和量化方法对于VLA的有效性;(4) OpenVLA是首个开源的通用VLA,因此支持未来在VLA训练、数据混合、目标函数和推理方面的研究。

视觉语言动作模型

多项研究探索了将视觉语言模型(VLM)用于机器人技术,例如用于视觉状态表示 [12, 13]、物体检测 [67]、高层规划 [16] 以及提供反馈信号 [68, 69, 70, 71]。另一些研究则将 VLM 直接集成到端到端的视觉运动操作策略中 [14, 15],但在策略架构中引入了显著的结构或需要校准的相机,这限制了其适用性。近期的一些工作探索了与我们类似的方案,直接对大型预训练的 VLM 进行微调以预测机器人动作 [7, 1, 72, 73, 17, 18, 74]。这类模型通常被称为视觉语言动作模型(VLA),因为它们将机器人控制动作直接融合到 VLM 主干网络中。这带来了三个关键优势:(1) 它在大规模互联网级别的视觉语言数据集上对齐了预训练的视觉和语言组件;(2) 使用通用的、非为机器人控制定制的架构,使我们能够利用支撑现代 VLM 训练的可扩展基础设施 [75, 76, 77],并以最少的代码修改将策略扩展到数十亿参数规模;(3) 它为机器人技术从 VLM 的快速进步中获益提供了直接途径。现有的 VLA 研究要么专注于在单一机器人或仿真环境中进行训练和评估 [72, 73, 78, 74],因而缺乏通用性;要么是封闭的,不支持对新机器人设置进行高效微调 [7, 1, 17, 18]。

最为相关的是 RT-2-X [1],它在 Open X-Embodiment 数据集上训练了一个 550 亿参数的 VLA 策略,并展示了最先进的通用操作策略性能。然而,我们的工作与 RT-2-X 在多个重要方面存在差异:(1) 通过将强大的开源 VLM 主干网络与更丰富的机器人预训练数据集相结合,OpenVLA 在我们的实验中性能优于 RT-2-X,同时模型规模小一个数量级;(2) 我们深入研究了 OpenVLA 模型对新目标设置的微调,而 RT-2-X 未探讨微调场景;(3) 我们首次证明了现代参数高效微调和量化方法对 VLA 的有效性;(4) OpenVLA 是首个开源通用 VLA,因此支持未来在 VLA 训练、数据混合、目标函数和推理方面的研究。

3 OpenVLA 模型

我们推出 OpenVLA 模型,这是一个拥有 70 亿参数的视觉-语言-动作模型(VLA),基于 Open X-Embodiment 数据集 [1] 中的 97 万条机器人演示数据进行训练。关于开发 VLA 模型的最佳实践,存在许多尚未充分探索的问题,例如,训练时应采用何种最佳模型主干、数据集和超参数。下文将详细阐述我们开发 OpenVLA 的方法并总结关键经验。具体而言,我们首先简要概述构成 OpenVLA 主干(第 3.1 节)的现代视觉语言模型;随后描述基础训练方案和数据集(第 3.2 节和第 3.3 节);讨论关键设计决策(第 3.4 节);并提供训练与推理所用基础设施的详细信息(第 3.5 节)。

Figure 1:
OpenVLA model architecture. Given an image observation and a language instruction, the model predicts 7-dimensional robot control actions. The architecture consists of three key components: (1) a vision encoder that concatenates Dino V2 [25] and SigLIP [79] features, (2) a projector that maps visual features to the language embedding space, and (3) the LLM backbone, a Llama 2 7B-parameter large language model [10].

3.1 预备知识:视觉语言模型

大多数近期视觉语言模型 [42, 43, 20, 44] 的架构包含三个主要部分(见图1):(1) 将图像输入映射为若干“图像块嵌入”的视觉编码器;(2) 接收视觉编码器的输出嵌入并将其映射到语言模型输入空间的投影器;(3) 大型语言模型主干。在视觉语言模型训练期间,模型通过下一文本词元预测目标,在从各种互联网来源整理的配对或交错视觉与语言数据上进行端到端训练。

本工作基于 Prismatic-7B 视觉语言模型 [44] 构建。Prismatic 遵循上述标准架构,包含一个 6 亿参数的视觉编码器、一个小的 2 层 MLP 投影器和一个 70 亿参数的 Llama 2 语言模型主干 [10]。值得注意的是,Prismatic 使用了一个由预训练的 SigLIP [79] 和 DinoV2 [25] 模型组成的双部分视觉编码器。输入图像块分别通过两个编码器,并将得到的特征向量在通道维度上进行拼接。与更常用的视觉编码器(如仅使用 CLIP [80] 或仅使用 SigLIP 的编码器)相比,添加 DinoV2 特征已被证明有助于提升空间推理能力 [44],这对机器人控制尤其有益。

SigLIP、DinoV2 和 Llama 2 未公布其训练数据的细节,这些数据可能分别包含来自互联网的数万亿词元的图像-文本、纯图像和纯文本数据。Prismatic 视觉语言模型在这些组件之上,使用 LLaVA 1.5 数据混合 [43] 进行微调,该混合数据总计包含来自开源数据集 [81, 82, 29, 83, 42] 的大约 100 万个图像-文本和纯文本数据样本。

3.2 OpenVLA 训练流程

为训练 OpenVLA,我们对预训练的 Prismatic-7B 视觉语言模型主干进行微调,以预测机器人动作(见图1)。我们将动作预测问题表述为一个“视觉-语言”任务,其中输入观测图像和自然语言任务指令被映射为一串预测的机器人动作 [7]。为使视觉语言模型的语言模型主干能够预测机器人动作,我们将连续机器人动作映射到语言模型分词器使用的离散词元,从而在语言模型的输出空间中表示动作。遵循 Brohan 等人 [7] 的方法,我们将机器人动作的每个维度分别离散化为 256 个区间中的一个。对于每个动作维度,我们设置区间宽度,以均匀划分训练数据中动作的第 1 个和第 99 个百分位数之间的间隔。使用百分位数而非 Brohan 等人 [7] 使用的最大-最小边界,使我们能够忽略数据中的异常动作,否则这些异常动作会极大地扩展离散化区间并降低动作离散化的有效粒度。

使用这种离散化方法,对于一个 $N$ 维机器人动作,我们得到 $N$ 个离散整数 $\in[0\dots 255]$。然而,OpenVLA 语言主干使用的分词器(Llama 分词器 [10])仅为微调期间新引入的词元保留了 100 个“特殊词元”,这对于我们动作离散化的 256 个词元来说太少了。我们再次选择简单的方法,遵循 Brohan 等人 [7] 的做法,直接用我们的动作词元覆盖 Llama 分词器词汇表中 256 个最不常用的词元(即最后 256 个词元)。

一旦动作被处理成词元序列,OpenVLA 便使用标准的下一词元预测目标进行训练,仅对预测的动作词元计算交叉熵损失。我们将在第 3.4 节讨论实施此训练流程的关键设计决策。接下来,描述用于 OpenVLA 训练的机器人数据集。

3.3 训练数据

构建 OpenVLA 训练数据集的目标是捕捉机器人本体、场景和任务的巨大多样性。这使得最终模型能够开箱即用地控制各种机器人,并支持对新机器人设置进行高效微调。我们利用 Open X-Embodiment 数据集 [1] 作为基础来整理训练数据集。截至撰写本文时,完整的 OpenX 数据集包含超过 70 个独立的机器人数据集,超过 200 万条机器人轨迹,这些数据通过大规模的社区努力被汇集为一致且易于使用的数据格式。为使在此数据上的训练切实可行,我们对原始数据集应用了多步数据整理。

整理的目标是确保:(1) 所有训练数据集具有一致的输入和输出空间;(2) 最终训练混合中本体、任务和场景的平衡组合。为解决 (1),我们遵循 [1, 5],将训练数据集限制为仅包含至少有一个第三人称摄像头并使用单臂末端执行器控制的操控数据集。对于 (2),我们利用 Octo [5] 的数据混合权重,应用于所有通过第一轮筛选的数据集。Octo 启发式地降低或移除多样性较差的数据集的权重,并提高任务和场景多样性较大的数据集的权重;详见 Octo Model Team 等人 [5]。

我们还尝试将自 Octo 发布以来添加到 OpenX 数据集的一些额外数据集纳入训练混合,包括 DROID 数据集 [11],尽管采用了保守的 10% 混合权重。实践中,我们发现 DROID 上的动作词元准确率在整个训练过程中一直较低,这表明未来可能需要更大的混合权重或模型来适应其多样性。为避免影响最终模型的质量,我们在最后三分之一的训练中从数据混合中移除了 DROID。我们在附录 A 中提供了所用数据集和混合权重的完整概览。

3.4 OpenVLA 设计决策

在开发 OpenVLA 模型时,我们在开始最终模型训练运行之前,通过小规模实验探索了各种设计决策。具体而言,我们在初始实验中在 BridgeData V2 [6] 上训练和评估 OpenVLA 模型,而不是在完整的 OpenX 混合上训练,以提高迭代速度并降低计算成本。以下总结这些探索中的关键经验。

视觉语言模型主干。最初,我们尝试了多种视觉语言模型主干。除了 Prismatic [44],我们还测试了微调 IDEFICS-1 [84] 和 LLaVA [85] 用于机器人动作预测。我们发现 LLaVA 和 IDEFICS-1 在场景中只有一个物体的任务上表现相当,但在涉及场景中多个物体且需要策略操控正确物体(即语言指令中指定的物体)的任务中,LLaVA 表现出更强的语言接地能力。具体而言,在 BridgeData V2 水槽环境中的五个语言接地任务上,LLaVA 的平均绝对成功率比 IDEFICS-1 提高了 35%。微调后的 Prismatic 视觉语言模型策略取得了进一步的改进,在简单的单物体任务和多物体语言接地任务中,其绝对成功率比 LLaVA 策略高出约 10%。我们将此性能差异归因于融合的 SigLIP-DinoV2 主干带来的空间推理能力提升(见第 3.1 节)。除了性能提升,Prismatic 还提供了模块化且易于使用的代码库,因此我们最终选择它作为 OpenVLA 模型的主干。

图像分辨率。输入图像的分辨率对视觉语言动作模型训练的计算需求有显著影响,因为更高分辨率的图像会产生更多的图像块词元,从而导致更长的上下文长度,这会以二次方增加训练计算量。我们比较了输入为 $224\times 224$ 像素和 $384\times 384$ 像素的视觉语言动作模型,但在评估中未发现性能差异,而后者的训练时间要长 3 倍。因此,我们为最终的 OpenVLA 模型选择了 $224\times 224$ 像素的分辨率。需要注意的是,在许多视觉语言模型基准测试中,提高分辨率确实能提升性能 [44, 86, 87],但我们(尚未)在视觉语言动作模型中观察到这种趋势。

微调视觉编码器。先前关于视觉语言模型的研究发现,在视觉语言模型训练期间冻结视觉编码器通常能带来更高的性能 [44]。直观上,冻结的视觉编码器可能更好地保留其从互联网规模预训练中学到的鲁棒特征。然而,我们发现,在视觉语言动作模型训练期间微调视觉编码器对于获得良好的视觉语言动作模型性能至关重要。我们假设预训练的视觉主干可能无法捕捉到场景重要部分足够精细的空间细节,以实现精确的机器人控制。

训练周期数。典型的大型语言模型或视觉语言模型训练运行最多只在其训练数据集上完成一到两个周期。相比之下,我们发现视觉语言动作模型训练需要显著多次地遍历训练数据集,真实机器人性能会持续提升,直到训练动作词元准确率超过 95%。我们最终的训练运行在其训练数据集上完成了 27 个周期。

学习率。我们为视觉语言动作模型训练在多个数量级上扫描了学习率,使用固定的 2e-5 学习率(与视觉语言模型预训练 [44] 中使用的学习率相同)获得了最佳结果。我们没有发现学习率预热能带来益处。

3.5 训练与推理基础设施

最终的 OpenVLA 模型在 64 个 A100 GPU 组成的集群上训练了 14 天,总计 21,500 A100-小时,批次大小为 2048。在推理期间,OpenVLA 以 bfloat16 精度(即未量化)加载时需要 15GB GPU 内存,在单个 NVIDIA RTX 4090 GPU 上运行速度约为 6Hz(未使用编译、推测解码或其他推理加速技巧)。我们可以通过量化进一步减少 OpenVLA 在推理期间的内存占用,而不会影响真实世界机器人任务中的性能,如第 5.4 节所示。我们在图5中报告了在各种消费级和服务器级 GPU 上的推理速度。为了方便,我们实现了一个远程视觉语言动作模型推理服务器,允许将动作预测实时远程流式传输到机器人——消除了需要访问强大的本地计算设备来控制机器人的要求。我们将此远程推理解决方案作为开源代码发布的一部分发布(第 4 节)。

3.1 预备知识:视觉语言模型

近期大多数视觉语言模型(Vision-Language Model, VLM)的架构[42, 43, 20, 44]包含三个主要部分(见图1):(1) 一个将输入图像映射为若干“图像块嵌入”的视觉编码器,(2) 一个将视觉编码器的输出嵌入映射到语言模型输入空间的投影器,以及 (3) 一个大语言模型(Large Language Model, LLM)主干。在VLM训练期间,模型使用从各类互联网来源整理的配对或交错视觉与语言数据,以预测下一个文本标记为目标进行端到端训练。

本工作基于Prismatic-7B VLM[44]构建。Prismatic遵循上述标准架构,包含一个6亿参数的视觉编码器、一个小的2层MLP投影器和一个70亿参数的Llama 2语言模型主干[10]。值得注意的是,Prismatic使用了一个由预训练的SigLIP[79]和DinoV2[25]模型组成的双部分视觉编码器。输入图像块分别通过两个编码器处理,生成的特征向量在通道维度上进行拼接。与更常用的视觉编码器(如仅使用CLIP[80]或仅使用SigLIP的编码器)相比,加入DinoV2特征已被证明有助于提升空间推理能力[44],这对于机器人控制尤其有益。

SigLIP、DinoV2和Llama 2未公布其训练数据的细节,这些数据可能分别包含来自互联网的数万亿标记的图像-文本、纯图像和纯文本数据。Prismatic VLM在这些组件之上,使用LLaVA 1.5数据混合[43]进行微调,该混合数据总计包含来自开源数据集[81, 82, 29, 83, 42]的大约100万个图像-文本和纯文本数据样本。

3.2 OpenVLA训练流程

为了训练OpenVLA,我们针对机器人动作预测任务,对一个预训练的Prismatic-7B VLM主干进行微调(见图1)。我们将动作预测问题表述为一个“视觉-语言”任务,即将输入的观测图像和自然语言任务指令映射为一串预测的机器人动作[7]。为了使VLM的语言模型主干能够预测机器人动作,我们通过将连续的机器人动作映射到语言模型分词器使用的离散标记,从而在LLM的输出空间中表示这些动作。遵循Brohan等人[7]的方法,我们将机器人动作的每个维度分别离散化为256个分箱中的一个。对于每个动作维度,我们将分箱宽度设置为均匀划分训练数据中动作的第1百分位数到第99百分位数之间的区间。使用百分位数而非Brohan等人[7]使用的最大-最小边界,使我们能够忽略数据中的异常动作,否则这些异常动作会极大地扩大离散化区间并降低动作离散化的有效粒度。

通过这种离散化方法,对于一个 $N$ 维的机器人动作,我们得到 $N$ 个离散整数 $\in[0\dots 255]$。然而,OpenVLA语言主干使用的分词器(Llama分词器[10])仅为微调期间新引入的标记保留了100个“特殊标记”,这对于我们动作离散化的256个标记来说太少了。因此,我们再次选择简单的方法,遵循Brohan等人[7]的做法,直接用我们的动作标记覆盖Llama分词器词汇表中256个最不常用的标记(即最后256个标记)。

一旦动作被处理成一系列标记,OpenVLA便使用标准的下一标记预测目标进行训练,仅计算预测动作标记上的交叉熵损失。我们在第3.4节讨论实施此训练流程的关键设计决策。接下来,我们描述用于OpenVLA训练的机器人数据集。

3.3 训练数据

构建OpenVLA训练数据集的目标是捕捉机器人本体、场景和任务的高度多样性。这使得最终模型能够开箱即用地控制各种机器人,并支持高效地微调到新的机器人设置。我们利用Open X-Embodiment数据集[1](OpenX)作为基础来整理我们的训练数据集。截至撰写本文时,完整的OpenX数据集包含超过70个独立的机器人数据集,超过200万条机器人轨迹,这些数据在一个大型社区努力下被汇集到一个连贯且易于使用的数据格式中。为了使在这些数据上的训练切实可行,我们对原始数据集应用了多步数据整理。

整理的目标是确保:(1) 所有训练数据集具有连贯的输入和输出空间,(2) 最终训练混合数据中本体、任务和场景的平衡组合。$^{2}$ 为了解决(1),我们遵循[1, 5],将训练数据集限制为仅包含至少有一个第三人称摄像头并使用单臂末端执行器控制的操控数据集。对于(2),我们利用Octo[5]的数据混合权重来处理所有通过第一轮筛选的数据集。Octo启发式地对多样性较低的数据集进行降权或移除,并对任务和场景多样性更大的数据集进行加权;详见Octo Model Team等人[5]。

我们还尝试将自Octo发布以来添加到OpenX数据集中的一些额外数据集纳入训练混合,包括DROID数据集[11],尽管采用了保守的10%混合权重。实际上,我们发现DROID上的动作标记准确率在整个训练过程中一直很低,这表明未来可能需要更大的混合权重或模型来适应其多样性。为了不影响最终模型的质量,我们在最后三分之一的训练中从数据混合中移除了DROID。我们在附录A中提供了所用数据集和混合权重的完整概览。

3.4 OpenVLA 设计决策

在启动最终模型训练之前,我们通过小规模实验探索了 OpenVLA 模型的各种设计决策。具体而言,我们最初在 BridgeData V2 [6] 上训练和评估 OpenVLA 模型,而非在整个 OpenX 混合数据集上进行训练,以提高迭代速度并降低计算成本。以下总结了这些探索中的关键发现。

VLM 骨干网络。最初,我们尝试了多种 VLM 骨干网络。除了 Prismatic [44],我们还测试了微调 IDEFICS-1 [84] 和 LLaVA [85] 用于机器人动作预测。 我们发现,在场景中仅有一个物体的任务上,LLaVA 和 IDEFICS-1 表现相当,但在涉及多个物体且需要策略操控正确物体(即语言指令中指定的物体)的任务中,LLaVA 展现出更强的语言基础能力。具体而言,在 BridgeData V2 水槽环境中的五个语言基础任务上,LLaVA 的平均绝对成功率比 IDEFICS-1 高出 35%。微调后的 Prismatic VLM 策略取得了进一步的提升,在简单的单物体任务和多物体语言基础任务上,其绝对成功率均比 LLaVA 策略高出约 10%。我们将此性能差异归因于融合的 SigLIP-DinoV2 骨干网络带来的空间推理能力提升(见第 3.1 节)。除了性能提升,Prismatic 还提供了一个模块化且易于使用的代码库,因此我们最终选择它作为 OpenVLA 模型的骨干网络。

图像分辨率。输入图像的分辨率对 VLA 训练的计算需求有显著影响,因为更高分辨率的图像会产生更多的图像块(patch)标记,从而导致更长的上下文长度,这会使训练计算量呈二次方增长。我们比较了输入为 224×224 像素和 384×384 像素的 VLA,但在评估中未发现性能差异,而后者的训练时间要长 3 倍。因此,我们为最终的 OpenVLA 模型选择了 224×224 像素的分辨率。需要注意的是,在许多 VLM 基准测试中,提高分辨率确实能提升性能 [44, 86, 87],但我们(目前)在 VLA 上未观察到这种趋势。

微调视觉编码器。先前关于 VLM 的研究发现,在 VLM 训练期间冻结视觉编码器通常能带来更高的性能 [44]。直观上,冻结的视觉编码器可以更好地保留其从互联网规模预训练中学到的鲁棒特征。然而,我们发现,在 VLA 训练期间微调视觉编码器对于获得良好的 VLA 性能至关重要。我们假设,预训练的视觉骨干网络可能无法捕捉到场景重要部分足够的细粒度空间细节,以实现精确的机器人控制。

训练轮数。典型的 LLM 或 VLM 训练通常在其训练数据集上最多完成一到两个轮次。相比之下,我们发现 VLA 训练需要显著多次地遍历训练数据集,真实机器人性能会持续提升,直到训练的动作标记准确率超过 95%。我们的最终训练在其训练数据集上完成了 27 个轮次。

学习率。我们在多个数量级上扫描了 VLA 训练的学习率,发现使用固定的 2e-5 学习率(与 VLM 预训练 [44] 中使用的学习率相同)能获得最佳结果。我们没有发现学习率预热能带来益处。

3.5 训练与推理基础设施

最终的 OpenVLA 模型在由 64 块 A100 GPU 组成的集群上训练了 14 天,总计 21,500 A100-小时,批次大小为 2048。在推理时,OpenVLA 以 bfloat16 精度加载(即未量化)需要 15GB GPU 显存,在一块 NVIDIA RTX 4090 GPU 上运行速度约为 6Hz(未使用编译、推测解码或其他推理加速技巧)。我们可以通过量化进一步减少 OpenVLA 在推理时的内存占用,且不影响真实机器人任务中的性能,如第 5.4 节所示。我们在图 5 中报告了 OpenVLA 在各种消费级和服务器级 GPU 上的推理速度。为了方便起见,我们实现了一个远程 VLA 推理服务器,允许将动作预测实时远程流式传输到机器人——从而无需访问强大的本地计算设备来控制机器人。我们将此远程推理解决方案作为开源代码发布的一部分(第 4 节)。

4 OpenVLA 代码库

除了模型,我们还发布了 OpenVLA 代码库,这是一个用于训练 VLA 模型的模块化 PyTorch 代码库(参见 https://openvla.github.io)。它支持从在单个 GPU 上微调 VLA 到在多节点 GPU 集群上训练数十亿参数的 VLA,并支持现代大型 Transformer 模型训练技术,如自动混合精度(AMP, PyTorch [75])、FlashAttention [76] 和完全分片数据并行(FSDP, Zhao 等人 [77])。开箱即用,OpenVLA 代码库完全支持在 Open X 数据集上进行训练,集成了 HuggingFace [21] 的 AutoModel 类,并支持 LoRA 微调 [26] 和量化模型推理 [88, 27]。

5 实验

我们实验评估的目标是测试 OpenVLA 作为开箱即用的强大多机器人控制策略的能力,以及其作为新机器人任务微调的良好初始化的能力。具体而言,我们旨在回答以下问题:

  1. 在多个机器人和多种泛化类型的评估中,OpenVLA 与先前的通用机器人策略相比表现如何?
  2. OpenVLA 能否在新的机器人设置和任务上有效微调,与最先进的数据高效模仿学习方法相比如何?
  3. 我们能否使用参数高效微调和量化来降低 OpenVLA 模型训练和推理的计算需求,使其更易于使用?性能与计算之间的权衡关系如何?

5.1 在多个机器人平台上的直接评估

图 2: BridgeData V2 WidowX 机器人评估任务与结果。我们在涵盖多个泛化维度的综合任务套件上评估 OpenVLA 和先前最先进的通用机器人策略,也包括专门评估语言条件能力的任务。OpenVLA 取得了最高的总体性能,甚至在除语义泛化外的所有类别中都优于闭源模型 RT-2-X。平均成功率 ± 标准误是根据每种方法总共 170 次 rollout 计算得出的。详细结果见表 4。

机器人设置与任务。 我们在两种机器人实体上评估 OpenVLA 的“开箱即用”性能:来自 BridgeData V2 评估的 WidowX 机器人(见 LABEL:fig:teaser,左)和来自 RT-1 与 RT-2 评估的移动操作机器人(“Google 机器人”;见 LABEL:fig:teaser,中)。这两个平台在先前的通用机器人策略评估工作中被广泛使用 [2, 7, 1, 5]。我们在每个环境中定义了一套全面的评估任务,涵盖各种泛化维度,例如视觉(未见过的背景、干扰物、物体的颜色/外观)、运动(未见过的物体位置/方向)、物理(未见过的物体尺寸/形状)和语义(未见过的目标物体、指令以及来自互联网的概念)泛化。我们还在包含多个物体的场景中评估语言条件能力,测试策略是否能按照用户提示操作正确的目标物体。BridgeData V2 和 Google 机器人评估中的示例任务图像分别见图 2 和图 3 的底行。总体而言,我们在 BridgeData V2 实验中为每种方法评估了 170 次 rollout(17 个任务,每个任务 10 次尝试),在 Google 机器人实验中评估了 60 次 rollout(12 个任务,每个任务 5 次尝试)。所有任务的详细分类及其与训练数据的差异见附录 B。本节及后续章节的所有评估均采用 A/B 测试方式进行,使用相同的任务和相同的初始机器人及物体状态集,以确保公平比较。

对比方法。 我们将 OpenVLA 的性能与三种先前的通用操作策略进行比较:RT-1-X [1]、RT-2-X [1] 和 Octo [5]。RT-1-X(3500 万参数)和 Octo(9300 万参数)是在 OpenX 数据集的子集上从头开始训练的 Transformer 策略;Octo 是开源操作策略中最先进的模型。RT-2-X(550 亿参数)是最先进的闭源 VLA,利用了互联网预训练的视觉和语言主干网络。

BridgeData V2 评估的结果总结在图 2 中,Google 机器人评估的结果总结在图 3 中(按任务细分见附录表 4 和表 6)。我们发现 RT-1-X 和 Octo 在测试任务上表现不佳,经常无法操作正确的物体,尤其是在存在干扰物的情况下,有时甚至导致机器人手臂漫无目的地摆动。请注意,我们的评估测试了比先前工作中更大的泛化程度,以挑战经过互联网预训练的 VLA 模型。因此,未经互联网预训练的模型性能较低是预期的。RT-2-X 明显优于 RT-1-X 和 Octo,证明了大型预训练 VLM 对机器人学的益处。

图 3: Google 机器人评估结果。我们在 RT-1 和 RT-2 评估中使用的移动操作器上评估通用机器人策略在分布内和分布外任务上的表现。我们发现 OpenVLA 和 RT-2-X 取得了相当的性能,并且总体上显著优于 RT-1-X 和 Octo。平均成功率 ± 标准误是根据每种方法总共 60 次 rollout 计算得出的。详细结果见表 6。

值得注意的是,尽管 OpenVLA 的参数量小一个数量级(70 亿 vs. 550 亿),但它在 Google 机器人评估中与 RT-2-X 表现相当,在 BridgeData V2 评估中则显著优于 RT-2-X。从定性角度看,我们发现 RT-2-X 和 OpenVLA 都表现出比其他测试模型明显更鲁棒的行为,例如当存在干扰物时接近正确的物体、正确调整机器人末端执行器的方向以与目标物体的方向对齐,甚至能从错误中恢复,例如不牢固地抓取物体(定性 rollout 示例见 https://openvla.github.io)。如图 2 所示,RT-2-X 在语义泛化任务中取得了更高的性能,这是预期的,因为它使用了更大规模的互联网预训练数据,并且与机器人动作数据和互联网预训练数据共同微调,以更好地保留预训练知识,而不像 OpenVLA 那样仅在机器人数据上微调。然而,在 BridgeData V2 和 Google 机器人评估的所有其他任务类别中,OpenVLA 表现相当或更好。性能差异可归因于多种因素的组合:我们为 OpenVLA 策划了更大的训练数据集,包含 97 万条轨迹(对比 RT-2-X 的 35 万条);我们对训练数据集进行了更仔细的清理,例如过滤掉了 Bridge 数据集中的全零动作(详细讨论见附录 C);并且 OpenVLA 使用了融合视觉编码器,结合了预训练的语义和空间特征。这些组件的消融分析见附录 D。

5.2 对新机器人设置的数据高效适应

虽然先前工作主要关注直接“开箱即用”地评估 VLA [16, 7, 1],但将 VLA 模型有效微调到新任务和机器人设置的研究在很大程度上尚未探索,而这对于其广泛采用至关重要。在本节中,我们研究 OpenVLA 快速适应新的现实世界机器人设置的能力。(模拟环境中的微调实验见附录 E。)

机器人设置与任务。 我们测试了 OpenVLA 模型的一个简单微调方案:微调所有模型参数,使用包含目标任务的 10-150 次演示的小型数据集(见图 4;参数高效微调方法在第 5.3 节探讨)。我们在两种设置中测试 OpenVLA:Franka-Tabletop,一个固定的、安装在桌面上的 Franka Emika Panda 7 自由度机械臂;以及 Franka-DROID,来自最近发布的 DROID 数据集的 Franka 机械臂设置 [11],安装在可移动的站立式办公桌上。这两种设置分别使用 5Hz 和 15Hz 的非阻塞控制器。我们选择 Franka 机械臂作为微调实验的目标实体,因为它们在机器人学习社区中广泛使用,因此很可能是 OpenVLA 微调的“目标”。我们在不同控制频率的设置上进行测试,以评估 OpenVLA 在一系列用例中的适用性。

图 4: 适应新的机器人设置。我们评估了在七个 Franka Emika Panda 任务(每个任务 10-150 次演示)上从头开始训练的最先进 Diffusion Policy,以及在相同数据上微调的通用机器人策略 Octo 和 OpenVLA。Diffusion Policy 在单一指令的狭窄任务上表现出色,而 Octo 和 OpenVLA 在涉及多个指令和干扰物的多样化微调任务上表现更好。总体而言,OpenVLA 在两种设置上均取得了最高的综合性能,表明它是学习下游任务策略的有效默认选择。平均成功率 ± 标准误是根据每种方法总共 129 次 rollout 计算得出的(Franka-Tabletop 任务 99 次,Franka-DROID 任务 30 次)。详细结果见表 7。

对比方法。 我们与从头开始训练的最先进的数据高效模仿学习方法 Diffusion Policy [3] 进行比较。我们还与 Diffusion Policy (matched) 进行比较,这是匹配了 OpenVLA 输入输出规范的 Diffusion Policy 版本。此外,我们评估了在目标数据集上微调的 Octo [5],因为它是目前支持微调的最佳通用策略(RT-2-X 的微调不通过其推理 API 支持)。我们还在相同的目标数据集上微调 OpenVLA,得到的策略记为 OpenVLA。最后,作为消融实验,我们与 OpenVLA (scratch) 进行比较,其中我们直接在目标机器人设置上微调底层基础 Prismatic VLM,而不是微调经过 OpenX 预训练的 OpenVLA 模型,以评估大规模机器人预训练的益处。

结果展示在图 4 中(按任务细分见附录表 7)。我们发现,在“将胡萝卜放入碗中”和“将玉米倒入锅中”等单一指令的狭窄任务上,两种版本的 Diffusion Policy 都与通用策略 Octo 和 OpenVLA 竞争或优于它们,但在涉及场景中多个物体且需要语言条件的更多样化微调任务上,预训练的通用策略表现更好。Octo 和 OpenVLA 的 OpenX 预训练使模型能更好地适应这些语言基础更重要的多样化任务;我们从 OpenVLA (scratch) 较低的性能中看到了这方面的证据。

总体而言,我们发现 OpenVLA 取得了最高的平均性能。值得注意的是,大多数先前方法仅在单一指令的狭窄任务或多指令的多样化任务中的一种上表现出色,导致成功率差异很大。OpenVLA 是唯一在所有测试任务中成功率均达到至少 50% 的方法,这表明它可以成为模仿学习任务,特别是涉及多样化语言指令集的任务的强大默认选项。对于狭窄但高度灵巧的任务,Diffusion Policy 仍显示出更平滑和精确的轨迹;结合 Diffusion Policy 中实现的动作分块和时间平滑,可能有助于 OpenVLA 达到相同的灵巧水平,这可能是未来工作的一个有前景的方向(当前局限性的详细讨论见第 6 节)。

5.3 参数高效微调

上一节中 OpenVLA 的完整微调运行使用了 8 块 A100 GPU,每个任务耗时 5-15 小时(取决于数据集大小)以达到高性能。虽然这比 VLA 预训练所需的计算量少得多,但本节我们探索更计算和参数高效的微调方法,并研究其有效性。

[表 1: 参数高效微调评估。LoRA 微调实现了最佳的性能-计算权衡,在仅训练 1.4% 模型参数的情况下,匹配了完整微调的性能。平均成功率 ± 标准误是根据在选定的 Franka-Tabletop 任务上每种方法 33 次 rollout 计算得出的(详情见表 8)。*:使用 FSDP [77] 分片到 2 块 GPU 上。]

具体而言,我们比较以下微调方法:完整微调在微调期间更新所有权重,如第 5.2 节所述;仅最后一层仅微调 OpenVLA Transformer 主干网络的最后一层和词元嵌入矩阵;冻结视觉冻结视觉编码器但微调所有权重;三明治微调解冻视觉编码器、词元嵌入矩阵和最后一层;LoRA 使用 Hu 等人 [26] 流行的低秩适应技术,应用于模型的所有线性层,具有多个秩值 $r$。

我们在表 1 中报告了多个 Franka-Tabletop 任务上的微调成功率,以及训练参数数量和 GPU 内存需求。我们发现,仅微调网络的最后一层或冻结视觉编码器会导致性能不佳,这表明将视觉特征进一步适应目标场景至关重要。相比之下,“三明治微调”取得了更好的性能,因为它微调了视觉编码器,并且消耗更少的 GPU 内存,因为它不微调完整的 LLM 主干网络。最后,LoRA 在性能和训练内存消耗之间取得了最佳权衡,优于“三明治微调”,并在仅微调 1.4% 参数的情况下匹配了完整微调的性能。我们发现 LoRA 的秩对策略性能影响可忽略,因此建议使用默认秩 $r=32$。使用 LoRA,我们可以在单块 A100 GPU 上在 10-15 小时内完成新任务的 OpenVLA 微调——与完整微调相比,计算量减少了 8 倍。

5.4 通过量化实现内存高效推理

图 5: OpenVLA 在不同 GPU 上的推理速度。bfloat16 和 int4 量化都实现了高吞吐量,尤其是在具有 Ada Lovelace 架构的 GPU(RTX 4090, H100)上。

5.1 多机器人平台直接评估

Figure 2: BridgeData V2 WidowX robot evaluation tasks and results. We evaluate OpenVLA and prior state-of-the-art generalist robot policies on a comprehensive suite of tasks covering several axes of generalization, as well as tasks that specifically assess language conditioning ability. OpenVLA achieves highest overall performance and even outperforms closed-source model RT-2-X in all categories except for semantic generalization. Average success rates ±plus-or-minus\pm± StdErr are computed across 170 total rollouts per approach. See Table 4 for detailed results.

机器人设置与任务。 我们在两个机器人平台上“开箱即用”地评估 OpenVLA 的性能:来自 BridgeData V2 评估的 WidowX 机器人 [6](见 LABEL:fig:teaser,左图)和来自 RT-1 与 RT-2 评估的移动操作机器人 [2, 7](“Google 机器人”;见 LABEL:fig:teaser,中图)。这两个平台在先前工作中被广泛用于评估通用机器人策略 [2, 7, 1, 5]。我们在每个环境中定义了一套全面的评估任务,涵盖多个泛化维度,例如:视觉泛化(未见过的背景、干扰物、物体颜色/外观);运动泛化(未见过的物体位置/朝向);物理泛化(未见过的物体尺寸/形状);以及语义泛化(未见过的目标物体、指令和来自互联网的概念)。我们还评估了在存在多个物体的场景中的语言条件化能力,测试策略是否能根据用户提示操控正确的目标物体。BridgeData V2 和 Google 机器人评估中的示例任务图像分别见图2和图3的底行。总体而言,我们在 BridgeData V2 实验中为每种方法评估了 170 次 rollout(17 个任务,每个任务 10 次尝试),在 Google 机器人实验中评估了 60 次 rollout(12 个任务,每个任务 5 次尝试)。所有任务的详细分类及其与训练数据的差异见附录 B。本节及后续部分的所有评估均采用 A/B 测试方式进行,使用相同的任务集和相同的初始机器人及物体状态集,以确保公平比较。

对比方法。 我们将 OpenVLA 的性能与三种先前的通用操作策略进行比较:RT-1-X [1]、RT-2-X [1] 和 Octo [5]。RT-1-X(3500 万参数)和 Octo(9300 万参数)是在 OpenX 数据集子集上从头训练的 Transformer 策略;Octo 是开源操作策略中的最先进模型。RT-2-X(550 亿参数)是一种最先进的闭源视觉语言动作模型,利用了互联网预训练的视觉和语言骨干网络。

结果总结于图2(BridgeData V2 评估)和图3(Google 机器人评估)(逐任务细分结果见附录表4和表6)。我们发现 RT-1-X 和 Octo 在测试任务上表现不佳,经常无法操控正确的物体,尤其是在存在干扰物的情况下,有时甚至导致机器人手臂无目的地挥动。需要注意的是,我们的评估测试了比先前工作中更大的泛化程度,以挑战经过互联网预训练的 VLA 模型。因此,未经互联网预训练的模型性能较低是预期之中的。RT-2-X 明显优于 RT-1-X 和 Octo,这证明了大型预训练视觉语言模型对机器人学的益处。

Figure 3: Google robot evaluation results. We evaluate generalist robot policies on in-distribution and out-of-distribution (OOD) tasks on the mobile manipulator used in RT-1 and RT-2 evaluations [2, 7]. We find that OpenVLA and RT-2-X attain comparable performance and significantly outperform RT-1-X and Octo overall. Average success rates ±plus-or-minus\pm± StdErr are computed across 60 total rollouts per approach. See Table 6 for detailed results.

值得注意的是,OpenVLA 在 Google 机器人评估中与 RT-2-X 表现相当,而在 BridgeData V2 评估中显著优于 RT-2-X,尽管其模型规模小一个数量级(70 亿参数 vs. 550 亿参数)。从定性角度看,我们发现 RT-2-X 和 OpenVLA 都表现出比其他测试模型明显更鲁棒的行为,例如在存在干扰物时接近正确物体、将机器人末端执行器正确对准目标物体的朝向,甚至能从错误中恢复(例如不牢固地抓取物体;定性 rollout 示例见 https://openvla.github.io)。如图2所示,RT-2-X 在语义泛化任务中取得了更高的性能,这在意料之中,因为它使用了更大规模的互联网预训练数据,并且同时使用机器人动作数据和互联网预训练数据进行协同微调,以更好地保留预训练知识,而不是像 OpenVLA 那样仅使用机器人数据进行微调。然而,在 BridgeData V2 和 Google 机器人评估的所有其他任务类别中,OpenVLA 表现相当或更好。这种性能差异可归因于多种因素的结合:我们为 OpenVLA 策划了更大的训练数据集,包含 97 万条轨迹(RT-2-X 为 35 万条);我们对训练数据集进行了更仔细的清理,例如过滤掉了 Bridge 数据集中的所有零动作(详细讨论见附录 C);并且 OpenVLA 使用了融合视觉编码器,结合了预训练的语义和空间特征。这些组件的消融分析见附录 D。

5.2 面向新机器人配置的数据高效适应

先前的研究主要关注直接评估视觉语言动作模型(VLA)的“开箱即用”性能[16, 7, 1],而如何将VLA模型有效微调至新任务和新机器人配置,这一关键问题尚未得到充分探索,但却是其广泛采用的核心。本节我们研究OpenVLA快速适应新现实世界机器人配置的能力。(仿真环境中的微调实验详见附录E。)

机器人配置与任务。 我们测试了OpenVLA模型的一个简单微调方案:使用包含目标任务10-150次演示的小型数据集,对模型所有参数进行全量微调(见图4;参数高效的微调方法将在第5.3节探讨)。 我们在两种配置下测试OpenVLA:Franka-Tabletop,一个固定的、桌面安装的Franka Emika Panda 7自由度机械臂;以及Franka-DROID,即来自近期发布的DROID数据集[11]的Franka机械臂配置,安装在一个可移动的站立式办公桌上。这两种配置分别使用5Hz和15Hz的非阻塞控制器。我们选择Franka机械臂作为微调实验的目标具身形态,因为它们在机器人学习社区中被广泛使用,因此很可能成为OpenVLA微调的“目标”。我们测试不同控制频率的配置,以评估OpenVLA在一系列用例中的适用性。

Figure 4: Adapting to new robot setups. We evaluate the state-of-the-art Diffusion Policy trained from scratch on seven Franka Emika Panda tasks (10–150 demonstrations each), as well as generalist robot policies Octo and OpenVLA fine-tuned on the same data. Diffusion Policy exhibits strong performance on narrow single-instruction tasks, while Octo and OpenVLA perform better on diverse fine-tuning tasks involving multiple instructions and distractor objects. Overall, OpenVLA achieves highest aggregate performance across both setups, suggesting that it is an effective default for learning a policy on a downstream task. Average success rates ±plus-or-minus\pm± StdErr are computed across 129 rollouts per approach (99 for Franka-Tabletop tasks and 30 for Franka-DROID tasks). See Table 7 for detailed results.

对比方法。 我们与从头开始训练的、最先进的数据高效模仿学习方法Diffusion Policy[3]进行对比。我们还与Diffusion Policy(匹配版) 进行对比,这是Diffusion Policy的一个变体,其输入和输出规格与OpenVLA相匹配。³ 完整的Diffusion Policy使用包含图像和本体感知状态的两步观测历史,并通过预测未来$T$个动作块并执行前$X$个动作(开环方式)来进行滚动时域控制(对于15Hz控制,我们设置$T=16, X=8$,与DROID先前工作[11]一致;对于5Hz控制,我们将块大小减小到$T=8, X=3$)。它也是第5.2节中唯一预测绝对笛卡尔坐标来控制机器人的方法;所有其他方法都使用相对位置控制。Diffusion Policy(匹配版)使用单张图像作为输入,没有本体感知信息,没有观测历史,并预测单个相对位置控制动作,不进行动作分块。 此外,我们评估了在目标数据集上微调的Octo[5],因为它是目前支持微调的最佳通用策略(RT-2-X的微调不通过其推理API支持)。我们同样在相同目标数据集上微调OpenVLA,得到的策略记为OpenVLA。 最后,作为消融实验,我们与OpenVLA(从头) 进行对比,即我们直接在目标机器人配置上微调底层基础Prismatic VLM,而不是微调经过OpenX预训练的OpenVLA模型,以评估大规模机器人预训练的收益。

结果展示在图4中(按任务细分结果见附录表7)。 我们发现,在较窄的单指令任务上,如“将胡萝卜放入碗中”和“将玉米倒入锅中”,两个版本的Diffusion Policy与通用策略Octo和OpenVLA相比具有竞争力或表现更优,但在涉及场景中多个物体且需要语言条件化的、更多样化的微调任务中,预训练的通用策略表现更好。 Octo和OpenVLA的OpenX预训练使模型能更好地适应这些语言基础更重要的多样化任务;OpenVLA(从头)的较低性能为此提供了证据。

总体而言,OpenVLA取得了最高的平均性能。值得注意的是,大多数先前方法仅在窄单指令任务或多指令多样化任务中的一类上表现出色,导致成功率差异很大。OpenVLA是唯一在所有测试任务中都达到至少50%成功率的方法,这表明它可以成为模仿学习任务的一个强有力的默认选项,尤其是在任务涉及多样化语言指令集的情况下。对于较窄但需要高度灵巧性的任务,Diffusion Policy仍能展现出更平滑、更精确的轨迹;将Diffusion Policy中实现的动作分块和时间平滑机制整合到OpenVLA中,可能有助于其达到同等水平的灵巧性,这或许是未来工作的一个可行方向(关于当前局限性的详细讨论见第6节)。

5.3 参数高效微调

上一节中,OpenVLA 的完整微调运行需要 8 块 A100 GPU,每个任务耗时 5-15 小时(取决于数据集大小)才能达到高性能。虽然这比 VLA 预训练所需的计算量要少得多,但本节我们将探索计算和参数效率更高的微调方法,并研究其有效性。

[Table 1: 参数高效微调评估。LoRA 微调实现了最佳的性能-计算权衡,仅训练模型 1.4% 的参数即可达到与完整微调相当的性能。平均值成功率 ± 标准误,基于每种方法在选定的 Franka-Tabletop 任务上各 33 次 rollout 计算得出(详见 Table 8)。 ∗:使用 FSDP [77] 在 2 块 GPU 上分片。]

具体而言,我们比较了以下微调方法:完整微调在微调期间更新所有权重,如第 5.2 节所述;仅末层仅微调 OpenVLA Transformer 主干网络的最后一层和 token 嵌入矩阵;冻结视觉冻结视觉编码器但微调所有权重;三明治微调解冻视觉编码器、token 嵌入矩阵和最后一层进行微调;LoRA 使用 Hu 等人 [26] 提出的流行低秩适应技术,采用多个秩值 $r$,应用于模型的所有线性层。

我们在 Table 1 中报告了多个 Franka-Tabletop 任务上的微调成功率,以及训练参数数量和 GPU 内存需求。4 我们发现,仅微调网络的最后一层或冻结视觉编码器会导致性能不佳,这表明针对目标场景进一步调整视觉特征至关重要。相比之下,“三明治微调”由于微调了视觉编码器,取得了更好的性能,并且由于没有微调完整的 LLM 主干,消耗的 GPU 内存更少。最后,LoRA 在性能和训练内存消耗之间取得了最佳权衡,性能优于“三明治微调”,并且仅微调 1.4% 的参数就达到了与完整微调相当的性能。我们发现 LoRA 的秩对策略性能影响可忽略不计,因此建议使用默认秩 $r=32$。使用 LoRA,我们可以在单块 A100 GPU 上,在 10-15 小时内完成新任务的 OpenVLA 微调——与完整微调相比,计算量减少了 8 倍。

5.4 通过量化实现内存高效推理

OpenVLA 作为一个拥有 70 亿参数的模型,在推理时消耗的内存比此前开源的通用策略(如 Octo,其参数少于 1 亿)要多。我们遵循 LLM 服务的最佳实践,以 bfloat16 精度保存和加载 OpenVLA 进行推理(我们的默认方法),这使内存占用减少了一半,使我们能够在仅有 16GB GPU 内存的 GPU 上部署 OpenVLA。本节我们测试是否可以通过使用为服务 LLM 开发的现代量化技术 [88, 27],进一步减少策略推理所需的内存,从而扩大 VLA 策略的可访问性。这些方法以较低精度加载网络权重,从而以可能降低推理速度和准确性为代价,换取内存需求的减少。

具体而言,我们研究了以 8 位和 4 位精度服务 OpenVLA 模型在 8 个代表性 BridgeData V2 任务上的表现。我们在 Table 2 中报告了内存占用和 rollout 性能。我们还在 Fig. 5 中报告了在各种消费级和服务器级 GPU 上可达到的控制频率。我们观察到,由于增加的量化操作开销,8 位量化在大多数 GPU 上减慢了推理速度。4 位推理则实现了更高的吞吐量,因为减少的 GPU 内存传输补偿了量化开销。

由于推理速度降低,我们观察到 8 位量化导致性能显著下降:在我们用于评估的 A5000 GPU 上,我们只能以 1.2Hz 的频率运行模型,这与 BridgeData V2 任务中使用的 5Hz 非阻塞控制器在训练数据集上的系统动力学特性相比发生了显著变化。5 值得注意的是,4 位量化尽管所需的 GPU 内存不到一半,却实现了与 bfloat16 半精度推理相似的性能。4 位量化模型可以在 A5000 上以 3Hz 运行,从而更接近数据收集期间的系统动力学特性。

图 5: OpenVLA 在不同 GPU 上的推理速度。bfloat16 和 int4 量化均实现了高吞吐量,尤其是在采用 Ada Lovelace 架构的 GPU(RTX 4090, H100)上。使用 TensorRT-LLM [89] 等现代 LLM 推理框架可以进一步提升速度。♠:模型在两个 GPU 上分片以适配内存。

表 2:量化推理性能。 4 位量化与 bfloat16 推理(我们的默认方法)性能相当,同时将 GPU 内存占用减少了一半以上。平均值成功率 ± 标准误,基于 8 个代表性 BridgeData V2 任务 [6] 和每种方法各 80 次 rollout 计算得出(详见 Table 5)。

6 讨论与局限性

本研究提出了OpenVLA,这是一个开源的、性能领先的视觉-语言-动作模型,能够在开箱即用的状态下实现跨具身机器人控制的强大性能。我们还证明了OpenVLA可以通过参数高效的微调技术轻松适配新的机器人配置。

当前的OpenVLA模型存在一些局限性。首先,它目前仅支持单图像观测。现实中,真实世界的机器人配置是异构的,存在多种可能的传感器输入[5]。将OpenVLA扩展以支持多图像和本体感知输入以及观测历史是未来工作的重要方向。探索使用在交错图像和文本数据上预训练的视觉语言模型,可能有助于实现这种灵活输入的VLA微调。

其次,提升OpenVLA的推理吞吐量对于实现高频控制配置(如以50Hz运行的ALOHA[90])的VLA控制至关重要。这也将使得VLA能够在比本研究探讨的更灵巧、更复杂的双手操作任务上进行测试。探索使用动作分块或替代的推理时优化技术(如推测解码[91])提供了潜在的解决方案。

此外,模型性能仍有提升空间。虽然OpenVLA优于先前的通用策略,但在测试任务上尚未达到很高的可靠性,通常成功率低于90%。

最后,由于计算资源的限制,许多VLA设计问题仍未得到充分探索:基础视觉语言模型的规模对VLA性能有何影响?在机器人动作预测数据和互联网规模的视觉-语言数据上进行联合训练能否显著提升VLA性能?哪些视觉特征最适合VLA模型?我们希望OpenVLA模型和代码库的发布能够推动社区共同研究这些问题。

致谢

我们感谢丰田研究院为本研究提供了所需的重要资金和计算资源。我们也感谢斯坦福基础模型研究中心提供了额外的计算资源,以及Google DeepMind为我们的评估提供了RT-2-X API的早期访问权限。我们同时感谢大众汽车、Physical Intelligence、ONR资助(N00014-22-1-2621和N00014-22-1-2293)、美国国家科学基金会(IIS-2246811)以及DARPA ANSR项目提供的额外支持。

本文编译自 OpenVLA: An Open-Source Vision-Language-Action Model,版权归原作者所有。

觉得有用?分享给更多人

获取每周 AI 工具精选

工具推荐、实战教程和生态洞察,每周更新。

相关文章

Simon Willison 正在重构 LLM Python 库的抽象层,以支持服务器端工具执行等新功能。他利用 Claude Code 分析了四大 LLM 提供商的客户端库,生成了用于测试的 curl 命令和 JSON 输出。这些调研材料已开源,旨在帮助设计更通用的 API 抽象。

深度Simon Willison·4月5日·1 分钟

智能体技能——包含程序性知识和可执行资源的结构化包,供智能体在推理时动态加载——已成为增强 LLM 智能体的可靠机制。然而,推理时技能增强存在根本性限制:检索噪声引入无关指导,注入的技能内容带来大量 token 开销,而模型从未真正习得它所遵循的知识。我们提出一个问题:技能是否可以被内化到模型参数中,使其在无需任何运行时技能检索的情况下实现零样本自主行为?我们提出 Skill0,一个专为技能内化设计的上下文强化学习框架。Skill0 引入了一种训练时课程,从提供完整技能上下文开始,逐步撤除。技能按类别离线分组,并与交互历史一起渲染为紧凑的视觉上下文,教授模型工具调用和多轮任务完成。动态课程机制…

深度·4月5日·17 分钟

评论