news 2026/6/13 4:47:52

离线动作VLA模型---OpenVLA算法原理详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
离线动作VLA模型---OpenVLA算法原理详解

目录

一、背景与动机

1.1 从 NLP/CV 到机器人:基础模型范式

1.2 VLA概念

1.3 为什么需要 OpenVLA

二、模型架构

2.1 视觉编码器:双编码器融合

2.2 语言模型骨干:Llama2 7B

2.3 动作空间与输出

三、动作 Token 化

3.1 离散化方法

3.2 分词器词汇表的调整

3.3 训练目标

四、OpenVLA 的意义和局限性

4.1 意义

4.2 局限性

五、后续改进:OpenVLA-OFT+


OpenVLA 总览:左侧为大规模机器人训练数据(970K episode),中间为基础 VLM(ViT + Llama2 7B)微调得到 VLA,右侧为闭环机器人控制策略。模型支持多机器人控制与高效微调,所有数据、权重和代码完全开源。

一、背景与动机

1.1 从 NLP/CV 到机器人:基础模型范式

在自然语言处理和计算机视觉领域,一个被反复验证的成功范式是:

1)在海量数据上预训练一个大规模基础模型(Foundation Model)
2)在特定下游任务上微调或零样本部署

这个范式在 BERT、GPT、ViT 等工作中取得了巨大成功。然而在机器人领域,这条路一直走不通---核心瓶颈是数据。真实世界的机器人数据需要实际硬件采集,成本远高于文本和图片。

然而两个关键进展改变了这一局面:

1)Open X-Embodiment 数据集: 聚合了来自 20+ 机构、20+ 种机器人的超过 200 万条 episode,第一次为通用机器人基础模型提供了足够大规模的真实数据来源。
2)RT-2(Robotics Transformer 2):将预训练视觉-语言模型(VLM)微调用于机器人控制,并首次明确提出 VLA 概念,证明了 VLM ---> VLA 这条路线是可行的。

1.2 VLA概念

VLA(Vision-Language-Action MOdel)是 RT-2 提出的术语,指的是:

符号含义
时刻 t 的图像观测
自然语言任务指令,如 “put the eggplant into the pot”
机器人动作(末端执行器的位姿变化量)

核心思想:VLM 在互联网规模的预训练中积累了丰富的语义知识(物体识别、空间关系、语言理解),这些知识可以迁移到机器人控制中,增强策略的泛化和推理能力。

1.3 为什么需要 OpenVLA

RT-2 验证了 VLA 的可行性,但它和后续的 RT-2-X(550 亿参数) 都是闭源的,其他研究者无法使用和改进。当时已有的开源方案 (如 Octo) 虽然支持多机器人,但架构复杂,且不是端到端的 VLM 微调路线。

OpenVLA 的目标:

1.开发一个强大的开源 VLA 模型:在真实机器人数据上预训练

2.提供高效的下游任务适配框架(支持 LORA 等参数高效微调)

3.完全开源所有代码、模型权重和数据配置

二、模型架构

如下图为通用机器人基础模型发展脉络:从 BC-Zero、RT-1、RT-2 等早期大规模但偏闭源的模型,到 Open-X、DROID 等开放数据集的发布,再到 OpenVLA、、SmoIVLA 等可管理规模的开源模型,OpenVLA位于 2024 年开源 VLA 发展的关键转折点。

OpenVLA 模型架构如下图所示:输人图像分别经过 DINOv2 和 SigLIP 双视觉编码器提取特征;通过 MLPProjector 将视觉特征投影到语言模型输人空间,形成视觉 token;语言指令 “Put eggplant in bowl” 经 Llama Tokenizer分词后与视觉 token 拼接,按论文中的 “[What action should the robot take to {instruction}?” 模板组织;Llama 27B 自回归生成动作 token,经Action De-Tokenizer解码为7维机器人动作

OpenVLA 是一个 70 亿参数的 VLA 模型,构建在 Prismatic VLM 之上。整体架构非常简洁,图像和语言指令作为输人,经过视觉编码、投影、语言模型处理后,直接输出 token 化的机器人动作。

2.1 视觉编码器:双编码器融合

OpenVLA 使用双视觉编码器(Dual Vision Encoder),将两个互补的预训练视觉模型的特征融合:

编码器擅长作用
DINOv2空间感知、细粒度几何特征提供精确地空间表示,帮助机器人定位物体
SigLIP图像--语言对齐、高级语义特征提供语义理解能力,连接视觉与语言

两个编码器分别处理输入图像,输出的特征在通道维度上拼接(channel-wise concatenation),然后通过一个 MLP 投影器映射到语言模型的输人空间:

符号含义
图像 patch token 的数量
两个编码器各自的特征维度
语言模型的隐层维度(Llama2 7B 为 4096 )

实验表明,加入 DINOv2 有助于提高空间推理能力,双编码器的组合优于单独使用任一编码器。

2.2 语言模型骨干:Llama2 7B

OpenVLA 的核心骨干是 Llama 2 7B,一个 70 亿参数的大语言模型,该模型以标准 transformer 架构为基础,具体细节此处不做介绍。

模型接收两类 token 作为输入:
1. 视觉 token:由双视觉编码器 + MLP 投影器生成
2. 语言 token:由 Lama 分词器对语言指令进行分词得到

模型以自回归方式输出7个动作 token,对应一个时间步的机器人动作。

2.3 动作空间与输出

OpenVLA 输出的是单步末端执行器动作,采用增量(delta) 表示:

维度含义说明
末端执行器位置变化量在机器人基座坐标系下
末端执行器姿态变化量欧拉角增量
g夹爪开合程度连续值,表示张开/闭合程度

这是一个7维的动作向量。使用增量表示而非绝对位姿,是因为增量在不同机器人之间更具迁移性---------不同机器人的关节空间不同,但末端执行器的笛卡尔空间增量是通用的。

三、动作 Token 化

将连续的机器人动作转化为离散 token 是 OpenVLA 的关键设计之一,使动作预测可以直接复用语言模型的自回归生成框架,无需修改架构。

3.1 离散化方法

对于 7 维动作向量的每个维度,OpenVLA 采用基于分位数的均匀离散化:

1)统计训练数据中该维度动作值的第 1 分位数和第 99 分位数

