LingBot-VA:从未来画面到机器人动作的因果世界模型
Causal World Modeling for Robot Control
- 视频—动作生成
- 因果历史
- 真实反馈
- 异步校正
机器人要拆开一个快递盒。当前相机能看见纸箱和小刀,却不能只凭一张图判断“封口已经划开了吗”“刀片是否推出”“刚才失败后应该重试哪一步”。如果模型只输出下一段手臂动作,视觉变化和动作后果之间的关系就要隐含在策略内部。
LingBot-VA 把这层关系显式放进生成过程:先在压缩的视频空间里预测接下来可能出现的状态,再据此生成动作,执行后用真实画面更新上下文。 困难也随之出现:想象画面可能不准确,视频生成需要时间,而机器人不能一直停下来等模型。本篇沿着“未来如何影响动作—真实反馈怎样纠正预测—计算怎样与执行配合”展开。
预备知识:预测画面与选择动作分别解决什么
世界模型(world model) 学习环境如何变化。例如,夹爪抬起后,纸箱盖可能跟着移动,也可能因为没有抓牢而停在原处。这里的“世界”限定为相机可见的操作场景,不表示模型拥有完整、精确的物理模拟器。
逆动力学(inverse dynamics) 从状态变化反推动作:如果当前夹爪在箱盖外,而希望下一时刻抓住箱盖,那么应执行怎样的移动与闭合。相应地,前向动力学(forward dynamics) 从当前状态和给定动作预测后果。两者分别回答“怎样做到”和“做了会怎样”。
视频潜变量(video latent) 是视频 VAE 将画面压缩后的表示。模型主要在这种表示中预测,并不要求每次控制前先生成可播放的 RGB 视频。自回归(autoregressive,AR) 则表示后续生成依赖已有历史;本文按块生成连续变量,每块内部还要进行多次流匹配更新,并非像语言模型那样一次选一个离散词。
需要区分三个时间尺度:真实机器人执行时刻、视频/动作块的序号,以及把噪声逐步变成数据的生成时间。多做一次去噪更新不会自动多执行一个机器人动作。
摘要意译与批注
摘要意译: 作者认为,除视觉语言预训练之外,视频世界建模也可以成为机器人学习的基础。为联合学习未来帧预测与策略执行,论文提出自回归扩散框架 LingBot-VA。其三个设计重点是:通过混合 Transformer 组织视觉与动作 token;用真实观测持续更新闭环 rollout;将动作预测与机器人执行异步配合。作者在仿真与实机任务中检验长程操作、后训练数据效率以及对新配置的泛化,并公开代码与模型。
批注: 第一项关心信息如何交换,第二项关心模型怎样接触真实环境,第三项关心生成耗时怎样进入控制流程。三者需要共同成立:画面预测更好不必然意味着动作更好,保存了历史也不保证能处理扰动,异步运行更不等于可以永远沿用旧预测。后文分别用机制和实验判断这些主张。
引言与相关工作:为什么把视频生成接进控制环
引言第 1 段先指出一种学习负担:直接由观测预测动作时,场景语义、物理变化和运动控制主要通过同一套示范监督联系起来。作者将其称为表示纠缠,认为显式学习环境演化可能改善样本利用和泛化。这里关注的是动力学监督是否显式进入学习目标;使用历史观测的 VLA 也可以利用时间信息。
接下来的论证转向已有世界模型:交互式神经模拟器可以预测动作后果,视频与动作联合扩散可以利用两类监督,先生成目标画面的路线则可以给策略提供视觉目标。但若一次生成太长、后续不读真实反馈,预测会逐步偏离执行;若各块缺少持续上下文,也容易丢失先前操作状态。由此,作者选择按历史逐块预测,并通过缓存接入真实观测。
论文第 5 节将相关工作进一步分成视觉语言策略与机器人世界模型。后者可预测低维潜状态、三维点云或二维画面;LingBot-VA 属于视频生成路线,但计算在 VAE 潜空间中完成。其贡献不只是给策略增加一个视频辅助损失,而是让预测的未来表示在推理时参与动作生成。
“因果”在这里首先描述时间依赖与注意力可见范围。它让生成过程按可获得的信息组织,并不等价于通过干预实验辨识真实世界的因果关系,也不构成物理正确性的保证。原文第 3.2 节明确允许同一生成块内部使用双向注意力;因果边界主要落在历史与未来块之间。
总体流程:预测未来,再从变化中推断动作

