具身智能的大模型?——OpenVLA

近年来,ChatGPT大火,LLM、VLM等各种各样的大模型层出不穷。

所以,很多做具身智能的朋友也在想能否做具身智能的“大模型”。于是,诞生了OpenVLA,对标LLM和VLM。

image.png

这份工作是MIT的一项工作。

这是paper原论文:

OpenVLA: An Open-Source Vision-Language-Action Model

我们来讲讲这个工作。

首先,根据作者自己的介绍,OpenVLA 是一个拥有70亿参数的开源视觉-语言-动作(Vision-Language-Action, VLA)模型,它在来自Open X-Embodiment数据集的97万机器人episode上进行了训练。该模型为通用机器人操作策略设定了新的最先进标准。

image.png

工作背景

传统的机器人操作策略在面对未见场景或任务指令时,通常表现出泛化能力不足的问题。尽管这些策略能够在一定程度上处理新的初始条件(如物体位置或光照变化),但它们对于场景中的干扰物或新物体的鲁棒性较差,并且难以执行未曾见过的任务指令。

然而,抛开机器人技术不谈,现有的视觉和语言基础模型(如CLIP、SigLIP、Llama 2)已经展示了更强的泛化能力,这得益于其大规模互联网数据预训练中捕捉到的先验知识。

由于机器人数据集规模远不及互联网数据集(即使最大的机器人操作数据集也只有10万至1百万个样本),因此直接复制这种规模的预训练对机器人来说仍然是一个开放性的挑战。

但是呢,这种不平衡也提供了一个机会:利用现有的视觉和语言基础模型作为构建模块来训练能够超越训练数据范围进行泛化的机器人策略。

现有工作与问题

最近的工作尝试直接学习视觉-语言-动作(VLA)模型以实现控制。通过微调视觉条件下的语言模型(VLMs),VLAs可以直接生成机器人的控制动作。

这种方法使得像RT-2这样的模型展示了显著的鲁棒性和泛化能力,成为通用机器人策略的新标杆。但是,现有VLA模型主要存在两个阻碍广泛应用的问题:

  1. 封闭性:目前的模型大多为闭源,缺乏关于模型架构、训练过程和数据组合的透明度。

  2. 缺乏部署指南:现有文献未能提供最佳实践来指导如何在新的机器人、环境和任务上部署和适应VLA,特别是在商品级硬件(如消费级GPU)上的应用。

OpenVLA介绍

为了促进未来的研究和发展,机器人领域需要类似开源语言模型生态系统的开源、通用的VLA,支持有效的微调和适应。基于此,作者提出了OpenVLA——一个70亿参数的开源VLA,它在通用机器人操作策略方面设立了新的最先进标准。

它由一个预训练的视觉条件语言模型主干组成,该模型能够在多个粒度级别上捕捉视觉特征,并在一个包含97万个机器人操作轨迹的大规模多样化数据集上进行了微调。

这个数据集涵盖了广泛的机器人形态、任务和场景。在WidowX和Google Robot形态上的29项评估任务中,比之前最先进的550亿参数的RT-2-X模型高出16.5%的成功率。

模型结构

image.png

如上图,OpenVLA 是一个70亿参数的视觉-语言-动作(Vision-Language-Action, VLA)模型,它在接收图像观察和语言指令后预测7维的机器人控制动作。其架构由三个关键组件组成:

  1. 视觉编码器:结合了Dino V2 和 SigLIP 的特征。
  2. 投影器:将视觉特征映射到语言嵌入空间。
  3. LLM主干:基于70亿参数的Llama 2大型语言模型 。
架构细节
视觉-语言模型(VLM)基础

大多数现代VLMs架构包含三大部分:

  • 视觉编码器:将图像输入映射为一系列"图像patch嵌入"。
  • 投影器:将视觉编码器的输出嵌入映射到语言模型的输入空间。
  • 大型语言模型(LLM)主干:处理来自视觉和语言数据的配对或交错输入,并通过预测下一个文本token进行端到端训练。

在本工作中,作者基于Prismatic-7B VLM 进行构建,该模型具有6亿参数的视觉编码器、小型的两层MLP投影器以及70亿参数的Llama 2语言模型主干。

值得注意的是,Prismatic使用了一个双部分的视觉编码器,包括预训练的SigLIP 和 DinoV2 模型。输入图像patch分别通过两个编码器,然后通道级联得到的结果特征向量。