2)将 [] 区间均匀划分为 256 个 bin (编号 0~255)

3)将连续动作值映射到对应的 bin 编号

符号含义
第 i 维的连续动作值
该维度训练数据的第 1 和第 99 分位数
离散化后的 bin 编号,取值 {0,1,......255}

动作 token 化:

OpenVLA会将动作 a映射到[−1,1]的区间,对称区间 [−1,1] 表示动作是具有正负方向性的连续控制量(如向左/向右移动)。

使用分位数的好处是忽略异常值:如果直接用 min-max 区间,少数极端动作会把整体范围拉大,导致常见动作落入更粗的离散区间;分位数方法剔除了前后各1%的极端值,从而保留更有效的分辨率。
举例说明:假设某一维动作在训练集中的第 1 分位数和第 99 分位数分别为,当前动作值为,那它在区间中的相对位置为:

在与256相乘并向下取整,得:

即该连续动作值会被编码为第 128 个离散 bin 。动作值越靠近区间中间,就会被映射到越靠近中间的 bin;超过区间上下界的值则会被 clip 到 0或 255。

3.2 分词器词汇表的调整

离散化后,每个动作维度变成一个 0~255 的整数。但 Llama2的分词器并不能把这些整数自然地高效表示成单个原子 token。比如表示“132”时,往往需要拆成多个 token,这会让动作序列变得冗长。论文中解决方案是:覆盖词汇表中最低频的256个token:

具体做法是:在 lama2 的词汇表中,找到使用频率最低的 256 个位置,将它们重定义为动作 bin 编号 0~255 对应的动作 token。这样每个动作维度只需1个 token 表示,7 维动作只需7个 token。

这种方法的代价是:被覆盖的低频词汇在微调后不再可用,语言模型的原始语言能力会受到一定影响。但模型定位本来就是机器人控制而非通用对话,因此作者认为这是可接受的工程折中。

3.3 训练目标

动作 token 化后,OpenVLA 的训练就变成了标准的自回归 next-token prediction:

自回归解码(左) vs 并行解码(右);OpenVLA 采用左侧的自回归方式:LLM 逐个生成动作token,每个 token 依赖前面所有 token。右侧的并行解码方式通过双向注意力同时生成所有动作 token,是后续改进工作 OpenVLA-OFT+ 采用的方案。

符号含义
模型参数化的条件概率
第 j 个动作 token
前 j-1 个已生成的动作 token

训练时,只对动作 token 计算损失,图像和语言 token 的损失被 mask 掉。这本质上是一个分类问题--对每个动作维度,模型从256个 bin 中选择一个。

四、OpenVLA 的意义和局限性

4.1 意义

OpenVLA 是 VLA 领域的一个里程碑式工作,其核心贡献在于:
1)验证了 ”小模型胜大模型” 的可能性:7B 参数的 OpenVLA 在多数任务上超越了 55B 的 RT-2-X,说明数据多样性和架构设计比单纯堆参数更重要;
2)建立了 VLA 的开源基准:几乎所有后续 VLA 工作( 如 OpenVLA-OFT、等)都将 OpenVLA作为 baseline 进行对比;
3)证明了 VLM --> VLA 微调路线的有效性:不需要从头设计复杂架构,直接在成熟的 VLM 上微调即可获得强大的机器人控制能力;
4)降低了 VLA 研究的门槛:完全开源 + LoRA 微调 + INT4 量化,使得在消费级硬件上训练和部署 VLA 成为可能;