读图 2 时,先区分上下两排:上排是模型预测的画面和动作,下排在块间提供真实观测与已执行动作。右侧下一轮生成读取更新后的上下文,因此“想象中的箱盖打开”不会自动成为环境里已经发生的事实。
令 表示观测, 是因果视频编码器得到的潜状态, 是动作, 是语言指令。第 3.2 节式(8)—(9)的条件关系可整理为:
第一式预测未来潜状态,第二式据此生成动作;帽子表示预测值。这里按原文的简化索引写出一个未来状态对应一段控制的关系,实际系统采用更稀疏的视频与更密集的动作配对。语言条件在原文部分简写中省略,此处统一写出,避免误认为模型不接收指令。
例如“打开箱盖”的当前表示与预测未来表示共同告诉动作分支:夹爪应到达哪里,箱盖应往哪个方向变化;过去动作和观测还帮助判断箱盖是否已经抓住。动作随后由底层控制接口执行,真实结果重新编码进入历史。这条路径直接根据预测状态生成动作,不包含枚举候选轨迹、再以显式代价函数选择最优轨迹的搜索过程。

教学示意:绿色框是模型预测的潜在表示,底部蓝色框来自实际相机;沿右侧反馈箭头看,下一轮的依据会随真实执行结果更新。
视频和动作怎样进入同一个模型
压缩画面,并保留不同的采样频率
论文使用 Wan2.2 因果 VAE,将视频按时间、高度、宽度约 4 × 16 × 16 压缩,再通过空间 2 × 2 patch 化减少 token。多相机编码结果沿宽度拼接。第 4.2 节报告其配置每帧为 192 个空间 token;这个数依赖分辨率与相机布局,不是所有 LeRobot 配置都固定如此。
视频变化通常比控制指令变化慢。第 3.3 节用 表示每个保留的视频时刻关联 4 个动作:若生成 个这样的视觉时刻,就对应 个动作位置。视频稀疏采样与 VAE 时间压缩是不同步骤;不要将它们混成“机器人只需要每 16 步看一次”。
形状例子: 按 LeRobot 默认 frame_chunk_size=4、action_per_frame=4、action_dim=30,动作流内部噪声可组织为 [1,30,4,4,1],共有 16 个时序位置,每个位置 30 个通道。模型输出后选择有效动作通道,再转换成 [批量,动作步数,机器人动作维度]。这是固定实现的接口示例,不是论文所有平台的统一张量形状。

