VLA理解与问答论文解读

斯坦福解决VLA速率慢的方法:Real-Time EXPO-FT

Stevlen.Fu Hongjin2026-09-19 18:34
斯坦福解决VLA速率慢的方法:Real-Time EXPO-FT

Real-Time EXPO-FT:当 VLA 的延迟改变了控制问题本身

过去两年,Vision-Language-Action Model 的能力增长很快。越来越大的预训练模型开始具备跨任务、跨场景甚至跨 embodiment 的行为先验,机器人也第一次有机会从一个相对通用的策略出发,再通过少量数据适应具体任务。而模型越大,一个很现实的问题就越难忽略:机器人不会等模型算完。

对于静态 Pick-and-Place,这个问题有时并不明显。桌上的杯子在模型推理的几十到几百毫秒里不会突然跑掉,机械臂晚一点伸过去,可能仍然能完成任务。一旦任务开始涉及运动物体、动态接触、平衡或者准确时机,VLA 的推理延迟就直接改变了控制问题本身,所谓"速度稍微慢一点"远远不足以描述它的后果。

《Reinforcement Learning for Real-Time Vision-Language-Action Policies》讨论的就是这个问题。论文由 Perry Dong、Kuo-Han Hung、Dorsa Sadigh 和 Chelsea Finn 完成,于 2026 年 9 月提交。作者提出 Real-Time EXPO-FT,目标是在保留大型 VLA 行为先验的同时,让强化学习真正能够作用于需要高频闭环控制的动态机器人任务。论文在十个 Kinetix 仿真环境和四个真实机器人动态任务上测试该框架,真实机器人实验把每个任务的在线交互限制在 10 分钟以内。

原文:https://arxiv.org/abs/2609.18207

延迟的具体形式

理解这篇论文之前,先把"VLA 很慢"具体化。假设机器人以 ff Hz 运行,而 VLA 完成一次 action chunk 推理需要 tinft_{\mathrm{inf}} 秒,那么一次推理大约对应

d=⌊tinff⌋+1d = \left\lfloor t_{\mathrm{inf}} f \right\rfloor + 1

个控制周期的延迟。如果机器人运行在 30 Hz,每个周期大约只有 33 ms,一个 167 ms 的推理过程对应的已经是大约五个控制周期。

问题在于,模型在时刻 tt 看到 sts_t 然后开始推理。等动作真正能够被执行时,物理世界已经到了 st+ds_{t+d},而动作最初是根据 sts_t 算出来的。于是真正执行的更接近

at+d∼π(⋅∣st)a_{t+d} \sim \pi\left(\cdot \mid s_t\right)

经典 RL 默认的则是

at+d∼π(⋅∣st+d)a_{t+d} \sim \pi\left(\cdot \mid s_{t+d}\right)

标准强化学习通常建立在 Markov Decision Process 上:

M=(S,A,r,T,γ,ρ)\mathcal M = \left(\mathcal S, \mathcal A, r, T, \gamma, \rho\right)

其核心假设之一是当前 action 根据当前 state 产生。一旦策略存在明显推理延迟,真正执行的动作就依赖若干步之前的 observation。论文指出,如果仍然把这个系统当作普通的无延迟 MDP 做 RL,value estimation 和 credit assignment 都可能出现偏差。尤其当 RL 的目的正是把一个已经"基本会做"的 VLA 从 70%、80% 提升到接近可靠部署的水平时,这种状态错位会变得非常重要。

RTC 解决了流水线,没解决状态过期

这也是为什么以前已经有 Real-Time Chunking(RTC)。RTC 的思路不复杂:既然 VLA 推理需要时间,就在当前动作还在执行时提前生成后面的动作,不必等当前 action chunk 全部执行完。如果旧 chunk 中未来 dd 步已经确定会被执行,这部分动作就作为 committed prefix

at:t+dpreva^{\mathrm{prev}}_{t:t+d}

传给 VLA,新的 VLA 只需接着它生成后续动作:

at+d:t+d+H∼πVLA(⋅∣st,at:t+dprev)a_{t+d:t+d+H} \sim \pi_{\mathrm{VLA}}\left(\cdot \mid s_t, a^{\mathrm{prev}}_{t:t+d}\right)

这样大模型推理和机器人执行就可以异步进行。RTC 处理的是一个流水线问题:让一个有延迟的 action-chunking policy 不必停下来等模型。