一句话总结:OpenVLA 用 Prismatic VLM(DINOv2 + SigLIP + Llama 2 7B)作为骨干将连续动作离散化为 token,通过自回归 next-token prediction 实现端到端的视觉-语言-动作映射,是开源 VLA 的第一个成熟方案。

4.2 局限性

OpenVLA 的局限性也可以直接概括为四点:

1)时序建模能力有限:原版 OpenVLA 只看单帧、只输出单步动作,不支持多帧历史和 action chunking。

2)控制频率有限:7B 自回归解码带来的推理延迟较大,因此不适合高频闭环控制,也不直接支持双臂精细操作。

3)存在灾难性遗忘:只在机器人数据上微调会削弱原始 VLM 的语言与 VQA 能力。

4)动作 token 方案不够优雅:覆盖低频词汇虽然简单有效,但会破坏原始词表结构,后续工作更倾向于采用更干净的动作表示方法。

五、后续改进:OpenVLA-OFT+

OpenVLA-OFT+ 针对原版 OpenVLA 的局限性进行了改进升级:

OpenVLA-OFT+ 架构:支持多相机输人(第三人称 + 左右腕部相机),视觉编码器仍为 SigLIP+ DINOv2、通过 FiM(Feature-wise Linear Modulation) 将本体感知(当前关节角度)和任各描述注入视觉特征。LLM 骨干仍为 Llama2 7B,但输出端改为并行解码,一次生成 25 步的 action chunk,每步为 14 维绝对关节角度目标。该架构可部署在 ALOHA 双臂机器人上。

相比原版 OpenVLA,OFT+ 的主要改进包括:

维度OpenVLAOpenVLA-OFT+
输入图像单张第三人称图像多相机(第三人称+腕部相机)
本体感知不使用通过 FiLM 注入当前关节角度
动作表示离散 token (256 bin)连续值,L1 回归
动作维度7 维末端执行器增量14 维绝对关节角度(支持双臂)
解码方式自回归(逐 token 生成)并行解码(bidirectional attention)
Action chunking不支持(单步输出)支持(25 步 chunk)
目标平台单臂机器人ALOHA 双臂机器人

OFT+ 的核心设计变化

1、并行解码代自回归:原版 OpenVLA 逐个生成7个动作 token,推理速度受限于串行 forwardpass 次数。OFT+ 使用双向注意力(bidirectional attention),一次 forward pass 并行输出所有动作 token,大幅提升推理速度。

左侧对应原版 OpenVLA 的自回归动作生成;右侧对应 OFT+采用的并行解码方式,可一次性输出整段动作序列。

2、连续动作回归替代离散分类:不再将动作离散化为 256 个 bin,而是直接回归连续值,使用 L1 损失训练。这避免了离散化带来的精度损失。
3、Action chunking:一次输出 25 步动作,结合并行解码,在保持高控制频率的同时实现了短时规划能力。
4、FiLM 条件注人:通过 Feature-wise Linear Modulation 将本体感知信息(关节角度)注入视觉特征,让模型能感知机器人自身状态,而不仅仅依赖图像隐含的位姿信息。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/13 4:41:54

Python asyncio实战指南:从事件循环原理到生产避坑

1. 这不是又一篇“async/await入门教程”——它是一份异步编程的实战生存手册你点开这个标题,大概率已经经历过那种深夜调试的窒息感:明明代码逻辑清晰,API调用也写了await,可程序跑起来还是卡在某个HTTP请求上,CPU空转…

作者头像 李华
网站建设 2026/6/13 4:39:54

CLion 2025.1.1 非商业免费版 介绍与完整部署教程

一、产品概述 JetBrains 于 2025 年 5 月 7 日发布公告,CLion 从 2025.1.1 版本开始面向非商业用途全面免费开放。CLion 是 JetBrains 推出的跨平台 C/C 集成开发环境,自 2015 年正式发布,凭借完善的代码编辑、调试、工程管理能力&#xff0…

作者头像 李华
网站建设 2026/6/13 4:38:51

如何在5分钟内将OBS直播流转换为RTSP协议:obs-rtspserver终极指南

如何在5分钟内将OBS直播流转换为RTSP协议:obs-rtspserver终极指南 【免费下载链接】obs-rtspserver RTSP server plugin for obs-studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-rtspserver 你是否曾遇到过这样的困境:想要将OBS的专业直…

作者头像 李华
网站建设 2026/6/13 4:37:51

多维聚合实战:超越GROUP BY的数据立方体操作指南

1. 项目概述:多维聚合中的数据操作,远不止GROUP BY那么简单“Part 20: Data Manipulation in Multi-Dimensional Aggregation”这个标题乍看像教科书某章编号,但实际踩中了数据分析和商业智能工程中最常被低估、最易出错、也最具业务价值的一…

作者头像 李华