教学示意:上面两排沿机器人时间展开,下面一排沿生成进度展开。每次去噪更新的是同一块动作,不会因此多产生一个执行时刻。
MoT:分别处理,再通过注意力交流
论文的混合 Transformer(Mixture-of-Transformers,MoT)有两条参数化分支:视频分支从 Wan2.2-5B 初始化,隐藏宽度 3072、30 层;动作分支同样深,但宽度为 768,约增加 350M 参数,总量约 5.3B。高维视觉变化分配更大容量,低维控制保留较小的动作分支(第 4.2 节)。
每层中,视频和动作先用各自投影形成查询、键和值;动作特征再投影到可进行联合注意力的空间,与视觉信息交换后回到动作分支。最终线性头将动作特征还原为控制向量。文本经冻结的 T5 编码器形成条件,通过交叉注意力进入网络。
这里的 MoT 解决“不同模态怎样保留各自处理方式又共享信息”。LingBot-VLA 2.0 的 MoE 则让 token 选择少量前馈专家,解决容量与激活计算量的分配。两种结构名称相近,机制并不相同。
作者还将视频权重插值到动作宽度,并按 缩放初始化。代入 3072/768=4,得到 。这是为稳定不同宽度分支的早期输出分布;图 7 比较训练损失、梯度范数及验证损失,支持这种初始化比随机初始化更稳定,但这些曲线本身不是机器人成功率。
当前公开版本与论文结构的边界
作者发布的检查点采用 shared backbone(共享骨干),LeRobot 接入的也是这一实现。它将视频和动作作为两个生成流处理,用不同输入/输出映射,但共享主要 Transformer 块。论文中的 3072/768 非对称双分支及约 5.3B 总量描述的是另一种参数组织,不能直接用于估计共享骨干检查点的规模与计算量。
怎样训练:两种流匹配目标与历史监督
从噪声到视频,再从噪声到动作
按论文第 2 节的时间方向,设真实视频潜变量为 、动作数据为 ,同形状独立高斯噪声分别为 :
网络分别学习速度目标 、。第 3.3 节式(11)—(12)以“视频潜状态的生成误差”构成 ,以“读取当前与未来视觉表示后的动作生成误差”构成 ,总目标为:
论文预训练取 。二者都是速度场的平方误差,不是把像素差直接加到关节误差上。LeRobot 的实现还按噪声时间加权,并用有效通道掩码约简动作误差;具体数值不能只由上式的系数推断。
教学计算: 将潜状态简化为一个数,真实值为 0.2、噪声为 1.0,则在 时输入是 0.6,目标速度为 0.2−1.0=−0.8。若模型准确,Euler 更新 得到 0.6+0.1×(−0.8)=0.52,继续积分至 1 才到 0.2。动作流也按自己的条件和噪声学习相应方向。这里的 是生成进度,不是机器人已经执行的时间。
教师强制:训练时哪些历史可以看

教师强制(teacher forcing) 指训练时用数据中的真实历史作为条件,而非先把整条模型预测轨迹滚完再训练。图 3 的行是发出查询的 token,列是可读取的键;黄色是视觉,绿色是动作,空白表示不能读取。上半部分组织历史缓存,下半部分组织带噪目标。它不是一张所有 token 都逐个递减的简单下三角矩阵:动作生成需要读取相应未来视觉条件,同块内也允许联合生成。
模型不应把真实未来动作直接当成当前预测条件。通过划定历史与预测块的边界,训练可在一次前向计算中并行处理多个时刻。执行时真实相机反馈会重新进入历史,这使部分训练条件与部署相似;不过,预测的未来潜状态、控制误差和反馈延迟仍然可能造成分布偏移。

教学示意:先按行找“谁在读取”,再按列找“读取什么”。矩阵只概括时间块的关系;视频与动作两种流的具体可见范围仍以原论文图 3 为准,尤其要保留逆动力学读取相应未来视觉条件的连接。
带噪历史:不等视频完全清晰也能生成动作
式(10)以 0.5 的概率对视频历史加噪:,其中 在 [0.5,1] 采样;其余情况使用干净历史。这样,动作流学习从仍带噪、但包含任务结构的视觉表示中推断动作。
它支持推理时只对视频做部分去噪,再将计算留给动作。算法 1 用积分至 0.5 说明原理;第 4.2 节实际报告视频 3 步、至 0.6,动作 10 步、至 1.0。这是概念算法与实验设置的区别。LeRobot 当前默认又是视频 20 步、动作 50 步,video_exec_step=-1 不启用提前截断。三组数值不能相互代换,更不能据论文的 3 步设置估计当前默认代码的速度。
闭环执行:缓存要记住什么,异步要纠正什么
用真实反馈更新 KV 缓存
Transformer 的 KV 缓存保存历史 token 在各层形成的键和值,避免下一轮重新计算全部历史。算法 1 从初始观测开始,预测未来潜状态和动作,执行当前动作后收集真实观测,再将真实潜状态与已执行动作加入缓存。
缓存保存的是模型内部特征;它提供可用历史,能否利用好这些历史仍由学习结果决定。上下文窗口也有限。当前 LeRobot 使用 attn_window=30 并在新 episode 调用 reset 清空动作队列、Transformer 缓存和流式 VAE 缓存,不能把它理解成无限记忆或跨任务自动保留记忆。
异步不是只把两个线程同时启动

