Skip to content

VLASH: Real-Time VLAs via Future-State-Aware Asynchronous Inference (Arxiv 2025)

Section titled “VLASH: Real-Time VLAs via Future-State-Aware Asynchronous Inference (Arxiv 2025)”

Paper


VLA 的真实部署通常比视频里看起来慢很多:同步推理需要先生成 action chunk,再执行动作,推理期间机器人停住;如果直接改成异步推理,在执行当前 chunk 的同时生成下一个 chunk,又会出现 prediction-execution misalignment。

核心问题是:模型在时间 tt 看到的是当前 observation 和 state,并预测 [t,t+K)[t,t+K) 的动作;但由于推理延迟 Δ\Delta,这些动作真正开始执行时已经到了 t+Δt+\Delta,机器人和环境都发生了变化。因此 naive async 虽然消除了停顿,但新 chunk 是基于 stale state 生成的,容易出现动作不稳定、滞后和 chunk 切换不连续。

alt text

提出 VLASH(Vision-Language-Action State Handoff),用 Future-State-Aware Asynchronous Inference 解决异步推理中的状态错位问题:

  • Future State Awareness:推理开始时,不再只把当前机器人状态 sts_t 输入给 VLA,而是用上一段已经生成的 action chunk 将机器人状态 roll forward 到 st+Δs_{t+\Delta},让模型为真正执行时的状态生成动作。

  • Offset Fine-tuning:训练时随机采样时间偏移 δ\delta,固定视觉 observation oto_t,但输入未来状态 st+δs_{t+\delta} 并预测未来 action chunk at+δ:t+δ+H−1a_{t+\delta:t+\delta+H-1},强迫模型学会利用 proprioceptive state,而不是只依赖图像。

  • Shared Observation Efficient Fine-tuning:同一个 observation 对应多个 offset branch,通过 block-sparse attention 共享 observation tokens,减少重复视觉编码。

    alt text

  • Action Quantization:将多个 fine-grained delta action 合并为 macro-action,在异步推理已经隐藏模型延迟后,进一步提高机器人实际运动速度。

整体上 VLASH 不需要额外 inference-time optimization,也不需要改 VLA 主体结构;主要改的是 fine-tuning sample 构造和 deployment 时的状态输入。

VLASH 只能 roll forward 机器人本体状态,不能准确预测未来环境 observation。也就是说,如果外界物体、人手、球等目标在推理延迟内发生快速变化,输入图像仍然是 oto_t,模型只能基于旧视觉信息做反应。

另外,VLASH 依赖模型真的能利用 state input。论文也观察到现有 VLA 可能更依赖视觉而低估机器人状态,因此必须通过 offset fine-tuning 让 state 变成有效条件。对于把数值 state 文本化输入的架构,state 的数值结构会被 tokenizer 破坏,可能需要额外的 state projection 才能更稳定。


设 action chunking policy 为:

πθ(At∣ot,st),At=(at,at+1,...,at+H−1)\pi_\theta(A_t|o_t,s_t),\quad A_t=(a_t,a_{t+1},...,a_{t+H-1})

其中 HH 是 prediction horizon,实际每次只执行前 KK 个动作,KK 是 execution horizon。

同步推理中,机器人等待模型生成 chunk 后再执行,因此会有 stop-and-go 的停顿。异步推理中,模型在后台生成 AtA_t,机器人继续执行上一段 chunk。设推理延迟为 Δ\Delta 个控制步,则:

Itpred=[t,t+K)Itexec=[t+Δ,t+Δ+K)I_t^{pred}=[t,t+K) \\ I_t^{exec}=[t+\Delta,t+\Delta+K)

naive async 的问题是 AtA_t 是基于 (ot,st)(o_t,s_t) 预测的,但真正执行时状态已经是 st+Δs_{t+\Delta}。

VLASH 的核心是将输入状态从当前状态替换为执行时状态:

πθ(At∣ot,st+Δ)\pi_\theta(A_t|o_t,s_{t+\Delta})

虽然 ot+Δo_{t+\Delta} 不可知,但 st+Δs_{t+\Delta} 可以由当前状态和推理延迟期间将要执行的动作估计出来:

st+Δ=RollForward(st,at,at+1,...,at+Δ−1)s_{t+\Delta}=\mathrm{RollForward}(s_t,a_t,a_{t+1},...,a_{t+\Delta-1})

如果动作是 delta action,可以近似理解为:

st+Δ=st+∑i=0Δ−1at+is_{t+\Delta}=s_t+\sum_{i=0}^{\Delta-1}a_{t+i}

这样模型在生成新 chunk 时,用的视觉仍然是当前图像 oto_t,但机器人本体状态已经对齐到新 chunk 开始执行的时刻。相比 REMAC/RTC 这类在 chunk 生成或采样时处理 prefix/mask 的方法,VLASH 更像是把错位问题转化为输入条件对齐问题。

仅在 test time 把未来状态喂给模型通常不够,因为很多 VLA 在训练中没有学会认真使用 state input。

VLASH 的训练构造是:给定轨迹 {(ot,st,at)}\{(o_t,s_t,a_t)\},随机采样 offset:

