VLA 论文精读(一)OpenVLA: An Open-Source Vision-Language-Action Model

这篇笔记用来描述 2024年 发表在arxiv上的一篇有关VLA领域的论文,主要提供了一个机械臂VLM的端到端训练框架,是研究机械臂VLA的必读文章,其作者阵容也相当强大。从作者的文风来看对中文母语者比较友好,虽然正片文章较长,但要是完整读下来还是可以收获很多,特别是里面有很多挑战过去研究的点值得学习下。


写在最前面

为了方便你的阅读,以下几点的注意事项请务必了解:

  • 该系列文章每个字都是我理解后自行翻译并写上去的,可能会存在笔误与理解错误,如果发现了希望读者能够在评论区指正,我会在第一时间修正错误。
  • 阅读这个系列需要你有基础的VLA、VLM相关基础知识,有时候我会直接使用英文名词,因为这些词汇实在不容易找到符合语境的翻译。
  • 原文可能因为版面限制存在图像表格与段落不同步的问题,为了更方便阅读,我会在博文中重新对图像表格进行排版,并做到引用图表的文字下方就能看到被引用的图表。因此可能会出现一张图片在博客中多处位置重复出现的情况。
  • 对于原文中的图像,我会在必要时对图像描述进行翻译并附上我自己的理解,但如果图像描述不值得翻译我也不会强行写上去。

Basic Information

  • 论文标题:OpenVLA: An Open-Source Vision-Language-Action Model
  • 原文链接https://arxiv.org/abs/2406.09246
  • 发表时间:2024年09月05日
  • 发表平台:arxiv
  • 预印版本号:[v3] Thu, 5 Sep 2024 19:46:34 UTC (11,362 KB)
  • 作者团队:Moo Jin Kim, Karl Pertsch, Siddharth Karamcheti, Ted Xiao, Ashwin Balakrishna, Suraj Nair, Rafael Rafailov, Ethan Foster, Grace Lam, Pannag Sanketi, Quan Vuong, Thomas Kollar, Benjamin Burchfiel, Russ Tedrake, Dorsa Sadigh, Sergey Levine, Percy Liang, Chelsea Finn
  • 院校机构:
    • Stanford University;
    • UC Berkeley;
    • Toyota Research Institute;
    • Google DeepMind;
    • Physical Intelligence;
    • Massachusetts Institute of Technology;
  • GitHub仓库https://github.com/openvla/openvla
  • 项目网站https://openvla.github.io

Abstract

基于互联网级VL数据和多样化的机器人演示上的大规模预训练策略,具有改变机器人能力的潜力。相比于从零开始训练新的能力而言,可以对VLA进行微调以获得用于视觉运动控制的鲁棒且泛化的能力。然而,VLA 在机器人学中的仍面临挑战,如:1)现有的 VLA 大多是闭源的;2)已有研究未能探索如何高效地对 VLA 进行微调以适应新任务。为了解决这些挑战,作者提出 OpenVLA,一个 7B 参数的开源 VLA,基于 97 万次真实机器人演示数据训练而成。OpenVLA 采用 Llama 2 作为backbone 并结合视觉编码器,该编码器融合了 DINOv2SigLIP 预训练特征。由于数据多样性的提升和新模型组件的加入,OpenVLA 在通用操作任务上表现出色,在 29 项任务和多种机器人形态上,相比封闭模型 RT-2-X (55B) 而言在任务成功率上绝对提升 16.5%,而参数总量仅为前者的 1/7。此外还证明了 OpenVLA 能够有效适应新的环境,特别是在涉及多个物体的多任务环境中展现出强泛化能力,并在基础语言能力方面表现优异。与从零开始的模仿学习方法(如 Diffusion Policy)相比,OpenVLA 的性能提升 20.4%。作者还对计算效率进行了额外探讨,展示了 OpenVLA 可以通过LoRA方法在消费级 GPU 上进行微调,并通过量化手段进行高效部署,而不会显著影响最终成功率。最后,作者开源了模型 checkpoints、微调代码、基于 PyTorch 的代码库,并内置支持在 Open X-Embodiment 数据集上大规模训练 VLA。


1. Introduction

