中文 EN

RynnVLA-002: A Unified Vision-Language-Action and World Model

作者:Jun Cen, Siteng Huang, Yuqian Yuan, Kehan Li, Hangjie Yuan, Chaohui Yu, Yuming Jiang, Jiayan Guo, Xin Li, Hao Luo, Fan Wang, Deli Zhao, Hao Chen

机构:DAMO Academy, Alibaba Group; Hupan Lab; Zhejiang University

版本:arXiv:2511.17502 v2,2025-11-21 提交,2025-11-24 修订

链接:arXiv | PDF | 官方代码

1. 论文速览

一句话总结:RynnVLA-002 把 VLA action policy 和 action-conditioned world model 放进同一个 autoregressive multimodal LLM 框架,让模型既能根据图像和语言生成动作,也能根据图像和动作预测未来图像,并用二者的联合训练互相增强。

难度评级:★★★★☆。阅读需要熟悉 VLA、MLLM tokenization、VQ-GAN 图像 token、离散动作 token、continuous action head、world model 视频预测指标,以及 LIBERO / LeRobot 评测协议。

关键词:Vision-Language-ActionWorld ModelUnified VocabularyAction ChunkingAction TransformerLIBERO

阅读定位项精简答案
论文要解决什么标准 VLA 只把 action 放在输出侧,缺少对动作动态和物理演化的显式内部建模;标准 world model 能预测未来观测但不能直接输出机器人动作。论文试图统一 action planning 和 future visual prediction。
作者的方法抓手基于 Chameleon 的统一图文生成架构,引入 image/text/state/action tokenizers,将 VLA 数据和 world model 数据混合训练;同时保留离散 action token 训练,并增加 continuous Action Transformer head 解决真实机器人泛化和速度问题。
最重要的结果在 LIBERO 中,RynnVLA-002-Continuous 无额外预训练达到 97.4% 平均成功率;真实 LeRobot SO100 上,加入 world model 数据后成功率从低于 30% 提升到 block 任务 80% 以上,论文摘要称整体成功率提升 50%。
阅读时要注意的点“统一”不是只共享 backbone 名义,而是把 VLA 查询和 world-model 查询都组织成同一套 token 序列与共享参数;但离散 action 在真实机器人上失败,所以连续动作头是这篇方法能落地的重要补丁。

核心贡献清单

Action world model concept
Fig. 1 / Action World Model:VLA 从图像生成动作,world model 从动作和图像生成未来图像,RynnVLA-002 试图统一二者。

2. 动机

2.1 要解决什么问题

VLA 模型把语言目标和视觉观测映射到动作,是当前机器人 foundation policy 的主流形式。论文认为这种架构有三个缺陷:动作只在输出侧,模型没有显式 action dynamics 表示;模型不预测“如果执行某动作世界会怎样变化”,因此缺少想象和反事实能力;模型没有直接学习物理动态,难以内化接触、稳定性、物体交互等规律。

World model 正好补上另一半:它可以根据当前图像和动作预测未来状态,学习环境动态。但传统 world model 不直接输出动作,所以无法独立完成 action planning。RynnVLA-002 的问题定义就是把二者放到同一个可查询的模型里:问它 “What action should the robot take to ...?” 时它是 VLA;问它 “Generate the next frame ...” 时它是 world model。

2.2 已有方法卡在哪里

VLM-based VLA 往往借助大规模 MLLM 的视觉语言理解能力,再加 action head 或 action expert。离散 action token 便于接入语言模型的 cross-entropy 训练,但在精细控制上有量化误差和自回归误差累积问题。连续 action head 可以输出更平滑轨迹,但如果没有对世界演化的建模,模型仍可能只学习“图像到动作”的短视关联。

Visual generation-based VLA 与 world model 能预测未来帧,但仍常常面临视觉保真度、跨域迁移、计算效率,以及如何把预测动态真正转化为动作改进的问题。本文的定位是:用同一个 MLLM 同时吃 VLA 数据和 world model 数据,让动作理解与视觉动态预测互相提供训练信号。

2.3 本文解决思路

RynnVLA-002 采用 unified token vocabulary,把 image/text/action/state 组织成同一语言模型可处理的 token 序列。VLA 侧从语言、状态和历史双视角图像生成 action chunk;world model 侧从图像和 action token 生成下一帧图像。离散 action 用 cross-entropy 训练,world image token 也用 cross-entropy 训练;连续 action head 则使用 L1 regression。

4. 方法详解

RynnVLA-002 overview
Fig. 2 / Overview:左侧为 VLA 查询,右侧为 world model 查询;二者共享 RynnVLA-002 主体。

4.1 统一建模目标

论文先把 VLA 和 world model 写成两个条件生成问题:

VLA 问题:给定语言、状态和历史观测,生成动作。