但作者认为仅有这一点对 RL 还不够,因为即便 RTC 能保证动作不断流,下一段 action 仍然根据旧 observation sts_t 生成,世界在推理期间发生了什么,VLA 并不知道。假设机器人正在接一个移动过来的物体,五个控制周期前它预测物体在左边,于是生成了一条向左移动的 action chunk,167 ms 以后物体实际已经移动到另一侧。RTC 可以保证机器人始终有动作执行;一直有动作执行,和动作仍然正确是两件事。

两个时间尺度:Slow VLA + Fast Edit Policy

Real-Time EXPO-FT 增加的,就是在"大模型生成动作"和"动作真正执行"之间插入一个根据最新 observation 工作的快速修正层。整个系统因此被拆成两个时间尺度:大型 VLA 负责 Slow Action Generation,轻量 Edit Policy 负责 Fast Reactive Correction。

在时刻 tt,大型 VLA 根据当时的 observation 和已经承诺执行的 action prefix,同时采样多个 candidate chunk:

at:t+Hi=πVLA(st,at:t+dprev,ϵi),ϵi∼p(ϵ)a^i_{t:t+H} = \pi_{\mathrm{VLA}}\left(s_t, a^{\mathrm{prev}}_{t:t+d}, \epsilon^i\right), \qquad \epsilon^i \sim p(\epsilon)

其中 ii 表示不同候选,ϵi\epsilon^i 是生成式 VLA 使用的 sampling noise。等大型模型完成推理时,环境已经到达 st+ds_{t+d},前 dd 步属于过去,真正有价值的是后面的

at+d:t+d+Cia^i_{t+d:t+d+C}

然后一个计算量远小于 VLA 的 Edit Policy 读取最新状态 st+ds_{t+d} 和旧 VLA 提出的 candidate at+d:t+d+Cia^i_{t+d:t+d+C},预测一个 residual edit:

a^t+d:t+d+Ci∼πθedit(⋅∣st+d,at+d:t+d+Ci)\hat a^i_{t+d:t+d+C} \sim \pi_\theta^{\mathrm{edit}}\left(\cdot \mid s_{t+d}, a^i_{t+d:t+d+C}\right)

得到 a~i=ai+a^i\tilde a^i = a^i + \hat a^i。整个设计可以读成两句话:Slow VLA 提出一个合理动作,Fast Edit Policy 根据现实已经发生的变化进行修正。

Edit Policy 的输出被限制成一个有界 residual:

a^∈[−β,β],a~=a+a^\hat a \in [-\beta, \beta], \qquad \tilde a = a + \hat a

这延续了 EXPO 原本的思想。大型预训练策略已经提供了一个相当不错的 behavior prior,RL 没必要从头学习"这个任务应该怎么做",它更适合解决"这个已经大致正确的动作,怎样稍微改一下会更好"。因此 Edit Policy 的目标写成

L(πedit)=−E[Qϕ(s,a+a^)]\mathcal L\left(\pi_{\mathrm{edit}}\right) = -\mathbb E\left[Q_\phi\left(s, a+\hat a\right)\right]

直接学习怎样修改 base action 才能进入 Q-value 更高的动作区域。这种设计还有一个很现实的好处:Q-function 的 gradient 不需要穿过整个大型 VLA backbone。对于一个本来就很昂贵的生成式策略,这对 real-world RL 的稳定性和计算成本都很重要。

Candidate 打分与 Q-value Selection

只有一个 Edit Policy 仍然不够。VLA 是生成式策略,相同 observation 下可以提出多个不同 candidate,Real-Time EXPO-FT 因此再用一个 critic Qϕ(s,a)Q_\phi(s,a) 对原始 candidate 和编辑后的 candidate 同时打分,最后执行的是

a~∗=arg⁡max⁡a∈⋃i{ai,a~i}Qϕ(st+d,a)\tilde a^* = \underset{a \in \bigcup_i \left\{a^i, \tilde a^i\right\}}{\arg\max} Q_\phi\left(s_{t+d}, a\right)

于是整个在线决策过程有三层:大型 VLA 提供候选行为分布,Edit Policy 根据最新 observation 做小幅修正,Q-function 从原始和修正后的动作里选出 value 最高的一条。整条链路可以画成

Pretrained VLA Prior→Candidate Actions→Latest-state Editing→Q-value Selection→Execution\text{Pretrained VLA Prior} \rightarrow \text{Candidate Actions} \rightarrow \text{Latest-state Editing} \rightarrow \text{Q-value Selection} \rightarrow \text{Execution}

