大型视觉-语言-动作模型(VLA)让机器人拥有了“大脑”,但它们庞大的体积导致推理延迟,这成了机器人实现流畅、实时动作的最大掣肘。Real-Time Chunking (RTC) 提出了一种异步预测与“填补”的巧思,但推理时的修补计算却引入了新的开销。本文解读的这篇论文提出了一种极其优雅的解决方案:将推理延迟的模拟过程前置到训练阶段,无需改变模型架构,仅用几行代码的改动,便实现了更高效、更鲁棒的实时控制。

1. 背景:为什么机器人不能像聊天机器人那样“卡顿”?

在数字世界中,ChatGPT 思考 2 秒钟再回复一句话,用户可能毫无察觉。但在物理世界中,一个正在组装盒子的机械臂如果每执行一步都要“停下来想一想”(哪怕只是 100 毫秒),就会导致动作僵硬、轨迹不顺,甚至任务失败。

这就是具身智能非具身智能的本质区别。为了让越来越大的 VLA 模型(如 π0.6、RT-2)能够以 50Hz 甚至更高的频率控制机器人,业界提出了 Action Chunking(动作分块) 策略:模型一次预测未来 N 步的动作序列(称为一个 Action Chunk),机器人一边执行这些动作,一边去计算下一个 Chunk。

但这里有个时间差问题:如果执行到一半,下一个 Chunk 还没算完怎么办?新旧 Chunk 之间的衔接如何才能不“抽搐”?

2. 现有方案的困局:RTC 的巧思与“隐形成本”

Real-Time Chunking (RTC) 是解决上述问题的 SOTA 方法之一。它的核心机制如图 1 所示:

  • 异步执行:机器人执行上一个 Chunk 的最后 d 步时,模型开始推理下一个 Chunk。
  • 动作填补 (Inpainting):为了让新旧 Chunk 无缝衔接,新生成的 Chunk 必须以前面重叠部分的动作作为条件(Prefix Conditioning)。

RTC 的痛点在于其实现方式:它使用了 伪逆引导 (Pseudoinverse Guidance)。这是一种推理时技术,能在不重新训练模型的情况下,强行让生成的动作符合给定的前缀。但代价是——在每一个去噪步中都要计算向量-雅可比积(VJP),这需要额外的反向传播计算

结论:为了解决延迟问题而生的 RTC,其解决方案本身又引入了不可忽视的计算延迟(Overhead),这让它的实时性打了折扣。

3. 核心创新:将“填补”压力从推理端转移至训练端

这篇论文《Training-Time Action Conditioning for Efficient Real-Time Chunking》的核心洞察非常直接:

既然我们在推理时无论如何都要面对延迟 d,为什么不直接在训练时就教会模型如何处理这个延迟呢?

作者提出的 训练时动作条件化 (Training-Time Action Conditioning) 抛弃了推理时的伪逆引导,通过修改训练数据的构造方式,让模型天然学会“给定前 d 步,补全剩余 H-d 步”的能力。

3.1 具体实现三要素(仅需几行代码改动)

论文指出,对于标准的 Diffusion Transformer 架构(如 π0.6 的动作专家),实现该方案只需做三个微小改动(详见 Algorithm 1):

  1. 分化的时间步嵌入
    在扩散模型(或流匹配模型)中,Time Step τ 通常对所有 Token 是统一的。在训练时,对于前缀部分(已知动作),强制将 τ 设为 1.0(代表无噪声的真值);对于后缀部分(待预测动作),保持正常的采样噪声 τ

    架构影响:仅需让 AdaLN 的 Scale/Shift 参数支持按 Token 变化,参数量零增长

  2. 真值注入
    对于前缀部分的输入 Token,不添加噪声,直接喂入 Ground-Truth 动作。

  3. 掩码损失函数
    计算 Loss 时,只计算后缀部分的预测误差,忽略前缀部分(因为前缀已经是真值了,不需要模型去预测)。

