ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

具身智能论文学习9:OpenVLA: An Open-Source Vision-Language-Action Model ​(首个开源的VLA)

具身智能论文学习9:OpenVLA: An Open-Source Vision-Language-Action Model ​(首个开源的VLA) 第一部分基本收录情况项目内容论文题目OpenVLA: An Open-Source Vision-Language-Action Model正式会议The 8th Conference on Robot Learning会议简称CoRL 2024会议时间2024年11月6日至9日会议地点德国慕尼黑正式论文集Proceedings of The 8th Conference on Robot Learning出版系列Proceedings of Machine Learning ResearchPMLR卷号Volume 270页码2679–2713论文集出版年份2025论文性质正式会议长文奖项情况CoRL 2024 Outstanding Paper Award Finalist获CoRL 2024杰出论文奖提名入围杰出论文奖最终候选。Stanford / UC Berkeley 主导联合 Toyota Research Institute、Google DeepMind 等机构共同完成第二部分解决的问题RT-2-X强 Internet-VLM 多机器人 VLA​但是闭源、难研究、难微调​Octo开源 多机器人 灵活微调​但是不是以强大的Internet-pretrained VLM为核心的典型 VLA​于是 OpenVLA 想做没有使用diffusion policy策略RT-2-X 的强 VLM/VLA 路线Octo 的开放、跨机器人、可适配理念第三部分OpenVLA相比于RT2-X的改进1更强、更丰富的 VLA 训练基础970KOpenX Robot Demonstrations更仔细的数据清洗​相比 RT-2-X 约350K的机器人训练数据OpenVLA 使用更大的数据混合。2更强且开放的 VLM BackboneRT-2-X的视觉侧主要是“单个 ViT”而 OpenVLA 改成了“SigLIP DINOv2 双视觉编码器融合”RT-2-XViT UL2PaLI-XOpenVLASigLIP DINOv2→Llama 2 7B​不仅融合语义与空间视觉特征而且整个 OpenVLA 最终只有7B远小于 RT-2-X 的55B。论文明确把 fused vision encoder 作为性能差异来源之一。3首个真正开放、可高效适配的 Generalist VLA这其实是 OpenVLA 最有辨识度的一点模型权重 训练代码 Fine-tuning Pipeline​全部开放而且系统研究Full FT / Frozen Vision / Sandwich / LoRA最终LoRA只训练1.4%参数≈Full Fine-tuning性能​。第四部分OpenVLA核心框架1输入输出流程Figure 2展示了OpenVLA的具体模型结构。模型同时接收当前机器人图像和语言任务指令。图像分别经过DINOv2与SigLIP双视觉编码器以提取空间局部特征空间状态关系和视觉—语言语义语义表达含义特征两类特征在通道维度拼接后由两层MLP Projector映射到Llama 2的语言嵌入空间形成视觉token。语言指令则按照固定提示模板组织并通过Llama tokenizer转换为语言token。视觉token和语言token共同输入Llama 2 7B模型自回归生成7个离散动作token。最后Action De-Tokenizer将动作token恢复为三维末端位置增量、三维旋转增量和夹爪动作从而得到机器人可执行的7维连续控制指令。图像RGB Image→DINOv2 SigLIP并行→特征拼接→MLP Projector→Visual Tokens​文本Language→Llama Tokenizer→Language Tokens​然后两条线汇合Visual TokensLanguage Tokens→Llama 2 7B→7 Action Tokens→Action De-Tokenizer→7D Robot Action​OpenVLA 当前就是单张 observation image language instruction图像语言指令①图像假设图片被处理成个 patch即同一张图经过双编码器每个 patch 都得到两套视觉表示以DINOv2 为例会给每个 patch 生成一个特征向量所以全部个 patch 的 DINO 特征堆起来就是例如对于第个 image patch是“桌子上的紫色茄子”那么更偏空间、局部信息更偏高层视觉语义。然后进行 DINOv2 SigLIP特征拼接整个图像维度变成但是DINOv2/SigLIP 输出的 feature 维度不一定等于 Llama 的 embedding 维度所以需要其中是 Figure 2 中的MLP Projector论文使用小型2-layer MLP projector可以抽象写成得到对应就是Visual Embeddings / Visual Tokens​对应白色格子。②文本语言指令经过提示词模板prompt template 组织如得到统一标准格式然后将上面生成的Prompt送进 Llama Tokenizer得到真正的离散 Llama token IDs接着查 Llama 的 embedding table得到其中对应就是生成的绿色格子。③图像文本特征拼接视觉其中语言其中二者维度一样所以直接组成一个序列即④Llama 2 生成 Action Token输入然后进入然后自回归预测动作 token。7D 动作对应每一个维度对应一个 Action Token。末端位置增量末端旋转增量夹爪动作。⑤动作离散化与 Token 映射与RT-2类似每个动作维度独立离散为256个bin原始机器人动作每一维本来是连续数值。但OpenVLA对离散区间做了一个改进。RT-2的做法主要根据动作最小值和最大值建立区间。OpenVLA的做法使用训练数据的1%分位数到99%分位数划分256个区间。也就是这样能够忽略极少数异常动作避免异常值把离散范围拉得过大。如果直接使用min-max绝大部分动作集中在很小范围 一个异常大动作 → 离散区间被拉得很宽 → 正常动作量化精度下降使用1%—99%分位数可以提高有效动作分辨率。⑥恢复动作Action De-Tokenizer按照相反的操作恢复得到对应的动作2OpenVLA模型组件详细内容①双视觉编码器同一张图像分别输入 DINOv2和SigLIP两者各自提取视觉特征然后在通道维度拼接。SigLIP偏向什么SigLIP通过图像—文本预训练更擅长物体语义图像和语言匹配开放词汇识别指令中的目标物体定位。DINOv2偏向什么DINOv2主要从图像自监督学习更有利于空间结构局部视觉细节物体几何精确位置和姿态。因此作者希望融合SigLIP的高层语义DINOv2的空间与局部特征这对机器人既要“认对物体”又要“精确操作”非常重要。②MLP Projector视觉编码器输出的特征维度与Llama 2纯大语言模型的词嵌入空间不同。因此使用一个两层MLP进行投影投影后图像patch特征可以像语言token一样输入Llama 2。这与很多现代VLM的“patch-as-token”结构一致。③Llama 2 7BLlama 2同时接收投影后的视觉token语言指令token固定形式的机器人问题提示。论文示例提示为What should the robot do to {task}? A:然后模型生成机器人动作token。所以它仍然是把机器人控制转化成语言模型的下一token预测问题3训练目标训练时只在输出序列的动作token位置计算交叉熵不要求模型重建图像或生成输入提示文本但动作损失会通过反向传播更新负责图像编码、视觉投影、语言理解和动作生成的整个模型。OpenVLA采用标准下一token预测目标当前图像语言任务第个动作token。不过损失只计算在动作token上不要求模型重新学习生成提示文本。也就是说输入图像和语言→只监督动作token预测这是一个自回归分类交叉熵训练过程不涉及动作扩散。4训练数据OpenVLA使用Open X-Embodiment作为基础但没有直接把所有数据不加筛选地混合。作者主要做了以下筛选只保留机器人操作数据至少包含一个第三人称相机主要使用单臂机器人使用末端执行器控制统一输入和动作空间根据任务和场景多样性调整数据集权重。最终训练混合约包含970 000条机器人轨迹论文还尝试加入DROID数据权重约为10%但发现DROID动作token准确率始终较低因此在最后三分之一训练阶段将其移除。这说明更多数据并不一定直接更好数据清洗和混合比例很重要Table 3展示了OpenVLA机器人预训练阶段的数据混合方案。作者并未按照各数据集的原始轨迹数量直接进行比例采样而是参考Octo的数据混合策略根据机器人本体、任务和场景多样性为不同数据集设置采样权重。Bridge、Fractal和Kuka分别占13.3%、12.7%和12.7%是训练混合中的主要数据来源BC-Z和FMB也具有较高权重。较小或任务较单一的数据集则只占较低权重以补充特定机器人和操作能力。DROID最初以10%的权重加入但由于其动作token准确率在训练过程中持续较低作者在最后三分之一训练阶段将其移除并把相应权重重新分配给其他数据集。该表说明OpenVLA的性能不仅来自约97万条轨迹的规模还依赖数据筛选、采样平衡和训练过程中对数据混合的动态调整。5基础参数设计选择①输入分辨率选择224×224作者比较224×224与384×384结果没有发现明显性能提升但384分辨率训练时间约增加3倍。因此最终使用224×224这说明在当时的机器人任务中更高图像分辨率没有带来足够收益。②视觉编码器必须微调VLM训练中经常冻结视觉编码器以保留Web预训练视觉特征。但OpenVLA实验发现冻结视觉编码器会明显降低机器人控制性能。因为机器人控制需要非常精细的空间信息夹爪与物体距离物体边缘抓取点姿态小范围位置变化。所以OpenVLA对视觉编码器也进行微调。③需要多轮遍历机器人数据普通LLM/VLM训练往往只遍历数据1—2轮但OpenVLA发现机器人动作学习需要更多epoch。最终训练27个epochs作者观察到真实机器人性能会持续提高直到动作token训练准确率超过约95%。④学习率最终使用固定学习率2×10−5没有发现warmup带来明显收益。6训练和推理成本完整OpenVLA使用64张A100训练14天总计约21,500 A100 GPU小时batch size为2048。推理时bfloat16约需15—17GB显存RTX 4090约6Hz支持远程推理服务器可以通过量化进一步减少显存。所以它比RT-2-X小很多但“开源”不等于从头预训练成本很低。真正适合普通研究者的是下载预训练权重后进行微调而不是重新完成97万轨迹的完整预训练。第五部分论文实验1开箱即用的多机器人控制在两种机器人上测试WidowXGoogle Robot。对比RT-1-XOctoRT-2-XOpenVLA。结果显示OpenVLA在Google Robot上与RT-2-X相近在BridgeData V2 WidowX上整体明显高于RT-2-X但RT-2-X在语义泛化上仍然更强。论文将总体29项任务的结果概括为OpenVLA比RT-2-X绝对成功率高16.5个百分点同时7Bvs.55B 参数量约小7倍。Figure 3比较了RT-1-X、Octo、RT-2-X与OpenVLA在BridgeData V2 WidowX平台上的泛化能力。每种方法共进行170次真实机器人rollout任务覆盖视觉泛化、运动泛化、物理泛化、语义泛化和语言指令定位。OpenVLA总体成功率达到70.6%明显高于RT-2-X的50.6%、Octo的20.0%和RT-1-X的18.5%。OpenVLA在视觉泛化、运动泛化、物理泛化和语言指令定位上均取得最高成功率特别是在视觉泛化和物理泛化中分别达到87.0%和76.7%。在语义泛化中RT-2-X以38.8%略高于OpenVLA的36.3%可能与RT-2-X在机器人训练期间继续混合Web视觉语言数据有关。该结果表明OpenVLA在视觉场景变化、空间控制和物理属性变化方面具有较强泛化能力但其互联网语义知识迁移仍存在提升空间。Figure 4展示了四种通用机器人策略在Google Robot平台上的分布内和分布外评测结果。每种方法共进行60次rollout。OpenVLA总体成功率为85.0%RT-2-X为78.3%二者明显高于RT-1-X和Octo。对于训练数据中已经出现过的任务与条件OpenVLA取得88.0%的成功率高于RT-2-X的72.0%在包含新物体、新任务、新背景和新语义概念的OOD测试中OpenVLA与RT-2-X均达到82.9%。因此在Google Robot上OpenVLA和RT-2-X表现总体可比而OpenVLA在参数规模仅为7B、约为RT-2-X七分之一的情况下仍保持了较强的开箱控制和分布外泛化能力。2微调到新机器人论文在Franka机器人上测试微调Franka-TabletopFranka-DROID7类任务每个任务使用约10—150条示范。对比Diffusion PolicyDiffusion Policy matchedOctoOpenVLA scratch预训练OpenVLA微调。结果有一个很重要的细分单一指令、窄任务Diffusion Policy可能更精确、更平滑。例如只有一个固定目标的操作把胡萝卜放进碗里\text{把胡萝卜放进碗里}把胡萝卜放进碗里多物体、多指令任务OpenVLA表现更好因为它具有更强的语言理解和目标物体定位能力。例如根据指令选择不同物体场景中存在干扰物一个模型处理多条不同指令。总体上OpenVLA取得最高平均成功率。Figure 5评估了通用机器人策略适配新机器人设置和下游任务的能力。作者在Franka-Tabletop与Franka-DROID两种设置的七项任务上为每项任务采集10—150条示范并比较从头训练的Diffusion Policy、与OpenVLA输入输出规格匹配的Diffusion Policy、经OpenX预训练的Octo、未经过OpenX机器人预训练的OpenVLA scratch以及正式OpenVLA。结果表明完整Diffusion Policy在部分窄范围单指令和高精度操作任务中表现较强而OpenVLA与Octo在包含多个物体、干扰物和多种语言指令的任务中更具优势。OpenVLA总体成功率达到63.8%高于Diffusion Policy的43.4%、Octo的41.5%和OpenVLA scratch的35.2%并且是唯一在所有任务上均达到至少50%成功率的方法。正式OpenVLA相较OpenVLA scratch提高28.6个百分点说明97万条OpenX机器人轨迹预训练对于将通用视觉语言知识转化为可迁移的机器人控制能力具有关键作用。3LoRA与量化LoRA微调全参数微调成功率 69.7%LoRA rank 32 68.2%二者非常接近。但LoRA只训练 97.6M参数约占完整模型 1.4%所以LoRA可以在单张A100上用10—15小时完成新任务微调。论文推荐默认 r324-bit量化结果为精度成功率显存bfloat1671.3%16.8GBint858.1%10.2GBint471.9%7.0GB最有意思的是int4效果与bfloat16基本相同同时显存从 16.8GB→7.0GB减少一半以上。int8反而表现较差论文认为主要不是量化精度本身而是int8推理速度过慢导致控制频率从接近训练时的5Hz下降到约1.2Hz改变了机器人系统动力学。Figure 6比较了OpenVLA在不同GPU与不同数值精度下的推理吞吐率纵轴表示每秒生成的完整7维机器人动作数量。bfloat16和4-bit量化在较新的GPU上具有较高速度其中RTX 4090上分别达到约6.2和6.0个动作每秒。相比之下论文使用的int8实现因量化算子和反量化开销在A5000、A100和RTX 4090等GPU上反而明显更慢。老旧GPU还可能需要将模型拆分到两张显卡上才能运行。该结果说明较低位数量化并不一定自动带来更高速度实际吞吐率还取决于硬件架构和推理框架的优化程度。Table 2比较了bfloat16、int8和int4推理在BridgeData V2真实机器人任务中的成功率与显存占用。bfloat16成功率为71.3%显存占用16.8GB4-bit量化将显存降低到7.0GB同时取得71.9%的成功率与bfloat16基本一致。int8虽然将显存降到10.2GB但成功率下降到58.1%。结合Figure 6可知该下降主要与int8推理吞吐率过低、闭环控制频率下降有关而不能简单归因于8-bit数值精度本身。结果表明4-bit量化能够在基本保持真实机器人性能的同时将OpenVLA的显存需求减少一半以上是更适合低成本部署的方案。六、微调细节1OpenVLA中微调模块OpenVLA进行LoRA微调时会冻结原始模型权重并在DINOv2、SigLIP、MLP Projector和Llama 2等模块内部的线性层上加入低秩适配矩阵。训练时只更新这些新增的LoRA参数使视觉表征、视觉—语言映射和动作token生成共同适应目标机器人。Token embedding、LayerNorm以及确定性的Action De-Tokenizer不应笼统理解为都会加入LoRA。OpenVLA的完整计算链是图像→DINOv2SigLIP→MLP Projector→Llama 2→动作token可以分成四部分。部分作用DINOv2SigLIP提取物体语义、位置和空间视觉特征MLP Projector把视觉特征映射到Llama的嵌入空间Llama 2 7B融合图像与语言并自回归预测动作tokenToken embedding/output layer表示和预测256种动作token阶段起点数据结果建议称呼Web训练各基础模型互联网图像、文本、图文Prismatic VLMWeb预训练OpenVLA训练Prismatic VLM97万条机器人轨迹通用OpenVLA大规模机器人预训练VLM动作微调下游适配LoRA通用OpenVLA10—150条目标机器人示范专用机器人策略下游微调第二阶段到第三阶段训练并发布了一个可以被其他研究者直接下载、研究和使用LoRA适配到新机器人的通用VLA基础模型。这里的Action De-Tokenizer主要负责 动作token→连续数值动作它基本是一个确定性的量化反转换过程通常没有一套需要单独学习的“大型动作模块”。因此不能简单理解成视觉模块冻结 文本模块冻结 只训练动作头OpenVLA论文恰恰发现只训练末层或冻结视觉编码器效果明显较差。2默认的全参数微调更新的模块论文Section 5.2中的Full Fine-Tuning是更新OpenVLA的全部权重包括DINOv2和SigLIP视觉编码器MLP视觉投影器Llama 2 Transformer各层token embedding最终词表输出层包括动作token的预测参数。可以理解为动作预测错误 ↓ 更新Llama动作生成能力 ↓ 更新语言与视觉融合方式 ↓ 更新Projector ↓ 更新视觉编码器对目标场景的表示附录也明确说明在训练OpenVLA时作者微调了包括SigLIP-DINOv2视觉骨干在内的全部参数因为微调视觉编码器会得到明显更好的机器人策略。所以损失只在动作token上计算≠只微调动作输出层动作损失会反向传播到整个可训练网络。3论文比较的多种微调方式Table 1比较了通用OpenVLA适配下游Franka任务时的多种微调策略。全参数微调取得69.7%的成功率但需要更新约71.88亿参数并依赖两张GPU进行FSDP分片。只微调最后一层和冻结视觉编码器的成功率分别只有30.3%和47.0%说明新机器人适配不能只调整动作输出端视觉表示也必须发生变化。Sandwich微调取得62.1%的成功率处于中间水平。LoRA rank 32仅训练约9760万参数占完整模型约1.4%却达到68.2%的成功率与全参数微调基本相当。将rank增加到64后可训练参数翻倍但成功率仍为68.2%未带来明显收益。因此论文将LoRA rank 32视为性能与计算成本之间最优的折中方案。Table 1比较了五种方案。①Full FT全参数微调更新视觉编码器Projector完整Llama词嵌入与输出层结果可训练参数约71.88亿成功率69.7%显存需求约163.3GB采用FSDP分片。②Last layer only只微调最后一层只更新OpenVLA Transformer的最后一层token embedding矩阵。其他绝大部分模块冻结。结果只有30.3%说明只改最后一层难以让模型适应新的视觉场景、机器人动力学和动作分布。③Frozen vision冻结视觉编码器冻结DINOv2SigLIP但微调其他部分ProjectorLlama 2token相关参数。结果为47.0%说明只调整文本和动作生成部分仍不够视觉表示也必须改变。④Sandwich Fine-Tuning只微调模型的“前面和后面”视觉编码器token embeddingLlama最后一层。中间的大部分Llama层冻结所以称为“夹心式微调”。结果62.1%比冻结视觉编码器明显更好但仍低于全参数微调。⑤LoRALoRA不是只作用在一个动作模块上而是在模型的所有线性层中加入低秩可训练矩阵冻结原始大模型参数只更新新增的LoRA参数。可以表示为W′WΔW其中ΔWBA原始权重 W 冻结只训练较小的低秩矩阵 A,B4微调使用的数据论文不是再用互联网图文数据做下游微调而是使用目标机器人的示范轨迹数据每条训练数据大致包含其中目标机器人第三人称相机图像当前任务的语言指令机器人在这个时刻真实执行的7维动作。动作是然后转化为7个动作token作为监督目标微调学习的是目标机器人图像语言指令→目标机器人动作token论文在两种新的Franka设置上微调。①Franka-Tabletop固定在桌面上的Franka Emika Panda机械臂控制频率约5Hz包括单指令任务和多指令任务。例如把胡萝卜放进碗把玉米倒进锅翻正锅根据语言选择物体并覆盖多物体、多指令操作。②Franka-DROID来自DROID设置的Franka机器人控制频率约15Hz包括擦桌子等视觉鲁棒性任务。每项任务使用大约10∼150条机器人示范论文共测试7类真实机器人任务。OpenVLA、Octo和Diffusion Policy使用相同的目标任务示范数据进行训练或微调。第七部分这篇论文最重要的创新创新一首个完整开放的通用VLA体系开放权重训练代码推理代码微调NotebookOpenX训练流程。创新二双视觉编码器DINOv2空间特征SigLIP语义特征提高机器人视觉与语言对齐。创新三系统研究VLA微调LoRA证明OpenX预训练少量新机器人数据→有效的新机器人策略使VLA更接近普通实验室能够使用的模型。第八部分LimitationLimitation ①只有 Single ImageOpenVLA 当前只支持单图像观测single-image observation。没有multi-camera多相机观测proprioception本体感知observation history历史观测论文明确把这些列为未来方向。所以OpenVLA Single RGB Language ↓ Action时间信息很弱。Limitation ②Single-step Action没有 Action Chunk这是最重要的一条。OpenVLAImage ↓ predict one action ↓ execute ↓ next image ↓ predict another action而不是 Diffusion PolicyObservation History ↓ Action Chunk ↓ execute several steps ↓ replan论文在 Figure 5 的讨论中明确指出OpenVLA 虽然语义和泛化很强但它的低层动作控制还不够“顺”和“细”Diffusion Policy 在这类精细操作上更占优势。Limitation ③自回归Autoregressive Action Token 推理比较慢OpenVLA 是Action dim 1 ↓ token Action dim 2 ↓ token Action dim 3 ↓ token ...一个 LLM autoregressive 解。这本来就不是为50Hz robot control设计的。OpenVLA 在 RTX 4090 大约6 Hz。论文 Discussion 直接说OpenVLA 推理频率约 6 Hz难以满足 ALOHA 等 50 Hz 高频控制需求第九部分Limitation → Next Paperπ0OpenVLA 已经把 VLM 的语义能力做得很好但动作建模Action Modeling 还比较像 LLM。OpenVLADINOv2 SigLIP ↓ 强视觉 Llama 2 ↓ 强语言 / 语义 ↓ Action as Token ↓ Autoregressive ↓ Single Action问题开始集中在Action Side。于是你的下一问就是能不能保留 LLM/VLM 强大的视觉语言理解能力但动作输出不要再走“连续动作 → 离散 bin → token → 一个一个自回归生成 → 再反量化”的路线然后进入π0π0​ 不是 Diffusion Policy而是把“连续生成式动作建模”进一步和大型 VLM 结合并用 Flow Matching 代替 Diffusion 来生成连续 Action Chunk。methodDiffusion Policyπ0​动作连续连续一次生成Action ChunkAction Chunk初始状态高斯噪声高斯噪声生成方式Diffusion 去噪Flow Matching 流动学什么噪声/去噪方向Vector Field 速度场是否 Action Token❌❌视觉语言大模型不是核心✅ 强 VLM 是核心
返回列表