图 4A 的同步流程是“执行—观察—等待生成—继续执行”,红色斜线表示机器人等待计算。图 4B 让机器人执行当前块时,模型提前预测下一块,以重叠执行时间与生成时间。
代价是信息变旧:预测下一块时,当前块还没执行完。若模型只沿用此前想象出的画面,它可能继续相信“箱盖已经抓住”,忽略最近真实观测里夹爪已经滑脱的证据。图 4B-1 展示的正是这种旧预测继续占据上下文的情况。
论文的 FDM 校正 在此插入一次前向动力学计算:从最近真实观测出发,给定正在执行的动作,重新预测它的结果;再使用这个重新对齐的未来状态预测后续视频与动作。它使用模型中的前向预测能力,论文没有要求另部署一个完全独立的模拟器。后训练额外引入式(13)的前向预测损失,算法 2 描述执行分支与推理分支的配合。

教学示意:上下两路的区别在于是否用最新反馈重新预测当前动作的后果。下方时间线表示计算与执行重叠,不表示已经直接观测到未来,也不代表固定的时间比例。
时间例子: 假设当前动作块执行需 320 ms,下一块生成需 180 ms。同步节拍约为 320+180=500 ms;若生成可以被执行覆盖,理想流水节拍约为 320 ms,速度比约 500/320=1.56。这是忽略通信、冷启动和反馈等待的教学例子,不是论文实测。异步可以减少等待,但不能把已经过时的观测变成最新观测。
当前 LeRobot 的 select_action 在动作队列耗尽后,才用缓冲的真实关键帧和上一块动作更新缓存,再串行调用视频与动作生成。它实现了块间真实反馈;论文算法 2 还需要执行与预测并行,以及 FDM 对旧预测的校正。
数据、动作表示和训练阶段
论文第 4.1 节列出 AgiBot、RoboMind、InternData-A1、OXE 的 OpenVLA 子集、UMI 系列(不含 DexUMI)、RoboCOIN 六类来源,并包含内部采集轨迹,总计约 1.6 万小时机器人操作数据;每个数据集按 90%/10% 划分训练与验证。互联网视频知识主要通过 Wan 的预训练初始化引入,不应将这 1.6 万小时全部写成无动作标签的人类视频。
动作规范空间每臂含 7 维末端位姿、最多 7 维关节量与 1 维夹爪,双臂共 2×(7+7+1)=30 维。不存在的关节补齐。末端位姿与关节位置是两种控制表示,不能将全部槽位看成 30 个独立物理自由度。
在当前发布接口中,LIBERO 实际使用 7 个通道表示末端增量和夹爪;RoboTwin 用 16 个通道表示双臂 XYZ+四元数+夹爪,再由 CuRobo 逆运动学转成关节轨迹。虽然 30 维结构预留关节槽位,这两个发布检查点并不直接预测关节位置。接入自己的关节空间数据时,不能只补零就视为已经完成动作适配。
| 阶段 | 学习/使用的信息 | 需要区分的设置 |
|---|---|---|
| 初始化 | Wan2.2 视频生成先验,冻结视频 VAE 与文本编码器 | 论文非对称分支与当前共享骨干发布版不同 |
| 视频—动作预训练 | 机器人视频、动作、语言;动力学与逆动力学目标 | 论文报告 1.4T token、峰值学习率 1e-4、BF16、 |
| 下游后训练 | 目标平台与任务示范 | 通用适配例子为 1e-5、3K 步;六实机任务另报每任务 50 条、1e-4、500 步 |
| 部署 | 指令、初始画面、随后真实反馈及动作历史 | 输出动作;视频解码可用于观察预测,并非每步控制都要运行 |
论文方法节用 [1,8] 举例说明可变块长,第 4.2 节实际训练范围是 [1,4]。后训练的学习率与步数也随目标平台和实验设置变化。
实验:哪些结果支持方法,哪些条件不能省略
仿真:先看同一评测内的比较
RoboTwin 2.0 训练使用 50 个任务的 2,500 条 clean 示范及 25,000 条随机化示范,对应每任务 50 与 500 条。视频从 50 Hz 降采样至 12.5 Hz,动作仍为 50 Hz。Easy 固定初始配置,Hard 随机化物体姿态与场景布局(第 4.3.2 节)。
| 方法 | RoboTwin Easy | RoboTwin Hard |
|---|---|---|
| π0.5 | 82.7% | 76.8% |
| Motus | 88.7% | 87.0% |
| LingBot-VA | 92.93% | 91.55% |
表 1 为 50 任务平均成功率。与 Motus 的差异约为 4.2/4.6 个百分点;Horizon=3 任务组差异为 8.2/9.1 个百分点。这里的 horizon 是任务步骤分组,不是生成块长 。附录表 S1 也保留弱项:Hanging Mug 仅 40%/28%,Turn Switch 为 44%/45%,都不能被整体均值掩盖。
LIBERO 四套任务各含 10 个任务、每任务 50 条示范;论文对每套报告 3 个随机种子,每种子共 500 次评估,即每套合计 1,500 次。表 2 的结果如下:
| 方法 | Spatial | Object | Goal | Long | 平均 |
|---|---|---|---|---|---|
| X-VLA | 98.2 | 98.6 | 97.8 | 97.6 | 98.1 |
| LingBot-VA | 98.5 ± 0.3 | 99.6 ± 0.3 | 97.2 ± 0.2 | 98.5 ± 0.5 | 98.5 |
单位为成功率 %。Goal 上并未超过 X-VLA;基线数字引用自 X-VLA 文献,训练与实现条件未完全统一。表中保留原论文的 ± 值,原文未明确其是标准差、标准误还是置信区间。高成功率也限定于这些仿真任务与协议。
实机:成功率和进度分会给出不同判断