$$a_t \sim \pi(a_t \mid l, s_{t-1}, o_{t-h:t})$$

World model 问题:给定历史观测和动作,预测下一帧观测。

$$\hat{o}_t \sim f(o_t \mid o_{t-h:t-1}, a_{t-h:t-1})$$

RynnVLA-002 用一个参数集合 $\psi$ 来支持这两种查询。不同任务只改变输入 token 的组织方式和文本前缀,主体模型共享。

4.2 Data Tokenization

模型初始化自 Chameleon,因为 Chameleon 本身支持 unified image understanding and generation。RynnVLA-002 涉及四个 tokenizer:

Tokenizer作用关键细节
Image tokenizer把图像离散化为视觉 tokenVQ-GAN;compression ratio 16;codebook size 8192;$256\times256$ 图像生成 256 tokens,$512\times512$ 生成 1024 tokens。
Text tokenizer处理语言 prompt继承 Chameleon 的 BPE tokenizer。
State tokenizer离散化 proprioceptive state每个连续维度按训练数据范围分成 256 bins。
Action tokenizer离散化机器人动作每个连续动作维度分成 256 bins;连续 Action Transformer 输出 raw action,不经过 tokenization。
实现要点:image、text、action、state tokens 共用一个 65,536 大小的 vocabulary。这个设定让 action 不只是输出数值,而是进入和图像、文本同一套自回归 token 语言。

4.3 VLA Model Data

VLA 训练样本的序列结构为:

$$\texttt{\{text\}}\ \texttt{\{state\}}\ \underbrace{\texttt{\{image-front-wrist\}}}_{\times M}\ \underbrace{\texttt{\{action\}}}_{\times K}$$
$M$历史图像观测数量。实验中 VLA 使用 $M=2$。
$K$action chunk size。LIBERO-Long 和 LIBERO-Spatial 使用 $K=10$,LIBERO-Object 和 LIBERO-Goal 使用 $K=5$。
$\mathcal{L}_{dis\_action}$离散 action token 的 cross-entropy loss。

文本 prompt 形式是 “What action should the robot take to <task>?”。输入图像包括 front 和 wrist camera,状态包括 proprioceptive state。

4.4 World Model Data

world model 的序列结构为:

$$\texttt{\{text\}}\ \underbrace{\texttt{\{images-front-wrist\}}\texttt{\{action\}}\overbrace{\texttt{\{images-front-wrist\}}}^{\mathcal{L}_{img}}}_{\times N}$$

所有 world model 样本使用同一个文本前缀,论文正文写为 “Generate the next frame based on the current image and the action.”,官方 README 的数据样例则是 “Generate the next image based on the provided sequence of historical images and corresponding actions.”

$N$自回归预测轮数。实验中为效率设为 $N=1$。
$\mathcal{L}_{img}$未来图像离散 token 的 cross-entropy loss。

离散训练目标为:

$$\mathcal{L}_{dis}=\mathcal{L}_{dis\_action}+\mathcal{L}_{img}$$

这意味着 action prediction 和 image prediction 在同一个训练阶段混合优化。

4.5 Discrete Action Chunk 的 Attention Mask

自回归生成多个动作时,如果默认 causal attention 允许后续 action token 看见前面 action token,早期动作错误会进入后续动作条件,引起 error accumulation。作者的 attention mask 修改为:当前 action 只看 text / visual / state 输入,不看同一 chunk 里先前 action。

Attention mask
Fig. 3 / Attention Mask:默认 VLA、本文 VLA mask 和 world model mask 的对比。

这个设计把多个 action token 变成“条件独立地从视觉上下文生成”,降低误差传播。但代价也在论文中出现:真实机器人上,这种离散 action chunk 容易不平滑,因为同一 chunk 内动作彼此隔离,不能保证轨迹连续。

4.6 Continuous Action Transformer Head

为了处理真实机器人泛化和推理速度,作者在离散联合建模之外加一个小型 Action Transformer。它读取完整上下文,包括 language、image、state tokens,用 learnable action queries 并行输出整个连续动作 chunk。

最终训练目标把离散 action、world image 和连续 action 三种监督合在一起。

$$\mathcal{L}=\mathcal{L}_{dis}+\alpha\mathcal{L}_{conti} =\mathcal{L}_{dis\_action}+\mathcal{L}_{img}+\alpha\mathcal{L}_{conti\_action}$$
$\mathcal{L}_{conti\_action}$连续动作的 L1 regression loss。
$\alpha$连续动作损失权重,实验中设为 10。
Training batch construction
1. Sample VLA data:
   prompt = "What action should the robot take to ?"
   input = text + state + M history images from front/wrist cameras
   target_discrete = K action tokens
   target_continuous = K raw actions through Action Transformer

2. Sample world-model data:
   prompt = "Generate the next frame based on the current image and the action."
   input = current front/wrist images + action tokens
   target = next front/wrist image tokens

