VLA-0: Building State-of-the-Art VLAs with Zero Modification

NVIDIA 团队提出,探索一种极简且零修改的 VLA 模型构建范式,突破现有 VLA 方法的复杂性瓶颈,最终在仿真和真实场景中均实现 state-of-the-art(SOTA)性能。

Background

VLA 的核心价值是让机器人同时理解视觉(环境图像)、语言(任务指令)并输出动作,是实现通用机器人操作的关键技术。但当前 VLA 的构建方法仍存在复杂性过高、性能与简洁性难以兼顾的问题,具体可通过现有三类主流方法的局限体现:

类别 代表模型 核心思路 关键缺陷
Discrete Token VLAs(AG) RT-2、OpenVLA 连续动作 → 离散为 “动作 bin” → 映射到 VLM 词汇表 1. 动作分辨率受限(细粒度控制需数千 bin,与 VLM 词汇冲突);2. 破坏 VLM 预训练语言理解(复用词汇)
Generative Action-Head VLAs(AG) π₀、SmolVLA VLM 输出 latent 向量→新增 “动作生成头”(如扩散模型)解码为动作 1. 新增网络需额外微调;2. 削弱 VLM 的语言接地能力(语言与动作关联变弱);3. 泛化性受非预训练动作头影响
自定义架构 VLAs(Custom Arch) OpenVLA-OFT、π-FAST 修改 VLM 架构(如加专用 ACT 头)或自定义动作令牌器(如 DCT) 1. 需大规模架构修改与额外参数;2. 训练流程复杂(如自定义令牌器需单独优化)

是否存在一种 “无侵入式” 的 VLA 构建方法:不修改 VLM 的词汇表、不新增网络组件、不改变架构,同时实现 SOTA 性能?

“将动作直接表示为文本” 这一最简单的策略被长期忽视(因直觉上认为 “文本不适合表示连续动作”),因此这个工作正是为验证该策略的有效性而提出 VLA-0。

Design Principle

“零修改 VLM,最大化利用其原生文本生成能力”,通过精心设计的 “输入 - 输出范式 + 训练 / 推理策略”,实现动作预测的高性能

  • Backbone: Qwen-VL-2.5(3B),Vision encoder (ViT) for image features + Language model for reasoning and text generation.

    • 性能均衡:在同参数规模(3B)下,视觉 - 语言理解能力 competitive;
    • 计算高效:相比大模型(如 17B),训练和推理速度更快,降低落地门槛;
    • 开源可复现
  • 输入输出:完全遵循 VLM 的 “视觉 + 文本输入 -> 文本输出” 范式

    • Input:

      • System Prompt:明确任务规则,示例如下(H = 预测步数,D = 动作维度,B = 整数范围):

        “分析输入图像,预测未来 H 步的机器人动作。每步动作含 D 个维度。仅输出 H×D 个整数(范围 0-B),用空格分隔,不包含其他内容。”

        该提示强制 VLM 仅生成动作相关的整数序列,避免冗余文本。

      • 图像输入:根据场景灵活选择,且两种输入方式性能无差异:

        • 仿真场景:第三人称相机 + 手腕相机(与基线模型一致);
        • 真实场景:左右双目相机(如图 3 所示);
        • 可选方案:将多图拼接为单张复合图(简化输入逻辑,性能不变)。
      • 任务指令(Task Instruction):自然语言描述目标,如 “Put the cupcake in the bowl”(将纸杯蛋糕放进碗里)。

    • Output:

      空格分隔的整数序列(如 “4 12 98 3 0 0 …”),代表连续动作的 “文本化编码”:

      • (prompt 编码时)将机器人的连续动作值(如末端执行器坐标、关节角度)归一化到 [0, B] 的整数范围(B 为超参,实验中最优值为 1000);
      • 推理时将整数序列反归一化回连续动作,直接控制机器人。

Core Tech

如果仅依靠 “文本表示动作” 的范式,VLA-0 是没有办法达到 SOTA 水平的,所以重点还是在下面的核心技术中:

Action-Decoding

通过 “连续动作 -> 归一化整数 -> 文本输出”,无需依赖 VLM 词汇表的 bin 划分,理论上可通过调整超参数 B(如 1000、4000)实现任意分辨率(实验证明 B=1000 已足够,B=4000 无额外增益)。做法就是将连续动作的文本表示映射到固定范围的 [0, B] 中,_val = round((value - min) / (max - min) * B)

做法优点:

  • 可以克服像 OpenVLA 这样 Discrete Token VLA 的缺陷(encoded bins 数量限制 & token 冲突、语义污染降低理解能力、naive per-dimension binning 表示低效性($\pi$-FAST 尝试解决) );
  • 支持任意分辨率的动作细节,而不需要大规模的 discrete tokens 干扰模型的 vocabulary;

Ensemble Prediction

不是创新点

