OpenVLA 概述:开源版的通用 VLA 模型
随着机器人动作预测策略日趋成熟(如 ACT、Diffusion Policy),为了提升泛化能力,利用预训练大语言模型的广泛知识并增加 Policy Head 成为典型路径。随后出现了更多成熟的专用 VLA 模型,例如 OpenVLA。
通用机器人的核心发展方向在于「预训练 - 微调」模式,即通过同一套策略算法操作不同机器人。虽然 π0 等模型代表了这一方向,但 OpenVLA 作为早期开源方案,其架构思路依然极具参考价值。它相当于 RT-2 的开源版,支持开箱即用控制多个机器人,并能通过参数高效微调适应新环境。
基于 Open-X Embodiment 数据的 7B 模型微调
2024 年 6 月,来自斯坦福大学、UC Berkeley、Google DeepMind 等机构的研究者推出了 OpenVLA。其论文《OpenVLA: An Open-Source Vision-Language-Action Model》详细阐述了模型细节。
这是一个具有 70 亿参数的开源视觉 - 语言 - 动作模型(VLA)。它由一个预训练的视觉条件语言模型骨干组成,在 Open-X Embodiment 数据集中的 97 万条机器人操作轨迹上进行了微调。该数据集涵盖了广泛的机器人形态、任务和场景。
背景与动机
当前机器人策略存在关键弱点:无法超越训练数据进行泛化。虽然现有策略能在物体位置或光照变化下外推行为,但在面对场景干扰物或新颖物体时缺乏鲁棒性。
相比之下,CLIP、SigLIP 和 Llama 2 等基础模型具备强大的泛化能力。尽管在机器人领域复现大规模预训练仍是难题,但这带来了机遇:可以利用现有的视觉和语言基础模型作为核心构建模块。
现有研究已探索将预训练模型整合用于机器人表征学习。最近,这些模型被直接用于学习视觉 - 语言 - 动作模型(VLAs)以进行控制。依托于互联网规模数据训练的基础模型,诸如 RT-2 等 VLA 展现出令人印象深刻的鲁棒性。
然而,现有 VLA 尚未广泛应用,主要原因有二:
- 闭源模型透明度有限;
- 缺乏部署适配至新型机器人及消费级硬件的最佳实践。
为此,作者推出了 OpenVLA,采用端到端方法,直接将机器人动作视为语言模型词汇表中的 token 来生成控制指令。
模型架构:Prismatic-7B VLM
大多数最新 VLM 的架构一般由三部分组成:视觉编码器、投影器、大型语言模型(LLM)骨干。
OpenVLA 基于 Prismatic-7B VLM 构建,包含以下组件:
- 视觉编码器:600M 参数,由预训练的 SigLIP 和 DinoV2 模型组成。输入图像块分别通过这两个编码器,随后特征向量按通道拼接。添加 DinoV2 特征有助于改善空间推理,这对机器人控制尤为重要。
- 注:后续更高效的模型如 π0 仅使用 SigLIP,而 OpenVLA 早期版本 openvla-v01-7b 也证明了单一 SigLIP 骨干仍能取得强劲性能。
- 投影器:两层小型 MLP。
- 语言模型骨干:70 亿参数的 Llama 2。
选择 Prismatic 的原因在于其融合了 SigLIP-DinoV2 主干提供的改进空间推理能力,且提供了模块化且易于使用的代码库。
关于训练细节:
- 分辨率:最终选择 224×224 像素,因为 384×384 虽计算量大三倍,但评估中未发现性能差异。
- 轮次:VLA 训练需显著增加迭代次数,实际性能直到动作 token 准确率超过 95% 才趋于稳定,最终完成了 27 个轮次。
- 学习率:固定学习率 2e-5 效果最佳,无需预热。
训练机制:离散化动作预测
为了训练 OpenVLA,作者对预训练的 Prismatic-7B VLM 主干进行微调,以实现机器人动作预测。
作者将动作预测问题表述为'视觉 - 语言'任务,输入的观测图像和自然语言任务指令被映射为一串预测的机器人动作。
- 动作离散化:为了使 VLM 能够预测动作,作者将连续的机器人动作映射到语言模型的分词器使用的离散 token。类似 RT-2 的方法,将每个动作维度分别离散化为 256 个区间中的一个。
- Token 覆盖:Llama 分词器仅为微调预留了 100 个特殊 token,不足以满足 256 个动作 token 的需求。因此,作者简单地用动作 token 覆盖 Llama 分词器词表中频率最低的 256 个 token(即最后 256 个 token)。