3.2 为什么这比推理时填补更好?

  • 零推理开销:推理时只需要做标准的前向传播(Forward Pass),不需要 VJP 计算。论文数据显示,端到端延迟从 135ms 降低到了 108ms。
  • 更强的鲁棒性:在模拟器中,当推理延迟 d 较大时(例如 d >= 2),训练时 RTC 的表现显著优于推理时 RTC。这是因为随着前缀变长,推理时引导算法的线性近似误差会累积,而训练时模型是通过真实数据分布学会的填补,不存在近似误差。

4. 实验数据解读:又快又稳

模拟实验(Kinetix Benchmark)

下图展示了不同推理延迟下的成功率对比:

  • 低延迟场景 (d=0,1):两者表现接近,训练时 RTC 略低一点点(因为训练时部分算力用于学习大延迟填补)。
  • 高延迟场景 (d>=2):训练时 RTC 拉开明显差距,成功率下降曲线更为平缓,证明其对网络波动和计算高峰的容忍度更高。

真实世界实验(做咖啡 & 折纸盒)

团队在真实的机械臂上使用 π0.6 模型进行了微调测试,任务包括制作浓缩咖啡组装纸盒——这都是需要极高精度和连续性的长程任务。

  • 成功率:训练时 RTC 与推理时 RTC 持平。
  • 速度:训练时 RTC 任务执行时间显著短于同步推理基线,且由于单次推理耗时更短,整体运动更加流畅。

5. 硬核解析:代码层面的魔法(Algorithm 1 解读)

论文最精华的部分其实藏在 Page 6 的伪代码中。我们逐段拆解训练损失的计算逻辑:

# 核心改动点 1: 生成差异化时间步
# time 原本是 shape (b,) 的向量,现在变成 (b, action_horizon)
prefix_mask = jnp.arange(H)[None, :] < delay[:, None]
time = jnp.where(prefix_mask, 1.0, time[:, None])

# 核心改动点 2: 噪声只加在后缀上
x_t = time * action_chunk + (1 - time) * noise 
# 解读:当 time=1.0 时,x_t = action_chunk (真值)
#       当 time<1.0 时,x_t = 混合了噪声的待预测值

# 核心改动点 3: 掩码损失
postfix_mask = jnp.logical_not(prefix_mask)
loss = loss * postfix_mask  # 前缀部分不参与梯度回传

推理时的对应逻辑
在生成循环的每一步,强制将输入 Tensor 的前 d 个位置替换为 action_prefix,然后让模型做一次标准去噪。这完全复用了标准扩散采样循环,无需任何额外梯度计算。


6. 局限性与展望

尽管该方法优势明显,作者也坦诚了其局限性:

  1. 灵活性丧失:无法像推理时 RTC 那样使用 Soft Masking(即对重叠部分赋予指数衰减权重,而不是硬切一刀)。
  2. 延迟分布依赖:训练时采样的延迟分布必须覆盖实际部署时的延迟范围。如果实际运行时网络突然变得极差(延迟远超训练时设定的最大值),模型表现会下降。

未来方向:探索一种既能享受训练时效率红利,又能保留推理时灵活性的混合架构。


7. 总结:机器人控制中“少即是多”的哲学

这篇论文再次证明了一个工程学真理:最好的优化往往不是增加复杂的模块,而是改变问题定义的方式。通过将“推理时填补”转化为“训练时条件生成”,作者用极小的代码修改代价(甚至不需要改模型结构),换取了可观的推理加速和鲁棒性提升。

对于正在从事 VLA 模型部署、人形机器人实时控制的工程师来说,Training-Time Action Conditioning 无疑是目前最值得尝试的 Drop-in Replacement 方案。


参考文献:

  • Black, K., Ren, A. Z., Equi, M., & Levine, S. (2025). Training-Time Action Conditioning for Efficient Real-Time Chunking. Physical Intelligence.
  • Black, K., et al. (2025). Real-Time Execution of Action Chunking Flow Policies.
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