从机器人操作中学习策略的一个关键问题在于 无法泛化至训练数据集之外的场景。虽然现有的策略可以针对单一技能或语言指令进行训练,并能够在一定程度上实现泛化(如物体位置、光照变化),但在面对场景干扰因素或全新的物体时缺乏鲁棒性,在执行未见过的任务指令时表现不佳。然而,在机器人领域之外,现有的VL基础模型,例如 CLIPSigLIPLlama 2,已经具备了这些泛化能力甚至更强。这种泛化能力源于它们在互联网级数据集上进行的预训练,这些数据集所蕴含的先验信息为模型提供了更强的适应性。尽管在机器人学领域,复制这种规模的预训练仍然是一个未解决的挑战,即使是最大规模的机器人操作数据集也仅包含10 万到 100 万个case,但这种数据规模的不均衡却也带来了另一种潜在的机遇:利用现有的VL基础模型作为核心构件,来训练能够泛化到数据集之外的物体、场景、任务的机器人策略。

现有研究已经探索了将预训练的语言模型和VLM整合到机器人表示学习中的方法,以及将它们作为模块化系统中的组件以支持任务规划和执行。近期,这些方法进一步地直接用于训练VLA,以实现控制任务。VLA 模型是直接利用预训练的VL基础模型进行机器人控制,例如,它们可以直接微调VLMs(如 PaLI) ,使其能够生成机器人控制动作。基于这些在互联网级数据上训练的强大基础模型,VLA(如 RT-2)在鲁棒性和泛化能力方面表现出色,能够适应新颖物体和未知任务,成为了通用机器人策略的新标杆。然而现有的 VLA 模型尚未被广泛应用,主要有两个关键原因:

  1. 当前的模型大多是封闭的,难以了解其模型架构、训练流程以及数据组成;
  2. 现有研究缺乏针对 VLA 部署和自适应的实践,特别是如何适配新的机器人、环境和任务,尤其是如何部署到消费级 GPU上运行。

作者认为,为了构建一个有利于未来研究和发展的基础生态,机器人学需要开源通用的VLA,使其具备高效的微调和适配能力,类似于当前开源语言模型所形成的生态系统。

为此作者们提出了 OpenVLA-7B 的开源VLA,确立了通用机器人操作策略的SOTA。OpenVLA 由一个预训练的VLM作为主干,该模型能够在多个粒度上提取视觉特征,并在 Open-X Embodiment数据集中 97 万条机器人操作轨迹上进行了微调。该数据集涵盖了广泛的机器人形态、任务和场景。得益于数据多样性的提升和新模型组件的引入,OpenVLA 在 29 项评估任务上,相比于之前的最先进 VLA RT-2-X (55B),在 WidowX 和 Google Robot 机器人形态上绝对成功率提高了 16.5%。此外,还研究了高效的 VLA 微调策略,在 7 个不同的操作任务上进行实验,涵盖从 object pick-and-place 到 cleaning a table 等行为。实验表明,微调后的 OpenVLA 策略明显优于预训练策略(如 Octo)。与从零开始的扩散策略模仿学习相比,微调后的 OpenVLA 在多任务环境中,尤其是涉及将语言与行为对齐的任务上,表现出显著的性能提升。基于这些结果,首次证明了利用LoRA和模型量化进行计算高效的微调的可行性。这些方法让 OpenVLA 可以在消费级 GPU上进行适配,而无需依赖大型服务器节点。最终,作者开源了所有模型、部署、微调脚本、OpenVLA 的完整代码库,支持大规模训练 VLA,希望这些资源能够推动未来研究,使 VLA 在机器人学领域得到进一步探索和适配。


2. Related Work

Visually-Conditioned Language Models

VLMs 是在互联网级数据上训练的模型,能够根据输入图像和语言提示词生成自然语言。VLMs 已被广泛应用于多个任务,如视觉问答VQA和目标定位。近年来 VLM 取得突破的关键进展之一在于模型架构的改进,即利用预训练的视觉编码器与预训练的语言模型进行特征融合。这一方法直接构建在计算机视觉和自然语言建模的成果之上,使得 VLM 成为功能强大的多模态模型。尽管早期研究探索了多种跨模态特征交互架构,在视觉特征与语言特征之间建立了联系,但新一代开源 VLMs 趋向于采用更简单的 "patch-as-token" 方法。该方法以预训练视觉 Transformer 的 patch 特征视为语言模型的 token,并投影到语言模型的输入空间。这种方法的简单性使得现有的大规模语言模型训练工具能够轻松适用于 VLM 训练。在此本文中,作者利用这些工具扩展VLA 训练,并采用 Karamcheti 等人提出的 VLM 作为预训练主体。该模型通过多分辨率视觉特征进行训练,其中:

  • 低层级的空间信息(low-level spatial information)来自 DINOv2 (下图中的黄色方块);
  • 高层级的语义信息(higher-level semantics)来自 SigLIP (下图中的蓝色方块);
    在这里插入图片描述