图 5 上半显示做早餐、拆快递、插管、捡螺丝、叠衣服、叠裤子六任务。每任务用 50 条实机示范后训练;附录表 S2—S7 各列出 20 次评估。进度分按子步骤得分除以最大得分计算,成功率由试验的 Success 标签统计,不能机械地由进度分是否满分反推。
| 任务 | LingBot-VA 进度分/成功率 | π0.5 进度分/成功率 |
|---|---|---|
| 做早餐 | 97.0 / 75.0 | 73.0 / 70.0 |
| 拆快递 | 84.5 / 65.0 | 73.0 / 25.0 |
| 插管 | 85.8 / 40.0 | 79.2 / 30.0 |
| 捡螺丝 | 82.5 / 70.0 | 74.0 / 50.0 |
| 叠衣服 | 48.8 / 35.0 | 62.9 / 30.0 |
| 叠裤子 | 76.7 / 70.0 | 30.0 / 30.0 |
单位均为 %,按附录表报告值整理。做早餐的成功率为 15/20=75%,即使平均步骤得分已有 97%,仍有四分之一试验没有获得成功标签。叠衣服成功率多 1 次,但平均进度分低 14.1 个百分点,与正文“六任务两项指标都领先”的笼统表述不同,图 5 本身也显示这个反例。
这些任务的平均成功率可按表复算为约 59.2% 与 39.2%,但一次实机试验就对应 5 个百分点。结果支持这组任务中的整体提升,不能单独证明每个组件的因果收益,也不能把 50 条目标任务示范说成从零训练仅用了 50 条数据。
异步与预训练消融:收益伴随代价
论文表 3 在 RoboTwin Easy 报告:
| 设置 | 全任务平均成功率 | Horizon=3 |
|---|---|---|
| LingBot-VA 基准行 | 92.9% | 93.2% |
| FDM 校正异步 | 90.4% | 85.6% |
| 简单异步 | 74.3% | 32.9% |
| 从 WAN 初始化后训练 | 80.6% | 67.6% |
FDM 校正比简单异步高 16.1 个百分点,长任务组高 52.7 个百分点,支持“旧预测必须重新对齐反馈”的设计。但它仍低于基准行:整体少 2.5 个百分点,长任务少 7.6 个百分点。作者报告异步约快 2 倍,表中未列出耗时或测试硬件;成功率结果说明,减少等待仍伴随性能代价。这项速度结果也不直接适用于 LeRobot 当前的串行生成路径。
WAN 初始化行与完整预训练行的差异支持机器人视频—动作预训练有价值。该比较改变了预训练经历,不能把全部差距归给一个注意力模块。表 3 没有提供 AR 与双向世界建模的直接对照,尚不能据此单独量化自回归结构的收益。
少样本、记忆与泛化各自说明什么