这套设计承认大型模型适合提供强先验,实时反应未必应该全部交给它,因此并没有要求 VLA 自己变成一个 30 Hz 的高频控制器。这和最近很多 Slow-Fast Robot Policy 的思路一致,区别在于 Fast Module 的训练信号来自 RL,目标是改善动作价值,而同类工作里的 fast policy 多半靠 imitation 得到。

这也是这篇论文和普通 RTC 最大的区别。RTC 处理的是

Latency→如何不断流\text{Latency} \rightarrow \text{如何不断流}

Real-Time EXPO-FT 处理的是

Latency+Environment Change→如何利用最新状态继续优化动作\text{Latency} + \text{Environment Change} \rightarrow \text{如何利用最新状态继续优化动作}

前者是 asynchronous inference,后者进入的是 asynchronous reinforcement learning control。

Training-Time RTC

为了让 VLA 本身适应这种执行方式,作者仍然保留 Training-Time RTC。训练时人为采样 inference delay dd,把 ground-truth action chunk 的前 dd 个 action 当成已经 committed 的 clean prefix,只对后面的 postfix 添加 flow noise,并且只在 postfix 上计算 Flow Matching Loss。

直观理解是,模型训练时就已经知道:前面这些动作已经发出去了,不能改,现在只能决定之后怎么办。这一点很重要,因为真实系统里的 delay 需要在监督 fine-tuning 阶段就建模进 policy,等到部署之后再补救已经太晚。

Chunk-level TD backup

RL 部分使用 chunk-level TD backup。普通一步 TD 是

Q(st,at)←rt+γQ(st+1,at+1)Q\left(s_t,a_t\right) \leftarrow r_t + \gamma Q\left(s_{t+1},a_{t+1}\right)

而这里一次真正执行的是长度为 CC 的 action chunk,所以 value learning 也按 chunk 对齐:

Qϕ(st,at:t+C)Q_\phi\left(s_t, a_{t:t+C}\right)

bootstrapping 到