这种融合方法有助视觉泛化能力的提升,从而增强 VLA 的整体性能。

Generalist Robot Policies

近年来,机器人学的研究趋势逐渐转向训练多任务通用机器人模型,这些模型基于大规模、多样化的机器人数据集,涵盖了多种不同的机器人形态。Octo训练了一种通用策略,能够开箱即用(out-of-the-box)地控制多个机器人并支持灵活微调,以适配新的机器人配置。然而,这些方法与 OpenVLA 的关键区别在于模型架构,像 Octo 这样的现有方法通常由多个预训练组件组成(如语言嵌入或视觉编码器),并结合从零初始化的额外模型组件。在训练的过程中,这些方法会学习如何将这些组件拼接在一起。而OpenVLA 采用了更端到端的方法,直接微调 VLMs 以生成机器人控制动作,并将这些动作视为语言模型词汇表中的 token。实验结果表明,这种简单但可扩展的训练流程相比于先前的通用策略,能够显著提升性能和泛化能力。

Vision-Language-Action Models

已有大量研究探索了VLMs在机器人学中的应用,例如:视觉状态表示(visual state representations)目标检测(object detection)高层级规划(high-level planning)提供反馈信号(feedback signal) 等。还有研究将 VLMs 直接集成到端到端视觉-运动操作策略,但这些方法通常在模型架构中引入了复杂的结构,或者依赖经过标定的相机,这限制了其适用性。近年来,一些研究采用与作者的类似的方法,直接微调大规模预训练 VLMs 以预测机器人动作。这类模型通常被称为VLAs,将机器人控制动作直接融合到 VLM 主干中。这种方法带来了三个优势:

  • 在大规模互联网视觉-语言数据集上,对预训练的视觉与语言组件进行对齐,从而提升模型的理解能力;
  • 使用通用架构,利用 VLM 训练的可扩展基础方案,在训练十亿级参数策略时仅需修改少量代码;
  • 提供了一条直接路径,使机器人学能够从 VLM 领域的快速进步中受益。

然而,现有的 VLA 研究仍存在局限性:

  • 部分研究仅在单个机器人或仿真环境中进行训练和评估,缺乏泛化性;
  • 一些方法是封闭的,不支持高效微调以适应新的机器人配置;

与作者当前工作最接近的是 RT-2-X,它在 Open X-Embodiment 数据集上训练了一个 55B 参数的 VLA 模型,并在通用操作策略方面达到了SOTA。然而,作者的工作与 RT-2-X 存在多个重要区别:

  • 模型更小且性能更强:OpenVLA 结合了开源 VLM 和更丰富的机器人预训练数据集,在实验中以更小的模型规模超越了 RT-2-X 性能;
  • 微调能力:OpenVLA 能够在新目标环境上的微调,而 RT-2-X 并未涉及微调;
  • 高效的参数调整:OpenVLA是首个证明参数高效微调和量化方法在 VLA 领域有效性的研究;
  • 完全开源:OpenVLA 是首个开源的通用 VLA,支持未来研究者探索 VLA 训练、数据组合、优化目标、推理方法。

3. The OpenVLA Model

OpenVLA-7B 模型在 Open X-Embodiment 数据集中的 97 万条机器人示范数据上训练。目前,在VLA 模型的发展应用方面仍存在许多尚未深入研究的问题,例如:最佳的模型backbone、应该使用哪些数据集、训练时的最佳超参数等。下面的章节中详细介绍 OpenVLA 的训练方法及上述关键点:


3.1 Preliminaries: Vision-Language Models

现代VLMs通常由三个主要部分组成(见 Fig. 2)。
在这里插入图片描述

  • 视觉编码器(Visual Encoder):将输入图像映射为多个 patch 嵌入(image patch embeddings);
  • MPL 映射器(Projector):将视觉编码器的输出嵌入映射到语言模型的输入空间;
  • Llama2-7B 大型语言模型主干:处理映射后的视觉信息,并与语言数据进行融合;

在 VLM 训练过程中,模型采用端到端训练方式,通过预测下一个文本 token 进行优化,训练数据来自互联网。

OpenVLA 基于 Prismatic-7B VLM,该模型采用标准 VLM 体系结构,包含以下关键组件:600M参数的视觉编码器(由预训练的SigLIPDINOv2构成)、一个小型的双层 MLP、一个7B参数的 Llama 2 骨架。特征按照下面的方式进行融合:

  1. 输入图像 Patch 先分别通过 SigLIPDINOv2 进行编码;
  2. 将两个编码器的输出特征在 channel-wise 上拼接。