图 8 横轴是目标任务示范数量,纵轴是进度分。右图做早餐用 10 条示范时为 61.1% 与 45.5%,差 15.6 个百分点;50 条时为 97.0% 与 73.0%。左图 RoboTwin Easy 的 10 条结果为 58.2% 与 50.7%,差 7.5 个百分点;正文写成 10.3,而图中 5 条示范才对应 46.6−36.3=10.3。此处以图示对应关系为准。这些结果说明在所测后训练条件下更省示范,不代表预训练数据和计算成本更低。

擦盘要求恰好重复六次;搜盒要求记住刚打开的右盒为空,再去左盒。图 9 右侧柱状图为 LingBot-VA 两项均 100%,π0.5 分别为 47% 与 50%。它们比单帧抓取更能检验时间状态利用,但原文未报告这些柱的试验次数,也未在此单独移除 KV 缓存,不应推断为任何长历史任务都可靠。
图 10 则展示更换物体与扩大物体位置范围的可视化。它提示泛化能力,原文没有给出完整分布外成功率表或样本量,不能据几段成功展示宣称普遍鲁棒。视频外观连续、动作能完成任务、真实物理正确,仍是不同层次的评价。
LeRobot 接入:把论文机制与当前接口连起来
LeRobot 提供基础模型、LIBERO-Long 与 RoboTwin 后训练检查点。检查点保存主要可训练 Transformer 的权重;冻结 VAE、文本编码器及 tokenizer 在加载时另行取得,因此实际加载还需要这些组件。
相机顺序也是模型输入定义的一部分:LIBERO 先外部视角、再腕部视角,潜变量沿宽度拼接;RoboTwin 为头部、左腕、右腕,使用 robotwin_tshape 布局。交换相机名称而不调整布局,会改变空间含义。动作有效通道、末端位姿约定和归一化统计也需与检查点匹配。
默认 4×4=16 是一般动作块长度;固定源码的首块含初始条件帧,会丢弃该帧对应动作,因此首块实际返回 (4−1)×4=12 步,后续块才返回 16 步。当前接口是在队列耗尽后重新预测,不应将 20/50 次生成更新误称为控制频率。
训练 forward 会编码相机时间窗,并同时计算视频和动作流匹配损失;attn_mode=flex 是块因果训练路径的要求。save_predicted_video 会额外 VAE 解码,适合观察预测的环境变化;评估时应将这段想象视频与真实执行录像对照。
结论
LingBot-VA 的关键认识是:未来表示可以成为动作的生成条件,但它必须持续接受真实环境的纠正。 视频分支学习变化,动作分支从变化推断控制,历史缓存保留交互上下文;部分去噪和异步执行则处理生成模型进入控制环后的时间成本。
实验支持这条路线在所测仿真、实机与少样本设置中的价值,也留下明确边界:叠衣服进度分退步、简单异步明显退化、FDM 校正仍有成功率代价,且当前公开共享骨干与 LeRobot 接口不等同于论文完整系统。理解这些条件,比仅记住平均成功率更有助于判断方法适合怎样的后续实验。