OpenVLA论文阅读

📅 发布时间:2026/9/24 17:52:48
OpenVLA论文阅读
首先是VLA模型的架构1、视觉编码器Dinov2、SigLIP通过MLP视觉投影层多层全连接层组成的基础神经网络与LLM进行连接将视觉特征直接转换为token embedding 向量输入大语言模型中。为什么要用两个视觉编码器与 CLIP或仅使用 SigLIP 等更常用的视觉编码器相比研究表明加入 DinoV2 特征有助于提升空间推理能力这对机器人控制尤为重要。2、Llama Tokenizer 是LLM的分词器负责把语言转换为token id实际上还要通过向量表转换为文本embedding 向量输入到大模型主干中。3、LLM网络主干一个拥有70亿参数的大语言模型。经过视觉编码器和分词器的视觉token与语言token进行拼接输入到主干中。4、Action De-Tokenizer 是动作解码器把模型输出的动作 token转换成机器人能直接运行的连续控制指令。训练过程1、对预训练的 Prismatic-7B VLM 骨干网络进行微调。2、将机械臂每一关节的连续动作离散化为256个token并分散到分词器词汇表中预训练的分词器词汇表中只有100个特殊标记无法满足需求于是进行简化使用频率最低的256个token。(使用的机械臂关节有七个做法是都进行离散化为256个token 类似将关节的可转动角度进行均分实际模型输出是七个这种离散化的token 根据[1 2 3 4 5 6 7]token 的位置来确定是哪个关节)3、数据处理方面1所有训练数据集的输入和输出空间保持一致2最终训练数据集中的主体、任务和场景实现均衡搭配。4、图像分辨率输入图像的分辨率对VLA训练的计算需求有显著影响因为更高分辨率的图像会产生更多图像块标记从而导致上下文长度更长训练计算量呈二次方增长。对比了输入为224×224像素和384×384像素的VLA但在评估中未发现性能差异而后者的训练时间是前者的3倍。因此最终的OpenVLA模型选择了224×224像素的分辨率。值得注意的是在许多VLM基准测试中提高分辨率确实能提升性能但尚未在VLA上观察到这一趋势。5、视觉编码器的微调发现在视觉语言行动模型VLA训练过程中对视觉编码器进行微调对于获得良好的视觉语言行动模型性能至关重要。推测预训练的视觉骨干网络可能无法捕捉到场景中重要部分足够的细粒度空间细节从而无法实现精准的机器人控制。6、训练VLA模型的过程中发现大幅增加数据集的遍历次数至关重要真实机器人的性能会持续提升。7、针对VLA训练在多个数量级范围内对学习率进行了扫描最终采用2e-5的固定学习率取得了最佳效果该学习率与VLM预训练阶段所用的学习率一致。发现学习率预热warmup并未带来增益。参数高效微调1、使用LoRA低秩适配进行微调指针对模型中的所有线性层进行微调并尝试了不同的秩实验显示使用 LoRA 微调的 OpenVLA 在下游任务上的成功率与全量微调几乎一致甚至在某些任务上略好但显存占用和计算需求大幅降低。 2、实验发现低秩适配的秩LoRA rank对策略性能的影响微乎其微因此建议使用默认秩为r32。量化推理1、量化操作会带来显卡的开销导致8bit量化会使大多数GPU的推理速度变慢而4bit的的推理能够实现更高的推理量因为 GPU 内存传输量的减少抵消了量化开销。2、4bit量化性能与16bit的量化性能相近但GPU内存占用更少。3、量化就是把模型里连续的高精度浮点数权重、激活值、KV 缓存映射成低比特离散整数用更少 bit 存储和计算降低显存占用、加速机器人端推理代价是引入少量数值误差VLA 最需要关注这个误差会不会在机器人闭环控制里累积导致动作漂移