CLIP 或单独使用 SigLIP 的编码器相比,DINOv2 额外提供的特征可以增强 空间推理能力,这对于机器人控制尤其重要。

SigLIP, DinoV2Llama 2 都没有公开其训练数据的具体细节,但是作者猜测这些数据很可能包括来自互联网的大量图像-文本、纯图像、纯文本的数据,数据量可能达到数万亿个 tokens。Prismatic VLMLLaVA 1.5 数据集的基础上进行微调。该数据集包含约 100 万条图像-文本和纯文本数据。


3.2 OpenVLA Training Procedure

为了训练 OpenVLA,作者对预训练的VLM backbone 进行微调,以让其拥有机器人动作预测的能力(见 Fig. 2 红框中的部分),将机器人动作预测问题定义为一个VL任务。
在这里插入图片描述

  • 输入:观察图像(observation image)+ 自然语言任务指令(natural language task instruction);
  • 输出:映射为 一串预测的机器人动作;

为了使 VLM 模型能够输出机器人动作,作者将动作表示为 LLM 输出空间中的离散 token,将连续的机器人动作映射到语言模型使用的 token,每个机器人动作维度被离散化为 256 个区间,区间宽度设置为均匀划分训练数据中 1% 到 99% 的分位数。使用分位数可以忽略数据中的异常动作,避免扩展到离散化区间。

在这种离散化方式下,将 N 维机器人动作映射为 N 个离散整数,其值范围在 ∈ [ 0 , 255 ] \in [0,255] [0,255]
OpenVLA 采用的 Llama 分词器仅预留了 100 个“special tokens” 用于微调时新增的tokens,而这和上面所提到的机器人 256 动作区间存在冲突。为了解决这个问题,作者选择了一种简单的方法:直接覆盖 Llama 分词器词表中最少使用的 256 个tokens(即最后 256 个tokens),将它们替换为上面的动作tokens。

一旦动作被转换为tokens序列,OpenVLA 以标准的“预测下一个tokens” 为目标进行训练,仅对预测的动作tokens计算交叉熵损失。


3.3. Training Data

构建OpenVLA 训练数据集的目标是捕捉机器人实体、场景、任务的多样性,最终模型能够开箱即用地控制多种机器人,并且能高效地微调以适应新的机器人配置。利用 Open X-Embodiment 数据集作为基础来规划训练数据集。OpenX 数据集包含了 70 多个独立的机器人数据集,总计超过 200 万条机器人轨迹,这些数据经过社区的共同努力被汇集成一个统一且易于使用的数据格式。为了使在这个数据集上的训练更具实际可行性,作者团队对原始数据集进行了多步数据整理处理。数据整理的目标是:

  1. 确保所有训练数据集的输入输出空间的一致性;
  2. 在最终训练数据混合中实现机器人实体、任务和场景的平衡;

为了实现上面两个目标,将训练数据集限制为仅包含至少有一个第三人称视角摄像头并使用单臂末端执行器控制的操作数据集。利用 Octo 的数据混合权重,针对通过了第一轮筛选的数据集进行加权处理。Octo 使用启发式方法降低或移除数据多样性较低的权重,同时增加任务和场景多样性较大的权重。

作者还将一些自 Octo 发布以来新加入到 OpenX 数据集中的附加数据集(包括 DROID 数据集)纳入到训练数据混合中,其权重被保守设置为 10%。在实践中,作者发现 DROID 数据集上的动作token 准确率在整个训练过程中保持较低,这表明可能需要更大的混合权重或更强大的模型来适应其多样性。为了不影响最终模型的质量,在训练的最后三分之一阶段将 DROID 数据集 从总体中移除。Appendix A 中提供了所有数据集及其混合权重的完整概述。


3.4 OpenVLA Design Decisions

在开发 OpenVLA 模型时,作者在较小规模的实验中探索了各种模型,然后才开始最终的模型训练。实验初期阶段,在 BridgeData V2 上训练和评估 OpenVLA,而不是直接使用完整的混合数据,这样做的目的是 加快迭代速度降低计算成本

VLM Backbone

