PAPER DEEP DIVE
IMLE-VLA:用单步条件隐式最大似然估计加速视觉-语言-动作策略
VLA 策略的推理瓶颈不在视觉语言主干,而在动作头:扩散/流匹配头要跑 10 步 Euler 积分才出一个动作块,机器人只能在等待里停-走-停。IMLE-VLA 把 π0.5 的迭代动作头换成单步条件生成器,用条件隐式最大似然估计(cIMLE)训练——每步采 m 个噪声候选,把专家动作只匹配给最近的那一个候选(最近邻分配不回传梯度),其余候选因此可以自由地去覆盖别的模式,天然避免朴素回归头的模式坍缩。改动只限于动作头,3B VLM 主干完全冻结并原样保留,因此推理频率从 15 Hz 提到 55 Hz(3.67×),配合更长执行时域 H 动作吞吐最高 11.0×。LIBERO 40 任务平均成功率 98.0%,是所有对比方法里最高且同时最快;LIBERO-plus 五个等级的测试时扰动下保持 π0.5 的鲁棒性,而 OpenVLA-OFT 等基线急剧退化。真机 Franka Panda 四个任务全部超过 π0.5(19/15、18/15、15/12、16/12,每任务 20 回合),本体感受 jerk 低 2.2×–3.0×,每回合 VLA 前向耗时降 3.9×–6.6×。局限:加大 H 是拿反应性换吞吐;m=1 时退化为条件均值回归;评测集中在 LIBERO 与单臂桌面任务。
论文元信息
| 项目 | 内容 |
|---|---|
| 标题 | IMLE-VLA: Fast Single-Step Action Generation for Vision-Language-Action Policies(IMLE-VLA:用单步条件隐式最大似然估计加速视觉-语言-动作策略) |
| 作者 | Kian Hosseinkhani、Qinhe Peng、George Shramko、Mehran Aghabozorgi、Jianing Qian、Tristan Engst、Alireza Moazeni、Dinesh Jayaraman、Ke Li(通讯作者) |
| 机构 | 西蒙弗雷泽大学(SFU)、宾夕法尼亚大学(UPenn)、阿尔伯塔机器智能研究所(Amii,Canada CIFAR AI Chair) |
| arXiv | 2609.10915v1(2026-09-10,cs.RO),投稿 IROS 2026 |
| 项目主页 | kianhk6.github.io/IMLE-VLA(论文声明「Videos and code are available」,但截至撰写时页面只有演示视频,未见可用代码仓库,github_url 为空) |
| 模型构成 | 冻结的 $\pi_{0.5}$ 3B 视觉-语言骨干(参数一字不改)+ 单步条件生成器 $G_\theta$ 作为动作头;$G_\theta$ 从 $\pi_{0.5}$ 预训练 checkpoint 初始化,只微调动作头 |
| 训练目标 | 条件隐式最大似然估计 cIMLE(Li et al., 2018),采样因子 $m=2$;替换掉原 10 步 Euler 的条件流匹配(CFM)头 |
| 评测硬件 | 仿真:单张 NVIDIA L40S(推理频率基准含每步的语言/本体感知 tokenize 成本,50 episodes × 10 个 LIBERO-Long 任务取平均);真机:Franka Emika Panda + NVIDIA A6000,腕部与场景两路相机,策略在 DROID 上训练后零样本部署,每任务 20 episodes |
| 核心数字 | 推理频率 55 Hz($3.67\times$);$H{=}30$ 时动作吞吐 1,650 Hz($11.0\times$);LIBERO 40 任务平均成功率 98.0%(全部对比方法中最高);真机 VLA-only wall-clock 降低 $3.9\times$–$6.6\times$,本体感知 jerk 降低 $2.2\times$–$3.0\times$ |
一句话总结
IMLE-VLA 把 $\pi_{0.5}$ 那个必须跑 10 步 Euler 积分的流匹配动作头,换成一个用 cIMLE(winner-takes-all 的最近邻分配目标)训练的单步生成器:一次前向就吐出整个动作块,推理频率从 15 Hz 提到 55 Hz($3.67\times$),配合更长的执行时域把动作吞吐推到 $11.0\times$,同时在 LIBERO 40 个任务上拿到 98.0% 的最高平均成功率,在 LIBERO-plus 扰动下保持 $\pi_{0.5}$ 的鲁棒性,真机上四个任务全部胜过 $\pi_{0.5}$ 且运动更平滑(jerk 降 $2.2\times$–$3.0\times$)。
图1:论文 Fig. 1。IMLE-VLA 总览——以「即插即用」的方式把单步动作头塞进现有 VLA,去掉动作生成里的迭代式建模(10 步去噪/积分循环),VLM 主干保持原样。
研究背景与动机
视觉-语言-动作(VLA)策略之所以成为机器人学习里的主导通用范式,靠的是预训练视觉-语言模型带来的互联网规模视觉与语言知识,从而在任务与本体(embodiment)之间获得较强泛化。作者开篇就把这份泛化的代价点明:它很贵。大体积视觉-语言骨干叠加迭代式动作采样,使 VLA 推理成为高频实时控制的关键瓶颈;在同步执行的设定下,这份延迟直接变成控制回路里的死区时间——机器人必须停在那里等下一次预测算完,于是出现「走一下停一下」(stop-and-go)的执行形态,任务完成时间被拉长。
论文把这个瓶颈归因到 VLA 生成动作的方式上,并梳理出两条主流路线。第一条是自回归离散 token 解码:把每个动作表示成一串离散 token,逐个解码(RT-2、OpenVLA 一类)。这条路线的延迟来自串行解码,而且离散化本身会限制灵巧操作所需的细粒度连续精度。第二条是连续动作的多步采样:在 VLM 主干上挂一个动作专家(action expert),用扩散或流匹配生成动作,$\pi_{0.5}$ 属于这一类。它一次预测出一整块未来动作(action chunk),但为了得到这一块,仍然要跑多次顺序前向——$\pi_{0.5}$ 是 10 步 Euler。于是「动作生成」依旧是实时控制的主要瓶颈。
关键在于,扩散与流匹配动作头不是无缘无故存在的:它们被采用的核心理由是能够处理机器人动作分布固有的多模态性。同一句「clear the table」可以由多条合法动作序列完成,这些模型正是要把这种复杂性建模出来。所以最省事的加速方案——直接用单步回归头替换掉迭代生成——是有明确失效模式的:回归目标会在多个合法模态上做平均,把预测拉向单一均值行为,一旦动作分布是多模态的,性能就会退化(mode collapse)。作者在 Sec. IV-C 用实验把这一点验证了出来($m{=}1$ 的消融)。
于是论文把问题收敛成一句话:一个带 mode-covering 目标的单步生成器,能否替换掉迭代式动作生成,同时还能提升任务表现? 注意这里的措辞——不是「在可接受的精度损失下换速度」,而是「速度和成功率一起拿」。这个问法本身就决定了方法选型:必须找一个天然鼓励分布覆盖、而不是靠额外正则项去凑覆盖的目标函数。
作者给出的答案是 IMLE-VLA:用条件隐式最大似然估计(conditional Implicit Maximum Likelihood Estimation,cIMLE)训练的单步动作生成框架,把多步采样彻底删掉,同时用一个显式优化「模态覆盖」的目标来避免回归头的模态塌缩。实例化方式是把 $\pi_{0.5}$ 的 10 步流匹配动作头换成这个单步生成器;由于改动完全局限在动作头,整个 VLM 骨干原样保留。这带来 $3.67\times$ 的推理频率提升(55 Hz 对 15 Hz);再叠加更长的执行时域 $H$(策略可以更少地重规划),复利成最高 $11.0\times$ 的动作吞吐(推理频率 × $H$)。
把 IMLE-VLA 放进已有加速工作的坐标系里,可以看出它的差异化定位。作者把相关工作分成三类,每一类都有结构性缺陷:
| 技术路线 | 代表工作 | 收益 | 结构性代价 |
|---|---|---|---|
| 系统级优化 | Triton kernel 调优(Ma et al., 2025)、量化、torch.compile | 在固定算法下压缩常数因子,本文实测 15 → 20/25 Hz | 延迟仍被扩散头的顺序步数锁死;这些收益与本文的算法级改动正交,可以叠加 |
| 蒸馏 | Shallow-$\pi$(把 $\pi_{0.5}$ 蒸到更浅的学生)、consistency / one-step diffusion distillation | 学生更快(Shallow-$\pi_{0.5}$-L6 达 $2.3\times$) | 学生行为被绑定在教师分布上:降容量换来速度,成功率相对教师有可测损失(L6 掉到 94.5%);单步蒸馏学生还继承教师迭代采样器的偏置 |
| 无教师单步 | OpenVLA-OFT(把自回归解码换成 L1 回归头) | 直接从专家数据学单步生成,无教师上限 | L1 回归在多模态动作分布下塌到条件中位数;OpenVLA-OFT 自己承认其可行性依赖 OpenVLA 的 7B 骨干,结果比 3B 骨干的 IMLE-VLA 慢 $5.3\times$,且在 LIBERO-plus 扰动下成功率急剧下滑 |
还有一条作者特别强调的差别:此前的单步多模态动作生成几乎只存在于专家策略(specialist)里——任务特定模型,每换一个场景就要重新采数据、重新训练;即便在这些窄域里,为了压制模态塌缩也要引入复杂的辅助正则项来鼓励分布覆盖。cIMLE 的不同在于它由构造本身(by construction)强制模态覆盖,不需要额外正则。但它在机器人领域此前也只被用在专家设定(IMLE Policy、PRISM、基于 IMLE 的实时生成式 MPC 等),因此继承了同样的泛化瓶颈。IMLE-VLA 是第一个把 cIMLE 接到 VLA 上的工作:在一个利用互联网规模视觉-语言预训练、跨任务跨本体泛化的通用策略里实现单步动作生成。
预备知识:动作块、滚动时域与三个评测口径
论文所有实验都跑在同一个标准滚动时域(receding-horizon)循环上:策略观测 $o_t$,跑一次前向预测出一个动作块,机器人开环执行这个块里的前 $H$ 个动作,然后重新观测、重复。这里 $H$ 是执行时域,即每次前向后开环执行的动作数,$H$ 越大意味着重规划越少。动作块本身记作 $A \in \mathbb{R}^{C \times D}$,$C$ 是预测时域(模型一次能看多远),$D$ 是动作空间维度;$H$ 与 $C$ 是两个不同的量,$H \leq C$,这个区分在后面读消融时很关键。
作者报告三个指标,每个都针对延迟问题的一个侧面。第一是任务成功率,策略质量的主度量。第二是动作吞吐(action throughput),定义为每秒交付给机器人的可执行动作数,等于推理频率 × $H$——它衡量的是「机器人手里有没有足够的动作可用」。第三是 VLA-only wall-clock(VLA-WC),每个成功 episode 里只花在 VLA 前向传播上的总时间,不含机器人执行与其他非推理开销——它衡量的是「模型计算到底吃掉了多少真实时间」。三个指标一起看才能区分两种完全不同的加速:一种让每次前向更快,一种让前向次数更少。
被替换掉的原动作头是条件流匹配(Conditional Flow Matching,CFM):训练时学一个速度场,推理时需要对学到的速度场做数值积分,实践上就是 10 步 Euler,即 10 次顺序前向才得到一个动作块。这正是积分瓶颈的来源。作者的论证很清楚:由于瓶颈是算法性的,纯系统级优化只能压常数、压不掉那个 10 倍的下限——Table I 里 PyTorch + torch.compile 与 Triton kernel 分别只把 15 Hz 推到 20 Hz 与 25 Hz,就是这个天花板存在的直接证据。
方法详解
1. 架构:冻结 VLM 骨干 + 轻量单步动作头
IMLE-VLA 沿用 VLA 的标准耦合方式——高容量 VLM 骨干加一个轻量动作头——但把「轻量」这件事推到了极致:VLM 参数完全冻结。作者的理由是,冻结可以原样保留互联网规模预训练学到的空间与语义特征;而由于 VLM 占了模型参数的绝大部分且不动,训练就退化成只训动作头,成本极低。这一点决定了它是「drop-in replacement」而不是一个新模型:论文的结论部分明确说,因为改动只在动作头,它可以直接替换现有 VLA 里的迭代式动作头。
每个时间步 $t$,观测 $o_t$ 由视觉输入与语言指令构成,VLM 把它编码成一组潜嵌入 $f_{\mathrm{VLM}}(o_t)$,用来条件化动作生成。与扩散/流匹配需要多次顺序去噪不同,这里用一个单步条件生成器 $G_\theta$,把高斯噪声直接映射成多模态动作块。采样一个与 $A$ 同维度的潜噪声 $z \sim \mathcal{N}(0, \mathbf{I})$,生成器在一次前向里把 VLM 嵌入与噪声映射成完整动作块:
$$\hat{A} = G_\theta\!\left(f_{\mathrm{VLM}}(o_t),\, z\right). \tag{1}$$
关键在于 $z$ 的角色。采样不同的潜向量,$G_\theta$ 就能产生不同的动作块候选,从而刻画底层条件分布 $p(A \mid o_t)$;这份随机性正是模型不回落到单一平均结果、保住复杂行为所需表达力的来源。$G_\theta$ 从预训练的 $\pi_{0.5}$ checkpoint 初始化,然后用 cIMLE 目标微调,全程 VLM 骨干冻结。
2. cIMLE 要解决的具体矛盾
作者的表述值得逐句拆。目标是「在不牺牲动作分布多模态性的前提下,一次前向生成一个动作块」。多模态性的来源是:一条指令可以由多条合法动作序列执行,每一种行为都是条件动作分布 $p(A \mid o_t)$ 的一个不同模态。而训练数据里的每一条样本对 $(o_t^{(i)}, A_{\mathrm{gt}}^{(i)})$ 只捕捉其中一种行为;数据里存在观测极其相似、真值动作却非常不同的样本对。因此,一个更快的动作头必须仍然有能力对同一个观测给出不同的动作。这句话是整个方法的约束条件:任何把 $G_\theta(f_{\mathrm{VLM}}(o_t), z)$ 对 $z$ 变成常函数的目标都会违反它。
cIMLE 的做法是把动作生成重述成一个单步映射,直接把潜噪声变换成动作块,从而删掉迭代采样成本,同时保留底层分布的表达力。给定训练集 $\{(o_t^{(i)}, A_{\mathrm{gt}}^{(i)})\}_{i=1}^{n}$,对每个数据点 $i$ 抽取 $m$ 个(采样因子,sample factor)独立噪声向量 $\{z_{i,1}, \dots, z_{i,m}\}$,在同一个 VLM 嵌入 $f_{\mathrm{VLM}}(o_t^{(i)})$ 的条件下生成 $m$ 个候选动作块:
$$\hat{A}_{i,j} = G_\theta\!\left(f_{\mathrm{VLM}}(o_t^{(i)}),\, z_{i,j}\right), \quad j = 1, \dots, m. \tag{2}$$
3. 两步交替:无梯度分配 + 只对赢家回传
cIMLE 的训练在两个交替步骤之间进行。第一步是无梯度的分配步(assignment):对每个真值动作 $A_{\mathrm{gt}}^{(i)}$,在由同一观测 $o_t^{(i)}$ 生成的 $m$ 个候选里找出它的最近邻:
$$j^{*}(i) = \operatorname*{arg\,min}_{j \in \{1, \dots, m\}} \left\lVert \hat{A}_{i,j} - A_{\mathrm{gt}}^{(i)} \right\rVert_2^2. \tag{3}$$
第二步是更新步:最小化每个真值动作与它被分配到的那个最近邻之间的距离:
$$\mathcal{L}_{\mathrm{cIMLE}} = \frac{1}{n} \sum_{i=1}^{n} \left\lVert \hat{A}_{i, j^{*}(i)} - A_{\mathrm{gt}}^{(i)} \right\rVert_2^2. \tag{4}$$
这是一个 winner-takes-all(赢者通吃)目标。它与朴素 L2 回归的差别不在损失的形式,而在谁被计入损失:朴素回归对全部 $m$ 个候选都施加向同一个真值靠拢的梯度,于是所有候选被拉到一起;式 (4) 只惩罚最近的那一个,其余 $m-1$ 个候选不受惩罚,因此可以自由地去覆盖别的模态。外层求和保证每个模态都被某个样本覆盖到,最近邻分配则让生成器把不同的潜码 $z$ 映射到不同模态,而不是把它们塌成一个平均动作。
4. 为什么 $m=1$ 必然塌:从式 (4) 到条件均值
论文用 $m$ 的两个极端情形来说明这个目标的性质。取 $m = 1$ 时,最近邻选择 $j^{*}(i)$ 变得平凡(只有一个候选),式 (4) 退化成纯 L2 回归:
$$\mathcal{L}_{m=1} = \mathbb{E}_{(o_t,\, A_{\mathrm{gt}})}\, \mathbb{E}_{z} \left\lVert G_\theta\!\left(f_{\mathrm{VLM}}(o_t),\, z\right) - A_{\mathrm{gt}} \right\rVert_2^2, \tag{5}$$
它的最优解忽略噪声,输出条件均值:
$$G_{\theta^{*}}\!\left(f_{\mathrm{VLM}}(o_t),\, z\right) = \mathbb{E}\!\left[A_{\mathrm{gt}} \mid o_t\right] \quad \text{for all } z. \tag{6}$$
式 (6) 是这篇文章里最有解释力的一行。它的含义是:即便给定观测存在多个正确动作,$m=1$ 的模型仍会被优化成把这些正确动作平均成一个;而这个平均值可能落在各模态之间,通常哪个示范行为都不匹配,因而是一个非法动作。这就是「mode collapse 不是实现问题而是目标函数问题」的严格表述,也解释了为什么 OpenVLA-OFT 需要靠 7B 骨干的容量来「救」L1 回归(L1 塌到条件中位数,性质类似),以及为什么它在分布偏移下最先垮。
5. Algorithm 1:训练开销为什么可以忽略
作者的伪代码给出四个工程细节,每一个都直接对应「这个目标会不会拖慢训练」的疑问。其一,预处理阶段每个 batch 只算一次 VLM 嵌入:$f_{\mathrm{VLM}}(o_t^{(i)})$ 对所有 $i \in [B]$ 计算一次,然后在 $m$ 个候选之间共享,避免重复跑骨干。其二,分配步不带梯度:$j^{*}(i)$ 的选择在不跟踪梯度的情况下完成。其三,只有获胜候选被重新计算用于反向传播——即 $\hat{A}_i^{*} \leftarrow G_\theta(f_{\mathrm{VLM}}(o_t^{(i)}), z_{i,j^{*}(i)})$ 带梯度重算,然后 $\theta \leftarrow \theta - \eta \nabla_\theta \mathcal{L}$,只更新动作头。其四,虽然伪代码为叙述清晰写成串行,实际的分配步在 batch 与 $m$ 两个维度上并行执行。
实践中作者发现 $m = 2$ 在表达力与计算效率之间取得有效平衡(消融见下节)。换句话说,多模态覆盖的开关只需要两个候选就能打开:$m=2$ 已经让式 (3) 的分配产生非平凡的选择,而 $m=5$ 带来的额外收益接近于零。
flowchart TD
subgraph INFER["Inference (one forward pass per replan)"]
OBS["Observation o_t
two RGB views + language instruction"] --> VLM["Frozen pi-0.5 3B VLM backbone
f_VLM(o_t), parameters never updated"]
NOISE["Sample z ~ N(0, I)
same shape as action chunk A in R^(C x D)"] --> GEN["Single-step generator G_theta
A_hat = G_theta(f_VLM(o_t), z) Eq.(1)"]
VLM --> GEN
GEN --> EXEC["Execute first H actions open loop
then observe again (receding horizon)"]
end
subgraph TRAIN["cIMLE training (Algorithm 1, action head only)"]
BATCH["Batch {(o_t_i, A_gt_i)}_{i=1..B}"] --> EMB["Preprocess: compute f_VLM(o_t_i) ONCE per batch
shared by all m candidates"]
EMB --> CAND["Draw m=2 noise vectors z_{i,j}
generate m candidates A_hat_{i,j} Eq.(2)"]
CAND --> ASSIGN["Assignment step, gradient free
j*(i) = argmin_j ||A_hat_{i,j} - A_gt_i||_2^2 Eq.(3)"]
ASSIGN --> WIN["Recompute winner WITH gradients
A_hat_i* = G_theta(f_VLM(o_t_i), z_{i,j*(i)})"]
WIN --> LOSS["L_cIMLE = (1/n) sum_i ||A_hat_i* - A_gt_i||_2^2 Eq.(4)
losers receive no penalty, so they cover other modes"]
LOSS --> UPD["theta <- theta - eta * grad(L)
VLM backbone stays frozen"]
UPD --> CAND
end
INIT["G_theta initialized from pi-0.5 checkpoint
replaces the 10-step Euler CFM head"] --> WIN
EXEC -.-> EVAL["55 Hz inference (3.67x over 15 Hz JAX)
throughput = 55 x H, up to 1650 Hz at H=30"]
流程图:本文方法的两条回路。上半是推理回路——观测经冻结 VLM 得到嵌入,与一个高斯噪声一起被单步生成器映射成动作块,开环执行前 $H$ 个动作后再重新观测;下半是训练回路——每 batch 只算一次 VLM 嵌入,生成 $m$ 个候选,无梯度地选出最近邻作为赢家,只对赢家回传式 (4) 的损失,且只更新动作头参数。
实验结果
1. 推理频率:算法瓶颈压不下去,删掉它才行
效率基准在单张 NVIDIA L40S 上做,使用自然语言任务提示与标准双视角图像输入。这里的评测协议有一个容易被忽略但很重要的细节:它贴近真实部署。与先前一些用空提示或静态缓冲区的基准不同,本文把每次前向调用中不可避免的语言指令与本体感知状态 tokenize 成本计入。也就是说 55 Hz 不是一个「理想条件下的峰值」,而是含预处理开销的端到端前向频率。
| 系统 | 推理频率 (Hz) ↑ | 相对倍数 ↑ |
|---|---|---|
| $\pi_{0.5}$(原始 JAX 实现) | 15 | $1.00\times$ |
| PyTorch + torch.compile | 20 | $1.33\times$ |
| Triton 定制 kernel | 25 | $1.67\times$ |
| IMLE-VLA(本文) | 55 | $\mathbf{3.67\times}$ |
表1:论文 Table I。NVIDIA L40S 上测得的推理频率(每秒 VLA 前向次数),在 10 个 LIBERO-Long 任务上跨 50 episodes 平均。
这张表的读法是「系统级优化的收益曲线已经平了」:从 JAX 到 torch.compile 是 $1.33\times$,再加专用 Triton kernel 只到 $1.67\times$。作者的解释是瓶颈在算法层面——10 步流匹配循环施加了一个系统级优化无法逾越的基本上限。而 IMLE-VLA 保持完全相同的 VLM 骨干架构,只把迭代式动作头换成单步条件生成器,就到 55 Hz。$3.67\times$ 与 $1.67\times$ 的差值,就是「删掉 9 次前向」与「把 10 次前向各自做快一点」之间的差距。
作者还指出这类优化与系统级工作是可叠加的:他们的实现里就利用了高效的 Triton kernel 进一步放大推理频率。也就是说,55 Hz 不是把别人的工程收益让掉换来的。
2. LIBERO:唯一一个成功率与推理频率同时领先的方法
LIBERO 是 40 个桌面操作任务,分四个 suite(Spatial、Object、Goal、Long),每个 suite 10 个任务,Franka Emika Panda 机械臂,标准协议下每任务 50 episodes。表中 Inf. ($\times$) 是相对 $\pi_{0.5}$ 在匹配硬件上的推理频率比;$\pi_{0.5}$、IMLE-VLA 与 OpenVLA-OFT 由作者自己在 L40S 上测,其余基线的比值取自 Jeon et al.(Shallow-$\pi$,在 H100 上测)。
| 模型 | $H$ | Spatial | Object | Goal | Long | 平均 ↑ | 推理 ($\times$) ↑ |
|---|---|---|---|---|---|---|---|
| $\pi_{0.5}$ | 10 | 97.2 | 99.0 | 97.8 | 96.0 | 97.5 | 1.0 |
| $\pi_{0.5}$ | 30 | 95.0 | 98.0 | 96.2 | 95.2 | 96.1 | 1.0 |
| $\pi_0$ | – | 96.8 | 98.8 | 95.8 | 85.2 | 94.2 | 1.12 |
| OpenVLA-OFT | – | 95.2 | 94.2 | 95.2 | 93.2 | 94.5 | 0.69 |
| CogVLA | – | 99.0 | 99.0 | 97.0 | 95.0 | 97.5 | 0.8 |
| SmolVLA | – | 90.0 | 96.0 | 92.0 | 71.0 | 87.3 | 1.0 |
| Shallow-$\pi_{0.5}$-L9 | – | 99.0 | 98.0 | 97.0 | 93.0 | 96.8 | 1.7 |
| Shallow-$\pi_{0.5}$-L6 | – | 98.0 | 96.0 | 94.0 | 90.0 | 94.5 | 2.3 |
| IMLE-VLA | 10 | 98.0 | 99.8 | 98.2 | 96.0 | 98.0 | 3.67 |
| IMLE-VLA | 30 | 97.2 | 99.0 | 96.2 | 95.8 | 97.1 | 3.67 |
表2:论文 Table II。LIBERO 四个 suite 的成功率(%,每任务 50 episodes)及其平均。$H$ 为执行时域(每次前向开环执行的动作数,「–」表示原文未指定)。
在 $H{=}10$ 下 IMLE-VLA 拿到 98.0% 的平均成功率,是所有对比方法里最高的,同时以 $3.67\times$ 领先推理频率。作者的对比论证有几处很扎实:最快的竞争加速方案 Shallow-$\pi_{0.5}$-L6($2.3\times$)仍然比 IMLE-VLA 慢,而且因为降了模型容量掉到 94.5%;OpenVLA-OFT 在同一份未过滤数据集上是 94.5%,推理频率却低于 $\pi_{0.5}$($0.69\times$),反映了 7B 骨干的代价。IMLE-VLA 是唯一同时在成功率与推理频率两项上都领先的方法。
值得注意的是与教师本身的比较:$H{=}10$ 时 IMLE-VLA 的 98.0% 高于 $\pi_{0.5}$ 的 97.5%,四个 suite 里 Object(99.8 对 99.0)、Goal(98.2 对 97.8)、Long(96.0 对 96.0)持平或更好,只有 Spatial 略低(98.0 对 97.2)。这意味着换成单步头没有付出精度代价——这与「蒸馏必然掉点」的经验相反,因为这里没有教师,动作头是直接对专家动作拟合的。
3. 动作吞吐与 VLA-only wall-clock:两种加速来源要分开算
| 系统 | $H$ | 动作吞吐 (Hz) | 相对倍数 | 前向次数 | VLA-WC (s) | VLA-WC 倍数 |
|---|---|---|---|---|---|---|
| $\pi_{0.5}$(JAX) | 10 | 150 | $1.00\times$ | 15.4 | 1.03 | $1.0\times$ |
| PyTorch + torch.compile | 10 | 200 | $1.33\times$ | – | – | – |
| Triton | 10 | 250 | $1.67\times$ | – | – | – |
| 本文 | 10 | 550 | $3.67\times$ | 15.5 | 0.28 | $3.6\times$ |
| 本文 | 30 | 1,650 | $\mathbf{11.00\times}$ | 5.4 | 0.10 | $\mathbf{10.5\times}$ |
表3:论文 Table III(动作吞吐,定义为推理频率 × 执行时域 $H$)与 Table IV(VLA-only wall-clock,每个成功 episode 只花在 VLA 前向上的时间与平均前向次数)合并整理。吞吐倍数以 $\pi_{0.5}$ 在 $H{=}10$ 为基准。
把两张表放在一起,能清楚看到两种加速来源。$H{=}10$ 时:前向次数几乎一样(15.5 对 15.4),VLA-WC 却从 1.03 s 掉到 0.28 s($3.6\times$)——收益纯粹来自「每次前向更轻」,因为不再有 10 步积分。$H{=}30$ 时:前向次数本身降到约三分之一(5.4 次),叠加更快的单次前向,总体降到 $10.5\times$(0.10 s),动作吞吐复利到 $11.0\times$(1,650 Hz)。这也说明「省下来的推理时间可以再投资到更长时域」这个论点是可量化的:单次前向快 $3.67\times$,就能在不超出 $\pi_{0.5}$ 单个重规划周期时间的前提下把 $H$ 拉长三倍。
4. 方法分析:时域消融与采样因子消融
时域消融(论文 Fig. 3)报告 IMLE-VLA 在四个 suite 上的 LIBERO 平均成功率随执行时域 $H$ 的变化。$H{=}10$ 时 98.0%,随 $H$ 增大性能逐步退化,$H{=}30$ 仍有 97.1%。作者的判断是 $H{=}30$ 提供最佳的吞吐-精度平衡:它在给出 $11.0\times$ 动作吞吐的同时,成功率还高于同一时域下的 $\pi_{0.5}$(97.1% 对 96.1%)。这里作者没有回避代价——延长 $H$ 本质上仍然是在用反应性换吞吐:机器人在条件化到新观测之前要执行更多开环动作。
图2:论文 Fig. 2。LIBERO-plus 分布偏移下的鲁棒性:四个扰动维度(背景、机器人初始状态、语言、布局)各五个难度等级(L1–L5)。基线随严重度上升急剧退化,IMLE-VLA 全程匹配 $\pi_{0.5}$ 的鲁棒性;OpenVLA-OFT 的下滑与其 L1 回归目标的已知缺陷一致。
采样因子消融(论文 Fig. 4)报告 $H{=}10$ 下 $m \in \{1, 2, 5\}$ 的 LIBERO 平均成功率。$m{=}1$ 时分配平凡、cIMLE 退化为标准 L2 回归、没有模态覆盖保证,结果出现明显下滑——这正好在实验上验证了式 (5)(6) 的理论推断,也印证了 OpenVLA-OFT 自己承认的 L1 回归局限。$m{=}2$ 时模态覆盖性质被激活,性能大幅恢复;继续加到 $m{=}5$ 结果几乎相同,说明收益递减。因此全文统一用 $m{=}2$,在保住性能的同时把「每步多生成候选」的训练成本压到最低。
LIBERO-plus 上的鲁棒性是这篇论文里我认为最有分量的一组结果。LIBERO-plus 对 LIBERO 任务施加系统性测试时扰动,覆盖四个轴(背景、机器人初始状态、语言、布局)与五个严重度等级(L1–L5)。结论是:在所有轴与所有等级上,IMLE-VLA 都保持 $\pi_{0.5}$ 的鲁棒性,而其他所有基线随严重度上升出现更大跌幅,其中 OpenVLA-OFT 下滑最剧烈。作者把这个现象归因到目标函数上:cIMLE 由构造强制模态覆盖,避开了「回归到中位数/均值」这一失效模式。换句话说,分布偏移下先垮的不是骨干小的模型,而是目标函数会塌模态的模型——IMLE-VLA 用 3B 骨干扛住了扰动,而 7B 骨干的 OpenVLA-OFT 没有。
5. 真机:Franka Panda + A6000,四个任务全胜
真机部分对照 $\pi_{0.5}$(标准 JAX 实现),平台是 Franka Emika Panda 配 NVIDIA A6000,腕部与场景两路相机。两个策略都在 DROID 上训练,零样本部署到四个桌面操作任务,每任务 20 episodes 统计成功。$\pi_{0.5}$ 以 15 Hz 控制频率运行,IMLE-VLA 以 55 Hz 运行。作者对时域选择的说明很诚实:与 LIBERO 的确定性接触动力学不同,真机操作引入物理不确定性(抓取滑移、表面摩擦变化),需要更频繁的重规划,因此沿用 $\pi_{0.5}$ 的默认时域 $H{=}8$,只把 IMLE-VLA 放宽到 $H{=}12$——因为更快的推理足以补偿更长时域,最终的墙钟重规划间隔仍然比 $\pi_{0.5}$ 短。
| 任务 | 成功 (本文 / 20) | 成功 ($\pi_{0.5}$ / 20) | VLA-WC 本文 (s) | VLA-WC $\pi_{0.5}$ (s) | jerk 比 ↓ |
|---|---|---|---|---|---|
| 菠萝放进碗(单步) | 19 | 15 | 18.56 | 123 | $2.7\times$ |
| 交换菠萝与方块(多步) | 18 | 15 | 31.1 | 178.3 | $2.2\times$ |
| 菠萝放进柜子(多步,含关门) | 15 | 12 | 99.4 | 389.4 | $3.0\times$ |
| 菠萝放到移动的盘子上(反应型) | 16 | 12 | 16.7 | 89.5 | $2.7\times$ |
表4:论文 Table V。Franka Emika Panda + NVIDIA A6000 真机结果,每任务 20 episodes。VLA-WC 为每个成功 episode 上只花在 VLA 前向的墙钟时间(按任务在成功 episode 上平均);jerk 比为 $\pi_{0.5}$ 的平均本体感知 jerk 与本文之比,越大表示本文运动越平滑。四个任务的 VLA-WC 降幅为 $3.9\times$–$6.6\times$。
四个任务覆盖了三种能力:单步操作(抓起软质菠萝玩具放进碗)、多阶段顺序推理(先把菠萝从碗里取出、再把红方块放进去;或把菠萝放进柜子再关门)、以及对动态环境的反应性(一辆遥控小车拖着盘子在桌面上移动,机器人要把菠萝放到移动中的盘子上,需要持续调整目标)。IMLE-VLA 在每个任务上都胜过 $\pi_{0.5}$,VLA-only wall-clock 降低 $3.9\times$–$6.6\times$,端到端完成时间约快 2 倍(补充视频)。
图3:论文 Fig. 5。真机实验的三类任务:单步操作、多步顺序推理、动态反应性。IMLE-VLA 在三类任务上都产生更快、更平滑、成功率更高的动作。
运动质量被作者量化成本体感知 jerk:对测得的关节位置取三阶后向有限差分(7 个手臂关节,不含夹爪),除以 $dt^3$ 归一化,再在关节与时间步上平均。IMLE-VLA 在四个任务上把平均 jerk 降低 $2.2\times$–$3.0\times$。物理解释是两条机制叠加:更快的推理缩短了机器人空等模型计算的时间,更长的执行时域减少了重规划次数,两者共同消除了 $\pi_{0.5}$ 在每次重规划处表现出的「停-等-执行」停顿与突然的方向修正。作者给了两个具体观察:在「交换菠萝与方块」上,$\pi_{0.5}$ 在每次放置前反复改变方向,而 IMLE-VLA 走直接轨迹、更快完成;在「菠萝放进柜子」上,当菠萝在插入过程中从夹爪滑落时,IMLE-VLA 因为重规划间隔短,能快速检测到失败并重新抓取。
反应型任务上差异最大,也最能说明「延迟如何变成失败」。虽然 IMLE-VLA 执行的动作时域更长,但更快的推理让它的墙钟重规划周期短得多,于是策略在实时意义上更频繁地闭合感知-动作回路,能持续跟踪并适应盘子的运动。反过来,$\pi_{0.5}$ 重规划更慢,因此不断基于越来越陈旧的观测行动:等新动作序列算出来,盘子已经移动,机器人反复伸向过时的目标位置,最终无法完成任务。这一段的因果链是清晰的——不是「策略不够聪明」,而是「策略拿到的观测已经过期」。
局限性
作者自述:延长执行时域以反应性换吞吐。论文在时域消融处明确写道,延长 $H$ 仍然是在用反应性换吞吐——机器人在条件化到新观测之前要执行更多开环动作。$11.0\times$ 的动作吞吐是靠 $H{=}30$ 拿到的,而同一个配置下成功率从 98.0% 降到 97.1%。更重要的是,这个代价在快变环境里会被放大:论文自己的「移动盘子」任务恰好说明感知-动作回路的闭合频率决定成败,而 $H{=}30$ 意味着两次观测之间机器人要开环执行 30 个动作。文中没有给出「$H$ 应该随场景动态性自适应调整」的机制,实际部署时 $H$ 是人工设定的固定值(仿真 10/30,真机 12)。
作者自述:$m=1$ 时目标退化为均值回归。式 (5)(6) 与 Fig. 4 的消融共同说明,cIMLE 的模态覆盖能力完全依赖 $m > 1$;$m{=}1$ 时分配平凡,目标塌成标准 L2 回归,最优解忽略噪声输出条件均值,性能明显下滑。这不是一个可选的调参项,而是方法成立的前提。
读者视角补充:其一,$m{=}2$ 意味着生成器最多只被显式训练去覆盖两个模态。作者用 $m{=}5$ 的「几乎相同」来论证收益递减,但那是在 LIBERO 这种任务分布上测的——LIBERO 的桌面任务里真正显著歧义的决策点(从左绕还是从右绕)本来就不多。在歧义更重的场景(长时程装配、需要多种工具选择、人机共处时的多条避让路线),两模态覆盖是否足够,论文没有证据。
其二,「drop-in replacement」的主张只在 $\pi_{0.5}$ 上被验证过。结论部分说因为改动只在动作头,它可以直接替换现有 VLA 的迭代式动作头;但全部实验(Table I–V)都建立在 $\pi_{0.5}$ 的 3B 骨干与它的 CFM 头之上。$\pi_0$、RDT-1B、CogACT 这类不同容量、不同动作专家结构的模型能否同样受益,以及 $G_\theta$ 从 checkpoint 初始化这件事对「必须存在一个可初始化的迭代式教师头」的隐含依赖,都没有测。
其三,评测面偏窄。仿真主结果集中在 LIBERO 这一个基准(40 个桌面任务、单臂 Franka、确定性接触动力学),鲁棒性证据来自 LIBERO-plus(同一批任务的扰动版本)。真机也只有单臂桌面操作、四个任务、每任务 20 episodes——19/20 对 15/20 这类差异在 20 次试验下的置信区间相当宽,论文没有给出显著性检验、跨 seed 方差或失败模式分布。双臂、移动操作、loco-manipulation、长时程多物体场景都不在覆盖范围内。
其四,训练成本没有报告。论文强调「训练退化为只训动作头,成本极低」「cIMLE 增加的训练开销可忽略」,但没有给出 GPU 小时、步数、数据集规模或与 CFM 头训练的对照。读者无法判断「便宜」到什么量级,也无法判断 $m{=}2$ 的候选生成在大数据集上的实际额外成本。
其五,代码尚未可用。摘要声明「Videos and code are available at」项目主页,但截至撰写时该页面只有演示视频,未见可运行的训练/推理代码,DB 里 github_url 为空。这意味着 55 Hz、98.0%、$11.0\times$ 这些数字目前无法独立复现,Table II 中部分基线比值还引自另一篇论文在不同硬件(H100)上的测量,横向可比性有一层间接性。
总结与展望
IMLE-VLA 的贡献可以按「问题—目标—实例化—证据」四层来概括。问题层:VLA 的延迟瓶颈主要来自迭代式动作生成($\pi_{0.5}$ 的 10 步 Euler),而系统级优化压不掉这个算法性上限(15 → 20 → 25 Hz 的平缓曲线)。目标层:单步回归头会因目标函数而塌模态(式 (5)(6) 给出严格表述,$m{=}1$ 消融给出实验验证),所以需要一个由构造强制模态覆盖的目标——cIMLE 的最近邻分配正好做到「只惩罚赢家,其余候选自由覆盖别的模态」。实例化层:冻结 VLM 骨干、只训从 $\pi_{0.5}$ checkpoint 初始化的动作头、$m{=}2$、VLM 嵌入每 batch 算一次、分配无梯度、只对赢家回传——这一组工程选择让训练开销可以忽略。证据层:55 Hz($3.67\times$)、$H{=}30$ 时 1,650 Hz($11.0\times$)与 VLA-WC 降 $10.5\times$;LIBERO 98.0% 为全场最高且推理频率同时领先;LIBERO-plus 上保持 $\pi_{0.5}$ 鲁棒性而其他基线急剧退化;真机四任务全胜、jerk 降 $2.2\times$–$3.0\times$、VLA-WC 降 $3.9\times$–$6.6\times$。
从方法论角度看,这篇文章最有迁移价值的判断是:把「速度问题」与「分布建模问题」解耦。此前的加速路线要么压常数(kernel、量化、编译),要么压容量(蒸馏到更浅的学生),要么换目标但接受了目标带来的模态塌缩(L1 回归头)。IMLE-VLA 指出第三条路上的塌缩不是「单步生成」的必然属性,而是「用回归损失做单步生成」的属性;换一个 winner-takes-all 的损失,单步生成与多模态覆盖可以同时成立。这也解释了为什么它在 LIBERO-plus 上比 7B 骨干的 OpenVLA-OFT 更稳:分布偏移下先失效的是塌模态的目标,而不是小骨干。
往后看,作者在结论里把 IMLE-VLA 定位为「现有 VLA 中迭代式动作头的即插即用替换」,并称之为通向更快通用机器人策略的一个有希望的方向。顺着本文暴露的约束倒推,最值得做的几个延伸是:把 cIMLE 头迁移到其他 VLA 家族($\pi_0$、RDT-1B、CogACT)以真正验证 drop-in 主张;研究 $m$ 与场景歧义度的关系,做自适应采样因子而不是固定 $m{=}2$;把 $H$ 从人工常数变成随环境动态性自适应的量,以缓解作者自述的反应性代价;以及把评测扩到双臂、移动操作与长时程任务,并公开代码与训练成本,让 55 Hz 与 98.0% 可被独立复现。
金句
把 VLA 从 15 Hz 提到 55 Hz,靠的不是把 10 步积分算得更快,而是承认那 10 步从一开始就不必存在——而让它不必存在的前提,是想清楚为什么当初需要它:不是「生成」需要多步,是「用回归损失做多步之外的单步」会把所有正确答案平均成一个错误答案。换掉损失,步数就白送了。