相较于CLIP或仅SigLIP编码器,添加DinoV2特征有助于提升空间推理能力,这对于机器人控制特别有帮助。

OpenVLA 训练过程

为了训练OpenVLA,作者在预训练的Prismatic-7B VLM主干上进行了微调以预测机器人动作。我们将动作预测问题表述为一个“视觉-语言”任务,即输入观察图像和自然语言任务指令被映射到一系列预测的机器人动作。

为了让VLM的语言模型主干能够预测机器人动作,我们将连续的机器人动作映射到离散的token,这些token由语言模型的分词器使用。具体来说,每个动作维度被单独离散化为256个bin中的一个。为了提高离散化的效果,我们使用了动作数据的1%至99%分位数之间的均匀间隔来设置每个bin的宽度,而不是最小值和最大值,这样可以忽略掉可能大幅扩展离散化区间的数据异常值,从而保持较高的离散化精度。

由于Llama分词器只为微调期间新引入的token预留了100个“特殊token”,不足以覆盖我们的256个动作token,因此我们选择了覆盖Llama分词器词汇表中使用最少的256个token(即最后256个token),用作我们的动作token。

一旦动作被处理成token序列,OpenVLA就以标准的下一个token预测目标进行训练,只评估预测的动作token上的交叉熵损失。

训练数据

OpenVLA的训练数据来源于Open X-Embodiment数据集,这是一个包含超过70个独立机器人数据集的大规模集合,拥有超过200万条机器人轨迹。

为了确保训练数据的连贯性和多样性,我们对原始数据集进行了多步筛选和加权处理,以保证训练数据集中不同机器人形态、任务和场景的平衡分布。

关键设计决策
  • VLM主干选择:经过实验比较,作者选择了Prismatic作为VLA模型的主干,因为它在多对象场景中的语言接地任务上表现最好,这归功于融合了SigLIP-DinoV2的主干所提供的改进的空间推理能力。
  • 图像分辨率:考虑到高分辨率图像会显著增加计算需求,而作者未发现更高分辨率(如384x384px)带来性能增益,最终选择了224x224px的输入图像分辨率。
  • 视觉编码器微调:尽管冻结视觉编码器通常能保留从大规模互联网预训练中学到的鲁棒特征,但作者发现微调视觉编码器对于良好的VLA性能至关重要,因为预训练的视觉主干可能无法捕捉到场景中重要部分的足够细粒度的空间细节,而这对于精确的机器人控制是必要的。
  • 训练轮次:与典型的LLM或VLM训练不同,作者发现VLA训练需要多次遍历训练数据集,以达到最佳性能。
实验

理论结合实际,我们来看看在实际的实验场景中,OpenVLA能取得怎样的效果:

当然,我们还是得首先来说一说它的Setup,也就是实验的设置部分:

OpenVLA的性能在两个不同的机器人平台上进行了“开箱即用”的评估:

  1. WidowX:来自BridgeData V2评估 [6],该平台广泛用于评估通用机器人策略。
  2. 移动操作机器人(Google Robot):从RT-1和RT-2评估中使用的平台。

这两个平台均已被先前的研究广泛使用,以评估通用机器人策略的表现。每个环境定义了一套全面的评估任务,涵盖了视觉、运动、物理和语义等多个维度的泛化能力测试。

它的评估任务包括但不限于:

1、视觉泛化:处理未见过的背景、干扰物体以及物体的颜色/外观变化。

2、运动泛化:适应未见过的物体位置或方向。

3、物理泛化:应对未见过的物体大小或形状。

4、语义泛化:理解和执行涉及互联网概念的新目标物体、指令等任务。

此外,还评估了模型在多对象场景中的语言条件反射能力,测试其能否根据用户的提示操纵正确的目标物体。

总体而言,在BridgeData V2实验中,作者对每种方法进行了170次rollout(17个任务,每个任务10次试验),而在Google机器人实验中则进行了60次rollout(12个任务,每个任务5次试验)。所有评估均采用A/B对比方式,使用相同的任务和初始状态集,以确保比较的公平性。

比较对象

作者将OpenVLA的表现与三个先前的通用操作策略进行了对比:

点击具身智能的大模型?——OpenVLA查看全文。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值