δ∼{0,1,...,Δmax}\delta\sim\{0,1,...,\Delta_{max}\}

然后训练模型从固定 observation 和 offset state 预测对应未来 action chunk:

(ot,st+δ)→at+δ:t+δ+H−1(o_t,s_{t+\delta})\to a_{t+\delta:t+\delta+H-1}

关键是固定 oto_t:同一张图像可以对应多个不同 offset 的 state-action pair。为了拟合这些样本,模型必须区分 st+δs_{t+\delta},从而学会将 robot state 当作有效条件。

这个设计也让同一个模型适配不同硬件推理延迟:δ=0\delta=0 对应同步推理,δ>0\delta>0 对应不同程度的异步延迟。

naive offset fine-tuning 会把每个 δ\delta 都当作独立样本,导致同一个 observation 被重复编码。

VLASH 将一个共享 observation 和多个 offset branch pack 到同一个序列里:

[ot, (st+δ1,At+δ1), (st+δ2,At+δ2),...][o_t,\ (s_{t+\delta_1},A_{t+\delta_1}),\ (s_{t+\delta_2},A_{t+\delta_2}),...]

attention mask 的规则是:

  • observation tokens 之间可以互相 attention;
  • 每个 offset branch 可以 attend 到 observation tokens 和自己 branch 内的 state/action tokens;
  • 不同 offset branch 之间不能互相 attention。

这样等价于用同一张图像训练多个 offset 样本,但视觉 tokens 只编码一次。

异步推理隐藏了模型推理时间后,系统速度瓶颈会转移到机器人实际运动速度。VLASH 进一步将连续的细粒度动作合并为 macro-action:

a^j=∑i=jq(j+1)q−1ai\hat a_j=\sum_{i=jq}^{(j+1)q-1}a_i

其中 qq 是 quantization factor。对于 delta action,这相当于跳过部分中间 waypoint,直接移动到更远的状态。qq 越大,运动越快,但控制粒度更粗,存在 speed-accuracy trade-off。


  • 模型:π0.5\pi_{0.5}、SmolVLA-450M。
  • 仿真环境:Kinetix、LIBERO。
  • 真实机器人:Galaxea R1 Lite 双臂机器人、LeRobot SO-101。
  • 真实任务:Pick and Place、Stacking、Sorting,以及高动态任务 Ping-pong、Whack-a-mole。
  • 硬件:真实实验主要报告 laptop RTX 4090;reaction speed 还测试了 RTX 5090、4090、5070。

Kinetix 动态任务中,VLASH 在不同 execution horizon 和 inference delay 下都接近同步上界。delay 为 4 steps 时,VLASH 成功率为 81.7%,naive async 为 51.2%,提升 30.5%。

LIBERO 上,π0.5\pi_{0.5} 使用 VLASH async 在 delay 为 1/2/3 时保持接近同步推理的成功率,同时分别取得约 1.17x、1.31x、1.47x speedup。delay 过大时准确率开始下降,但仍保持可用。

真实机器人任务中,VLASH 相比同步推理保持更好或相近的任务得分,同时显著降低完成时间。加入 action quantization 后,最高报告到 2.03x speedup,并基本保持原有准确率。

reaction latency 上,同步推理的最大反应延迟约等于 execution duration + inference latency;异步推理约等于 inference latency。论文在 50Hz、500ms execution duration 设置下报告:

GPUInference LatencySync ReactionAsync ReactionSpeedup
RTX 509030.4ms530.4ms30.4ms17.4x
RTX 409036.1ms536.1ms36.1ms14.9x
RTX 507064.1ms564.1ms64.1ms8.8x

shared observation fine-tuning 在 4x H100 上单步训练耗时从 420.99ms 降到 129.29ms,约 3.26x speedup;早期收敛更慢,但 30K steps 时接近标准 fine-tuning 成绩。


REMAC 主要关注 action chunk 内哪些 prefix 已经错过、哪些 suffix 还能被执行,并通过 mask / self-conditioning / prefix-preserved sampling 让模型适配 delay。

VLASH 则把核心矛盾放在 state alignment ,把 state 从 sts_t 对齐到 st+Δs_{t+\Delta},模型就能为执行时刻生成更合理的动作。

VLASH 解决的是机器人 proprioceptive state 的错位,不是完整 world state 的错位。对于静态或慢变化操控任务,这个近似足够;但对于乒乓球、打地鼠这类高速变化任务,视觉 stale 仍然是瓶颈。

论文能在这些任务上跑起来,说明 VLA 在一定程度上可以用旧视觉 + 未来本体状态做反应。但如果目标物运动高度不确定,可能还需要显式预测未来视觉状态、目标轨迹。

论文里一个观察是:有些 VLA 去掉 state input 反而更强,说明 state 并不天然会被利用。Offset fine-tuning 通过“同图像、多未来状态、多动作目标”构造了一个强约束,让模型不能只靠视觉背答案。

如果想让 VLA 利用某个条件变量,就要在训练数据里制造“其他输入相同、该变量不同、输出也不同”的对照关系。