3. Optimize:
   L = CE(discrete actions) + CE(image tokens) + alpha * L1(continuous actions)

5. 实验

5.1 实验设置

实验设置指标
LIBERO simulation四个 suite:Spatial、Object、Goal、Long。清洗数据时移除 unsuccessful trajectories 和 no-operation actions;world model 使用 90% / 10% train-val split。VLA 用每任务 50 次不同初始状态 rollout 的 success rate;world model 用 FVD、PSNR、SSIM、LPIPS。
LeRobot SO100 real-world两类 pick-and-place:block inside circle 248 demos,strawberries into cup 249 demos;均为 human teleoperation expert demonstrations。每任务每场景测试 10 次,报告 success rate。
Ablation分别去掉 world model 数据、action chunking、本文 attention mask、wrist camera、proprioceptive state,比较离散和连续动作。LIBERO success rate、真实机器人 success rate、world model generation metrics、Hz 推理频率。

5.2 LIBERO 主结果

方法PretrainingAction TypeSpatialObjectGoalLongAverage
UniVLADiscrete96.596.895.692.095.2
OpenVLA-OFTContinuous97.698.497.994.597.1
RynnVLA-002-DiscreteDiscrete94.296.894.687.693.3
RynnVLA-002-ContinuousContinuous99.099.896.494.497.4

作者强调的关键点是:RynnVLA-002-Continuous 在没有大规模机器人预训练的情况下,平均成功率达到 97.4%,与若干带预训练的强 baseline 相当或更高。离散版本也达到 93.3%,说明统一离散 action/world token 方案在仿真中有效,但连续头进一步提高了整体表现。

5.3 真实机器人结果

Real robot settings
Fig. 4 / Real robot settings:单目标、多目标和带 distractors 的 SO100 桌面操作设置。
任务 / 场景GR00T N1.5$\pi_0$RynnVLA-002
Block / Single-target90.0100.090.0
Block / Multi-target60.070.090.0
Block / w/ Distractors50.050.080.0
Strawberries / Single-target50.080.080.0
Strawberries / Multi-target50.070.080.0
Strawberries / w/ Distractors70.040.050.0

真实机器人评价更能暴露 discrete action 的局限。论文正文说 RynnVLA-002 在 cluttered environments 中竞争力较强,尤其 block 任务中 multi-target 和 distractor 场景比 baseline 高 10% 到 30%。但 strawberry + distractors 场景中 GR00T N1.5 仍高于 RynnVLA-002,这说明本文真实机器人结果不是全场景压倒式领先。

5.4 World Model Benefits VLA

离散动作设置World ModelAction Chunking本文 Attention MaskAverage
VLA only62.8
+ World Model67.2
+ Chunking, default mask54.0
+ Chunking + proposed mask76.6
完整离散模型78.1

这张消融表说明两个点:只加 world model 数据能从 62.8 提到 67.2;action chunking 如果用默认 causal mask 会掉到 54.0,而配合本文 mask 后提高到 76.6。完整离散模型达到 78.1。

VLA visualization
Fig. 5 / VLA visualization:无 world model 数据时模型直接朝目标位置移动;加入 world model 后在失败时继续尝试抓取。

5.5 Continuous Action 的消融

设置World ModelWrist CameraProprioceptive StateGoalObjectSpatialLongAverage
基础连续 VLA90.292.488.467.084.5
+ Wrist Camera91.495.498.281.491.6
+ World Model96.097.499.085.894.6
完整连续模型96.499.899.094.497.4

连续模型的最强证据是:wrist camera 从 84.5 提到 91.6,world model 数据从 91.6 提到 94.6,proprioceptive state 再把 Long 从 85.8 拉到 94.4。真实机器人消融更强:缺 wrist camera 或 proprioceptive state 时成功率为 0;缺 world model 时 Single / Multi / Distractors 只有 30.0 / 10.0 / 0,而完整连续模型达到 80.0 / 80.0 / 50.0。

5.6 VLA Enhances World Model

Suite模型FVD ↓PSNR ↑SSIM ↑LPIPS ↓
GoalWorld Model370.022.2577.8419.70
GoalAction World Model336.822.1378.1319.43
ObjectWorld Model1141.620.3159.5927.30
ObjectAction World Model877.222.1865.0322.60
SpatialWorld Model405.422.3279.1520.28
SpatialAction World Model373.123.8882.4116.33
LongWorld Model557.7318.2469.1631.60
LongAction World Model427.8619.3672.1927.78

world model 指标显示,混合 VLA 数据后的 Action World Model 在大多数指标上优于单独 world model。补充材料 / World Model Visualization 进一步说明:baseline world model 在两个例子里从 front camera 视角预测不到成功抓取,而 Action World Model 能生成包含成功抓取的视频;baseline 还出现 front/wrist 两视角预测不一致的问题。