作者尝试了多种 VLM作为backbone的模型。除 Prismatic 之外还测试了 IDEFICS-1LLaVA (fin-turned)版本。在仅包含单个物体的任务中,LLaVAIDEFICS-1 的表现相当。然而在涉及多个物体并且需要根据语言指令中指定的物体进行操控时,LLaVA 展现出了更强的语言对齐能力。具体而言,在 BridgeData V2sink environment 中,LLaVA 在五项语言对齐任务上的平均绝对成功率比 IDEFICS-1 提高了 35%。微调后的 Prismatic VLM 也相比之前取得了更好的表现,在单物体任务和多物体语言对齐任务上的绝对成功率比 LLaVA 约高出 10%。作者认为这一性能提升归因于 Prismatic 采用的 SigLIP-DinoV2 融合网络,该网络增强了模型的空间推理能力。此外,Prismatic 还提供了模块化且易于使用的代码库,因此最终选择它作为 OpenVLA 模型的backbone。

Image Resolution

输入图像的分辨率对 VLA 的训练计算需求有显著影响,因为更高分辨率的图像会生成更多的图像 patch token,从而导致上下文长度增加,并使训练计算量呈指数增长。作者对比了使用 224×224384×384 输入的 VLA 模型,但在评估阶段中未发现由于分辨率的增加而带来的显著的性能差异,而后者的训练时间却是前者的 3 倍。因此最终选择 224×224 像素作为 OpenVLA 模型的输入分辨率。在许多 VLM 基准测试中,提高分辨率通常可以提升模型性能,但对于 VLA 而言暂时未观察到这一趋势。

Fine-Tuning Vision Encoder

先前对 VLM 的研究发现,在 VLM 训练期间冻结视觉编码器通常会带来更高的性能。冻结的视觉编码器可以更好地保留其从互联网规模数据预训练中学到的特征。然而,作者发现 在 VLA 训练期间微调视觉编码器对于获得良好的 VLA 性能至关重要,作者认为是预训练的视觉backbone可能无法捕捉到场景重要部分足够的细粒度空间细节,从而无法实现精确的机器人控制

Training Epochs

典型的 LLM 或 VLM 训练通常只会在其训练数据集上完成最多一到两轮 epoch。但对于 VLA 而言,反复遍历训练数据集的意义要多得多。随着训练epoch的增加,真实机器人在执行任务时的表现会持续提升,直到训练过程中动作 token 准确率超过 95%。作者最终训练共完成了 27 epochs数据集遍历。

Learning Rate

作者在多个数量级范围内调整了 VLA 训练的学习率,最终发现 使用固定学习率 lr=2e-5 能够取得最佳效果,此外未发现学习率预热能带来任何性能提升。


3.5 Infrastructure for Training and Inference

最终的 OpenVLA 模型在一个包含 64 张 A100 GPU 的计算集群上训练了 14 天,总计消耗约 21,500 小时的 A100 计算资源,使用了 batch_szie=2048 的配置。在推理阶段,OpenVLA 在未量化的 bfloat16 精度下加载时需要 15GB 以上的 GPU 显存,并且在一张 NVIDIA RTX 4090 GPU 上的运行速率约为 6Hz(未采用编译优化、推测解码或其他推理加速技术)。

此外,可以通过量化进一步减少 OpenVLA 在推理阶段的显存占用,而不会显著影响其在真实机器人任务中的性能。Fig. 6 展示了 OpenVLA 在多种消费级和服务器级 GPU 上的推理速度。
在这里插入图片描述

作者还提供了一个远程 VLA 推理服务器,从而无需本地部署即可控制机器人。该远程推理方案已作为开源代码的一部分发布。


4. The OpenVLA Codebase

除发布模型之外,作者还开源了 OpenVLA 代码库,这是一套用于训练 VLA 模型的模块化 PyTorch 代码库。该代码库可以灵活扩展,既支持在单张 GPU 上对 VLA 进行微调,也支持在多节点 GPU 集群上训练包含十亿级参数的 VLA 模型。还集成了大规模 Transformer 模型训练的现代技术,包括自动混合精度、FlashAttention 以及完全分片数据并行 FSDP。开箱即用地 OpenVLA 代码库完全支持在 Open X 数据集上训练,并与 Hugging Face 的 AutoModel 类无缝集成。此外还支持 LoRA 微调和量化模型推理。


5. Experiments

实验目标是评估 OpenVLA 的多机器人控制策略的能力,使其能够开箱即用,同时评估其在新机器人任务上微调模型的效果。具体为以下问题:

  1. 在对多个机器人和不同类型的泛化能力进行评估时,OpenVLA 与以往的通用机器人策略相比表现如何;
  2. OpenVLA 是否能够在新的机器人和任务上有效地进行微调,与当前SOTA的模仿学习方法相比性能如何;
  3. 是否可以利用参数高效微调和量化来降低 OpenVLA 模型的训练和推理算力需求,使其更加易于使用,以及如何在性能与计算开销之间取得权衡;