本质上是通过 action chunking 提升动作稳定性(单步预测噪声很大,结合上模型较低的输出频率(tip: $\pi$-0 基于的 flow matching 的 diffusion head)),借鉴 ACT 模型的 “多步预测集成” 策略:推理时,VLM 每步预测 n 个未来动作(如 n=5),当前步 t 的最终动作是 “t 步预测的第 1 个动作、t-1 步预测的第 2 个动作、…、t-n+1 步预测的第 n 个动作” 的平均值

消融实验验证:通过集成降低单步噪声,实验证明移除该技术后成功率下降 2 个百分点;

Masked Action Augmentation

因为 VLM 的文本生成是自回归的,若仅训练生成整数序列,VLM 可能只是把任务误当成了另一种 auto-completion,比如根据时间序列的规律上次数值是 100 下次就会猜测 101,并没有结合到视觉信息,仅依靠语言推理;

训练时随机掩码目标动作字符串中的部分字符(如将 “123 456” 掩码为 “1#3 4##”),迫使 VLM 必须依赖图像(环境信息)和任务指令(目标)推理动作,而非仅依赖前序数值;

消融实验验证:移除该技术后成功率下降 1.2 个百分点,证明其能强化 VLM 的 “视觉 - 语言 - 动作关联”。

缺点:文章并未提及相关掩码策略?

  • 数值操作是具有强局部结构(数字顺序编码大小)和全局语义(微小数字变化可能对应实际单位中的巨大变化,取决于量纲)的多位数字符串。随机遮蔽单个字符会以不可预测的方式破坏结构。
  • 自回归语言模型基于先前生成的标记进行训练。若在目标侧进行遮蔽,模型仍然可能学会复制未遮蔽的前缀并简单“猜测”后缀;若遮蔽分布不切实际,则可能过度拟合遮蔽模式?
  • “动作” 这个东西会不会有依赖项(需要跨标记衡量),如关节向量或(x,y,z)三元组。掩盖动作部分与掩盖完整动作条目会产生不同效果。

Training

VLA-0 仅需对基础 VLM 进行全量微调(无新增参数),训练配置:

  • 损失函数:标准交叉熵损失(与 VLM 预训练一致,无需设计新损失);
  • 优化器:Adam;
  • 训练参数:64 个 epoch,batch size = 192,学习率 = $5\times 10^{-6}$;
  • 计算资源:8 张 A100 GPU,训练耗时约 32 小时(相比大模型微调更高效)。

[!QUESTION]

无任何微调(仅通过 prompt engineering 实现动作预测), VLA-0 的策略是否仍能生效?

VLA-0 的性能依赖 “VLM 的原生文本生成能力” 还是 “微调后习得的动作 - 视觉 - 语言关联”(只是 Qwen 单纯比较好)?

Tests & Eval

  • 仿真环境实验:LIBERO benchmark

    | 套件 | 测试能力 | VLA-0 成功率 | 最优 baseline(无预训练)成功率 |
    | ———— | ——————————————— | —————— | ———————————————- |
    | Spatial | 空间定位能力(如精准放置) | 97.0% | $\pi_{0.5}$-KI(96.6%) |
    | Object | 物体交互能力(如操作特定物体) | 97.8% | $\pi_{0.5}$-KI(97.2%) |
    | Goal | 目标理解能力(如匹配指令目标) | 96.2% | $\pi_{0.5}$-KI(94.6%) |
    | Long | 长序列动作能力(如多步操作) | 87.6% | $\pi_{0.5}$-KI(85.8%) |
    | 平均 | —— | 94.7% | $\pi_{0.5}$-KI(93.3%) |

  • 真实世界实验:LeRobot SO-100 dataset,和 SmolVLA 对比

    VLA-0 无大规模预训练,仍能在各方面平均领先 12.5 个百分点,证明其在真实场景的鲁棒性。

  • 消融实验:

    | 实验配置 | 平均成功率 | 性能下降幅度 |
    | ————————————————————— | ——————— | —————— |
    | 完整 VLA-0(动作集成 + 掩码增强 + B=1000) | 94.7% | - |
    | 移除动作集成 | 92.7% | -2.0% |
    | 移除掩码增强 | 93.5% | -1.2% |
    | B=250(降低分辨率) | 93.2% | -1.5% |
    | B=4000(提高分辨率) | 94.2% | -0.5% |
    | 图像拼接 vs 分开输入 | 94.5% vs 94.7% | 无差异 |

Code not available for now…

Future

  • 未探索大规模动作数据预训练:若给 VLA-0 加入大规模机器人数据预训练,性能是否能进一步超越 OpenVLA-OFT?

  • 推理速度优化:当前真实场景推理速度为 4Hz,可通过模型蒸馏、量化进一步提升,适配更高实时性需求;

当前 VLA-0 仅验证了 “低维动作”(如末端执行器坐标、关节角度)的文本化表示。“高维动作”(如机器人手部 20 个自由度的精细操作)呢?

整数序列的长度会大幅增加(如 H=10 步 ×D=20 维 = 200 个整数)。会不会导致 “动作序列中前后维度的依赖关系紊乱”?

Modify the code