World model visualization
Fig. 6 / World model visualization:补充材料中的世界模型可视化对比。

5.7 效率与动作形式

论文的效率消融表给出明确趋势:连续动作并行生成远快于离散自回归动作。例如无 wrist、无历史的连续模型在 chunk size 5 时 24.94 Hz,在 chunk size 10 时 48.20 Hz;加入 wrist 和历史后仍有 7.75 / 15.78 Hz。离散模型即使使用 action chunking,也只有约 2.74 到 3.69 Hz。论文还报告离散 action tokens 会加速 continuous action generation 的收敛,尤其训练早期优势明显。

Discrete vs continuous performance
Fig. 7 / Discrete vs Continuous:连续动作收敛更快,真实机器人差距更明显。

6. 复现审计

6.1 代码与模型资源

已公开:官方 GitHub 为 alibaba-damo-academy/RynnVLA-002。README 标注 2025-11-10 发布 models、training code、evaluation code,覆盖 LIBERO simulation benchmark 和 real-world LeRobot experiments。

模型 Zoo:README 提供 VLA Model 256×256 的四个 LIBERO checkpoint,以及 World Model / Action World Model 512×512 的各 suite checkpoint,表中数值与论文主表一致。

依赖成本:需要安装本仓库、flash-attn、LIBERO,并下载 Chameleon tokenizer、base-model 和 starting point 权重。复现涉及 pretokenize 与 no-pretokenize 两条训练管线。

6.2 关键超参数

论文设置
VLA history images$M=2$,front + wrist camera 历史观测。
Action chunk sizeLIBERO-Long / Spatial 使用 $K=10$;LIBERO-Object / Goal 使用 $K=5$。
World model prediction round$N=1$,为了计算效率只预测一轮下一帧。
连续动作损失权重$\alpha=10$。
图像 tokenizationVQ-GAN,compression ratio 16,codebook size 8192。
state/action discretization每维 256 bins,范围由训练数据 min/max 决定。
数据清洗移除 unsuccessful trajectories 和 no-operation actions,沿用 OpenVLA 风格。

6.3 官方复现路径

  1. 安装依赖:pip install -r requirements.txt,安装 flash-attnpip install -e .,并安装 LIBERO。
  2. 下载 Chameleon tokenizer、base-model、starting point 权重,放入 README 指定的 rynnvla-002/ckpts/... 路径。
  3. 对 LIBERO 数据过滤 no-op actions:运行 regenerate_libero_dataset_filter_no_op.py
  4. 选择 Pretokenize 或 NoPretokenize。Pretokenize 需要先保存图像/action/state,再生成 VLA conversations 和 world model conversations,最后把 conversation token 化并拼接记录。
  5. 配置 rynnvla-002/configs/libero_goal/... 里的数据路径,运行 exps_pretokenizeexps_nopretokenize 下的训练脚本。
  6. 评估 LIBERO:在 evals_libero/ 中设置 checkpoint_path,运行 continuous 或 discrete 的评估脚本。
  7. 真实 LeRobot:README 提供数据生成、state/action min-max 计算、tokenization、训练和 eval_solver_lerobot_action_head_state.py 推理入口。

6.4 复现风险

7. 分析、局限与边界

7.1 这篇论文最有价值的地方

按论文自己的证据,最有价值的地方是把 “action as output” 改成 “action as a modality”。离散 action token 让动作可以进入和图像、文本同一套自回归词表;world model 训练又要求模型从动作预测视觉后果。因此 VLA 不只是学习从图像到动作的监督映射,还被迫学习动作如何改变物体和视角。LIBERO 和真实机器人消融都显示 world model 数据能提升 VLA,补充材料可视化也显示 VLA 数据改善 world model 对抓取过程的生成。

7.2 结果为什么站得住

论文的主张由几类证据互相支撑:主表显示连续 RynnVLA-002 在 LIBERO 上达到 97.4%;离散消融表显示 world model、action chunking、attention mask 各自贡献;连续消融表显示 wrist camera、state 和 world model 对 Long 和真实机器人很关键;world model 指标表显示 Action World Model 改善 FVD/SSIM/LPIPS;真实机器人消融显示缺 world model、wrist camera 或 proprioceptive state 会显著失败。这些证据覆盖了 “统一模型互相增强” 的两个方向。

7.3 作者自述与实验暴露的局限

7.4 适用边界

RynnVLA-002 更适用于有成对图像、动作、状态数据,并且未来视觉状态能反映任务进展的操作任务。它需要图像 tokenizer、action/state discretization 范围、front/wrist camera 和 proprioceptive state 的稳定接口。对于强接触、力控、遮挡严重、视觉状态难以表达任务成功,或需要高速闭环控制的任务,本文证据还不充分。