5.1 Direct Evaluations on Multiple Robot Platforms

Robot Setups and Tasks

作者对 OpenVLA 在两个机器人具身系统上的开箱即用性能进行了评估:一是 BridgeData V2 评测中的 WidowX 机器人(Fig.1 左),二是 RT-1RT-2 中使用的机器人Google Robot(Fig.1 中)。这两个平台在先前研究中被广泛用于评估通用机器人模型。

在这里插入图片描述

每个环境中定义了一套全面的评测任务,涵盖多个泛化能力维度,包括:

  • 视觉泛化(visual generalization):测试机器人在未见过的背景、干扰物体、物体颜色/外观变化等情况下的表现;
  • 运动泛化(motion generalization):评估机器人是否能适应未见过的物体位置/方向;
  • 物理泛化(physical generalization):考察机器人如何处理不同尺寸和形状的物体;
  • 语义泛化(semantic generalization):测试机器人对未见过的目标物体、指令以及来自互联网的新概念的理解能力。

此外还评估了 OpenVLA 在多物体场景中的语言调控能力,即模型是否能够正确操控用户指令中指定的目标物体。BridgeData V2Google Robot实验的示例任务图像分别见 Fig 3 底部 和 Fig 4。

在这里插入图片描述
在这里插入图片描述

总体而言,在 BridgeData V2 评测中执行了 170 轮实验(17 个任务,每个任务 10 次尝试),在 Google Robot 中执行了 60 轮实验(12 个任务,每个任务 5 次尝试)。所有任务的详细划分,以及它们与训练数据的区别见 Appendix B。为了确保公平比较,本节及后续实验均采用 A/B 评测,即在相同的任务下,使用相同的初始状态和物体状态进行对比实验。

Comparisons

作者将 OpenVLA 的性能与三种通用模型进行了对比:RT-1-XRT-2-XOcto。其中,RT-1-X (35M)Octo (93M) 都是从头开始训练的 Transformer 模型,训练数据集来源于 OpenX 数据集的子集;Octo 是当前开源操作策略中的SOTA模型;RT-2-X (55B) 是一个SOTA的闭源的 VLA 模型,利用了在互联网预训练的视觉和语言骨干网络。

评估结果在Fig 3(BridgeData V2 )和Fig 4(Google Robot)中进行了总结(每个任务的详细数据见 Appendix 中的Table. 4 和Table. 6)。实验结果表明,RT-1-XOcto 在测试的任务中表现不佳,常常无法正确操作目标物体,尤其是在有干扰物体存在时,并且在某些情况下机器人甚至会无目的地挥动手臂。需要注意的是这里的评估测试了比以往研究中更大广的泛化能力,旨在挑战那些在互联网数据预训练的 VLA 模型。因此,未进行互联网数据预训练的模型表现较差是在预期范围内的。RT-2-X 在性能上超越了 RT-1-XOcto,展示了大型预训练 VLM 在机器人领域中的优势。
在这里插入图片描述
在这里插入图片描述