Qϕ′(st+C,a~t+C:t+2C∗)Q_{\phi'}\left(s_{t+C}, \tilde a^*_{t+C:t+2C}\right)

这个细节很值得注意。如果 Policy 的真实执行单位是 chunk,而 Critic 仍然假定每个 single action 都重新决策,训练目标和实际部署过程又会不一致。Real-Time EXPO-FT 的一条核心原则是让 RL 的时间结构与真实机器人执行的时间结构一致。

Noise-level Filtering

生成多个 VLA candidate 还会带来计算成本问题。如果 Bellman Backup 每次都要让大型 flow policy 完整生成 NN 个 candidate、再逐个算 Q-value,real-world RL 很快会变成 GPU Benchmark。作者因此借用了 FASTER 中的 Noise-level Filtering。

生成式 flow policy 最开始都有对应的 noise ϵi∼N(0,I)\epsilon_i \sim \mathcal N(0,I),作者额外训练一个轻量的

QψdnQ_\psi^{\mathrm{dn}}

直接给 noise candidate 打分,先做

ϵ∗=arg⁡max⁡iQψdn(s,ϵi)\epsilon^* = \arg\max_i Q_\psi^{\mathrm{dn}}\left(s, \epsilon_i\right)

只保留最有希望的 noise,再真正调用大型 VLA 完整 decode 一次。于是原本的 N×VLA DecodeN \times \text{VLA Decode} 近似变成

N×Cheap Noise Scoring+1×VLA DecodeN \times \text{Cheap Noise Scoring} + 1 \times \text{VLA Decode}

论文的消融实验显示,在相同计算预算下这种 Noise Filtering 能明显提高训练效率。

Kinetix 仿真实验

作者首先在 Kinetix 的十个动态 physics environment 上测试,人为给 flow policy 加入四个 timestep 的 inference delay,再比较不同 RL 和 RTC 方法。Real-Time EXPO-FT 在四步延迟下取得约 96.2%96.2\% 的平均成功率,EXPO-FT + RTC 约为 81.7%81.7\%,而使用轻量 Gaussian Policy、实际上没有 VLA inference delay 的 RLPD 也只有约 81.4%81.4\%。作者因此强调 Real-Time EXPO-FT 在存在推理延迟的情况下,在十个 Kinetix environment 中全部达到最强或接近最强的一档表现。

这里最好说得严谨一些。论文所谓"10/10 environments best"使用的是自己的判定方式:接近该任务最佳 RL 方法 0.95×0.95\times 的结果也会被标成同一档,个别任务上其它 baseline 的绝对数值实际上可能略高。更准确的说法是:Real-Time EXPO-FT 是唯一在全部十个环境中都处于最佳性能区间的方法,同时平均性能最高。

真实机器人:四个动态任务

真正更值得关注的是 Real Robot。论文测试了四种刻意挑选的动态任务:Dynamic Picking 要抓取持续运动中的物体;Ball Balancing 要不断修正托盘,使滚动的小球保持平衡;Object Passing 要处理一个持续变化位置的传递对象;Soccer Kicking 要求机器人根据运动中的防守结构选择正确时机踢球。这些任务有一个共同特征——如果 observation 旧了 100~200 ms,策略面对的已经可能不是同一个问题。

真实机器人运行在 30 Hz,使用 wrist camera、固定侧视相机以及 proprioception。公开实验描述显示,大型 VLA 本身约有 67 ms 推理时间;其中三个任务额外加入约 100 ms 延迟,使总延迟达到约 167 ms,也就是五个 30 Hz 控制周期;Dynamic Picking 因为动态更快,使用约 67 ms、对应约三步的延迟。

训练从一个小型 offline expert dataset 开始,先用 supervised fine-tuning 把策略训练到大约 30% 或更高的成功率,再开始 online RL。强化学习采用 sparse binary success reward,没有 dense reward shaping。在 online policy rollout 阶段不使用人工 corrective intervention,不过部分环境 reset 仍然会有人参与,因此这里的"without human intervention"更准确地说,是 RL 策略优化过程不依赖人工实时纠正,整个实验室闭环并未完全无人化。

最终 Real-Time EXPO-FT 在四个任务各 30 次 evaluation 中达到:Dynamic Picking 30/3030/30,Ball Balancing 28/3028/30,Object Passing 30/3030/30,Soccer Kicking 28/3028/30,平均

29/30≈96.7%29/30 \approx 96.7\%

也就是论文 Abstract 里写的约 97%。

42% → 97% 里有两段

论文最醒目的数字是

42%→97%42\% \rightarrow 97\%

其中 42% 来自 supervised fine-tuned policy 的 12.5/3012.5/30,最终 Real-Time EXPO-FT 达到 29/3029/30。这个结果确实很强,但 42% → 97% 这一段里,有一部分提升并不来自"Real-Time"这项创新。最强的已有 RL + RTC baseline(EXPO-FT with RTC)平均已经能够达到

25/30≈83%25/30 \approx 83\%

真正想衡量"基于最新 observation 的 reactive edit + Q selection"相对于一个已经有 RL、也已经有 RTC 的强 baseline 带来多少额外价值,更公平的比较是

83%→97%83\% \rightarrow 97\%

这反而更准确地说明了它的贡献。第一阶段 42%→83%42\% \rightarrow 83\% 主要说明 RL 本身对提高 VLA reliability 很重要;第二阶段 83%→97%83\% \rightarrow 97\% 说明的是,如果任务是动态的,仅有 RL + 异步 action chunking 仍然不够,让 RL 直接利用 execution time 的最新 observation 可以进一步明显降低失败率。

对于机器人可靠性,从 83% 到 97% 和从 40% 到 60% 的意义完全不同。如果一个系统准备部署,失败率从 17%17\% 降到 3%3\%,本身就可能比单纯提高几十个百分点的 early-stage success rate 更值得关心。

"RL improves VLA" 这件事已经有很多工作在做。这篇论文真正有价值的关键词更接近

RL should optimize the policy that is actually executed under latency\text{RL should optimize the policy that is actually executed under latency}

它要求我们承认,真实机器人上的 Policy 很少是论文里抽象的 at=π(st)a_t = \pi(s_t)。大型模型需要时间,真正的系统可能是

at+d=πfast(st+d,πslow(st))a_{t+d} = \pi_{\mathrm{fast}}\left(s_{t+d}, \pi_{\mathrm{slow}}(s_t)\right)

也就是一个明确的双时间尺度控制问题,而强化学习的状态定义、action definition、Bellman backup 以及 rollout procedure,都应该与这种真实系统结构一致。

需要保持谨慎的地方

latency 并不完全来自模型自然推理。 公开实验设置里,大型 VLA 实际推理时间约为 67 ms,而三个任务为了模拟更大的模型或较弱的部署硬件又额外加入约 100 ms delay,最终构造出约 167 ms 的总延迟。这种设计作为 controlled experiment 完全合理,作者要研究的本来就是 latency,但它和真正部署在 Edge GPU 上的推理抖动并不完全一样。现实 latency 通常不会永远精确保持 d=5d=5 步,而可能是

dt∈{3,4,5,6,7,…}d_t \in \{3,4,5,6,7,\ldots\}

还会受到 GPU contention、camera pipeline、network communication、kernel scheduling 等因素影响。Training-Time RTC 本身会随机采样不同 delay 来提高 base VLA 对 latency variation 的鲁棒性,但论文中最关键的真实实验仍然是在指定 delay 条件下训练和评估的。对于真正的 onboard deployment,一个很值得继续测试的问题是:Edit Policy 和 Critic 对从未在该任务上训练过的 latency distribution 有多强的泛化能力?这篇工作还没有完全回答。

任务范围被刻意选窄。 论文故意选择动态性很强的 task,这非常适合证明方法,同时也意味着不能直接得出"以后所有 VLA 都应该外挂 Real-Time EXPO-FT"。对于一个静态桌面 manipulation task,如果 environment 在 200 ms 内基本不变化,st≈st+ds_t \approx s_{t+d},最新 observation 带来的额外信息可能非常有限,此时 Fast Edit Policy 的收益可能远没有 Ball Balancing、Dynamic Picking 那么明显。所以论文真正针对的是

Dynamic + Latency-sensitive Manipulation\boxed{\text{Dynamic + Latency-sensitive Manipulation}}

RL 仍然不是"零数据升级"。 真实实验虽然强调在线数据上限只有 10 分钟,但在 RL 开始之前仍然需要 expert demonstration,并通过 supervised fine-tuning 把 base policy 提升到至少约 30% success。更准确的 pipeline 是

Pretrained VLA→Task Demonstrations→SFT→Online RL\text{Pretrained VLA} \rightarrow \text{Task Demonstrations} \rightarrow \text{SFT} \rightarrow \text{Online RL}

把它省略成 Pretrained VLA→10 min RL→97%\text{Pretrained VLA} \rightarrow \text{10 min RL} \rightarrow 97\% 就是另一种叙述了。论文证明的是:在已经存在一个可用的行为先验时,RL 可以用非常少的 online robot experience 把可靠性继续推高;它没有证明 RL 可以从零学习这些任务。

这其实也正是 EXPO-FT 整条路线的意义:先用大模型和 demonstration 把搜索空间压到一个已经相对合理的区域,再让 RL 解决那些 imitation 很难从 offline demonstration 中覆盖的 failure mode。从这个角度看,Real-Time EXPO-FT 可以理解成

Pretraining learns what to do.\boxed{\text{Pretraining learns what to do.}}

RL learns how not to fail.\boxed{\text{RL learns how not to fail.}}

Realtime editing learns how not to fail when the world has already changed.\boxed{\text{Realtime editing learns how not to fail when the world has already changed.}}

和 Slow-Fast 路线的关系

把它和最近一些 Slow-Fast VLA、World Action Model 工作放在一起看,会看到一个越来越明显的趋势:未来的机器人 Foundation Model 很可能不会要求一个单一大模型同时完成所有时间尺度的控制。大型模型负责语义、任务结构、复杂行为 prior、长 horizon 决策;小模型负责最新视觉反馈、接触修正、动态目标 tracking、高频动作 correction。

这和传统机器人控制并不陌生,经典系统本来就经常是 Planner 慢、Controller 快,只不过现在 Planner 变成了几 B 参数的 VLA,Controller 开始变成 learned residual policy。Real-Time EXPO-FT 有意思的地方在于,它把经典的多时间尺度控制思想重新放回了 Foundation Model + RL 的语境里。

值不值得看

如果研究方向是 VLA、Robot RL、Real-Time Manipulation、Action Chunking、动态抓取,或者关心大模型怎样真正进入实体机器人闭环控制,这篇值得认真看。

重点建议关注三个地方。第一是 Problem Formulation 里对 inference delay 的建模,它解释了"VLA 推理慢"怎样从 FPS 数字变成 RL 问题的 Markov structure 变化。第二是 Figure 2 对 Slow VLA、Fast Edit Policy 和 Q-selection 三者关系的描述。第三是 Real-world Table,把 SFT 起点、EXPO-FT + RTC 和 Real-Time EXPO-FT 三个数放在一列里看,才能分清哪一段提升来自 RL、哪一段来自实时修正。

点赞收藏
// 评论0
0 / 500
还没有评论,快来抢沙发