尽管 OpenVLA 的参数规模比 RT-2-X 小一个数量级(7B vs. 55B),但在 Google Robot 测试中表现与 RT-2-X 相当,并且在 BridgeData V2 评测中显著优于 RT-2-X。定性分析来看,RT-2-X 和 OpenVLA 都展现出比其他测试模型更强的鲁棒的性能,例如:

  • 在存在干扰物体时,能够正确接近目标物体;
  • 机器人末端执行器正确对齐目标物体的方向;
  • 在抓取不稳的情况下能够自我纠正,恢复任务执行(详见 https://openvla.github.io 中的实验示例);

从任务类型来看,RT-2-X 在语义泛化任务上表现更优(见Fig 3),这可能是由于其使用了大规模的互联网预训练数据,并且在微调时同时使用了机器人动作数据和互联网数据,从而更好地保留了预训练知识。而 OpenVLA 仅在机器人数据上进行微调,因此在语义泛化能力上稍逊一筹。然而,在 BridgeData V2Google Robot 评测的其他所有任务类别中,OpenVLA 的表现与 RT-2-X 相当或更优。

在这里插入图片描述

上述性能差异主要源于多个因素的共同作用:

  • 更大规模的训练数据:OpenVLA 训练数据集包含 97 万条轨迹(970k),远多于 RT-2-X 的 35 万条轨迹(350k);
  • 更严格的数据清理:对训练数据进行了更仔细的筛选,例如在 BridgeData 数据集中过滤掉了所有全零动作(详见 Appendix C);
  • 更好的视觉编码器:OpenVLA 采用了融合型视觉编码器(fused vision encoder),结合了预训练的语义特征和空间特征,提升了模型的感知能力;

关于这些关键组件的消融实验,请参见Appendix D


5.2 Data-Efficient Adaptation to New Robot Setups

尽管以往的研究主要关注对 VLA 模型的开箱即用性能进行评估,但如何高效地将 VLA 模型微调到新任务和机器人上仍然是一个尚未被充分探索的问题。在本节中讨论了 OpenVLA 在新的真实场景下与机器人上的快速适应能力(关于在仿真环境中的微调实验,请参见Appendix E。)。

Robot setups and tasks

对 OpenVLA 进行了一项微调实验:将模型所有参数进行完整微调,并使用仅包含 10–150 次示范的小型数据集(见Fig. 5)。在这里插入图片描述

在实验中,作者测试了 OpenVLA 在以下两种机器人配置中的微调能力:

  • Franka-Tabletop:一个固定在桌面上的 Franka Emika Panda 7-DoF 机械臂;
  • Franka-DROID:一个安装在可移动站立式桌子上的 Franka 机械臂;

这两种配置分别使用 5Hz 和 15Hz 的非阻塞控制器。之所以选择 Franka 机械臂作为微调实验的目标具身系统,是因为它们在机器人学习社区中被广泛应用。此外还在不同的控制频率下进行测试,以评估 OpenVLA 在不同应用场景下的适用性。

Comparisons

将 OpenVLA 与以下几种方法进行对比:

  • Diffusion Policy:SOTA的数据高效模仿学习方法,该方法从零开始训练;
  • Diffusion Policy (matched):一个调整输入输出规格以与 OpenVLA 直接对比的 Diffusion Policy 版本;
  • Octo(fine-tuned):目前支持微调的最佳通用策略,在目标数据集上对其进行微调;
  • OpenVLA(fine-tuned):在相同的目标数据集上对 OpenVLA 进行微调,结果模型仍然记作 OpenVLA;
  • OpenVLA (scratch):消融实验,直接在目标机器人上从零开始微调底层的 Prismatic VLM,而不是使用已经在 OpenX 预训练的 OpenVLA,以评估大规模机器人预训练的实际收益。

由于 RT-2-X 的推理 API 不支持微调,因此无法对其进行微调实验。在 Fig. 5(与Appendix Table. 7)中展示了实验结果。

主要发现如下:

  • Diffusion Policy 及其变体在狭义的单指令任务(如 “将胡萝卜放入碗中” 和 “把玉米倒入锅中”),与通用 Octo 和 OpenVLA 相当,甚至表现更优;
  • 预训练模型在更多样化的微调任务上表现更佳,尤其是那些涉及多个物体并依赖语言条件的任务;
  • OpenX 预训练使得 Octo 和 OpenVLA 在这些需要语言对齐的复杂任务中更具适应性。可以从 OpenVLA (scratch) 低于 OpenVLA(fine-tuned) 的表现中看到这一点,说明大规模的 OpenX 预训练在提升泛化能力方面起到了关键作用;

总体而言,作者发现 OpenVLA 取得了最高的平均性能,主要结论如下:

  • 以往的大多数研究方法在狭义的单指令任务或多样化的多指令任务中表现较强,但在不同任务之间的成功率波动较大;
  • OpenVLA 是唯一在所有测试任务中成功率至少达到 50% 的方法,这表明它可以作为模仿学习任务的默认选择,尤其是在涉及多样化语言指令的任务中;
  • Diffusion Policy 在狭义但灵巧度高的任务上仍然展现出更流畅、更精确的轨迹;

未来研究方向:将 Diffusion Policy 中的 action chunking 和 temporal smoothing 机制融入 OpenVLA,可能有助于提升其操作灵巧性,使其达到与 Diffusion Policy 相同的精确度。


5.3 Parameter-Efficient Fine-Tuning

全量微调实验中,OpenVLA 在每个任务上的微调使用了 8 张 A100 GPU,耗时 5–15 小时即可达到较高的性能,尽管如此仍然比 VLA 预训练所需的计算资源要少得多。本节中将进一步探索更加高效的计算和参数微调方法,并研究它们的有效性。包括对以下几种微调方法:

  • 全量微调(Full fine-tuning):微调过程中更新所有权重;
  • 仅微调最后一层(Last layer only):仅微调 OpenVLA transformer backbone的最后一层及其Token 嵌入矩阵;
  • 冻结视觉编码器(Frozen vision):视觉编码器,仅微调其他所有权重;
  • 三明治微调(Sandwich fine-tuning):解冻视觉编码器(vision encoder)、Token 嵌入矩阵和最后一层,其余部分保持冻结状态;
  • LoRA(Low-Rank Adaptation):采用低秩适配方法,在模型的所有线性层上应用不同秩值 r r r

Franka-Tabletop 中给出了不同微调方法的成功率,并在 Table 1 中给出了训练参数量和 GPU 内存需求的对比结果。
在这里插入图片描述

主要结论:

  • 仅微调最后一层 或 冻结视觉编码器: 会导致较差的性能,表明视觉特征需要进一步适配目标场景;
  • 三明治微调:由于同时微调了视觉编码器,比上述两种方法表现更佳,还避免了对整个 LLM 骨干进行完整微调,消耗的 GPU 内存更少;
  • LoRA:在性能与训练显存消耗之间实现了最佳权衡:
    • 优于三明治微调;
    • 性能与全量微调相当,但仅微调了 1.4% 的参数;
    • LoRA 的秩值对策略性能影响很小,推荐默认使用 r = 32;
  • 计算资源优化:
    • 使用 LoRA,可以在单张 A100 GPU 上 10–15 小时内完成 OpenVLA 在新任务上的微调,相比全量微调,计算需求降低了 8 倍。

5.4 Memory-Efficient Inference via Quantization

OpenVLA-7B 在推理时的显存占用比此前的开源通用模型(如 Octo,参数量 <100M)更高。默认以 bfloat16 精度存储和加载 OpenVLA,将显存占用减少一半使其能在 16GB GPU 上运行。

  • 目标:使用现代量化技术降低 VLA 策略的推理显存需求,以提升其可用性;
  • 方法:借鉴 LLM 推理中的量化方法,以更低的精度加载权重,但需要付出推理速度与精度降低的代价;

作者测试了在 8 个代表性 BridgeData V2 任务,以 8-bit4-bit 精度运行 OpenVLA 并在 Table.2 中展示了显存占用和执行性能。此外还在 Fig 6 中展示了在各种消费级和服务器级 GPU 上实现的控制频率。主要结论如下:

  • 8-bit quantization:由于量化操作的额外开销,在大多数 GPU 上推理速度有所减慢;
  • 4-bit inference:通过减少 GPU 内存传输,弥补了量化操作带来的开销,因此实现了更高的吞吐量;

由于推理速度的降低,8-bit quantization 出现了显著的性能下降。在 A5000 GPU 上,模型只能以 1.2Hz 的速度运行,这与 BridgeData V2 任务中使用的 5Hz 非阻塞控制器的系统动态存在显著差异;4-bit quantization 尽管需要不到 一半的 GPU 内存,但其性能与 bfloat16 半精度推理相似,在 A5000 上可达到 3Hz,更接近数据收集期间的系统动态。


6. Discussion and Limitations

在本文中作者介绍了一个SOTA的开源VLA模型 OpenVLA,能够开箱即用地为跨平台的机器人控制提供强大的性能;还展示了OpenVLA 可以通过高效的参数微调技术,轻松地适应新的机器人。

目前的 OpenVLA 模型存在以下不足:

  1. 目前仅支持 单图像 输入,而在实际中,机器人硬件是异质的,拥有各种不同的感知输入。因此扩展 OpenVLA 以支持多图像、本体感知输入、保留历史状态,是未来工作中的一个重要方向。或许在图像文本交替数据集上预训练的 VLMs 会有助于这种灵活输入的 VLA 微调;
  2. 提高 OpenVLA 的推理吞吐量以实现高频控制(如 ALOHA 运行频率为 50Hz),这还可以让双手操作任务上测试 VLA 成为可能。探索 action chunking 或其他推理优化技术(如,预测性解码 speculative decoding)可能是解决这一问题的潜在方法;
  3. 尽管 OpenVLA 超越了以往的通用模型,但在测试的任务上其可靠性仍有待提高,通常成功率低于 90%。
  4. 由于算力限制,许多 VLA 结构的问题尚未得到充分探索:
    • 基础 VLM backbone大小对 VLA 性能有什么影响?
    • 使用机器人动作预测数据、互联网规模的VL数据共同训练,是否会显著提升 VLA 性能?
    • 哪些视觉特征最适合用于 VLA 模型?

作者希望OpenVLA 模型和代码库的发布能够使社区共同参与进来研究上述问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值