RTC:基于修复的实时动作块策略异步执行
论文:Real-Time Execution of Action Chunking Flow Policies
作者:Kevin Black, Manuel Y. Galliker, Sergey Levine
机构:Physical Intelligence、UC Berkeley
发布时间:2025 年 6 月
论文链接:arXiv
发表会议:NeurIPS 2025
一句话总结
将动作块(action chunking)策略的异步执行建模为修复问题(inpainting):生成下一块时冻结已注定执行的前缀、用基于引导的修复补全剩余动作并引入软掩码指数衰减约束跨块一致性,无需任何重训练即可让 diffusion/flow-based VLA 实现平滑实时控制,在 π₀.₅ 真实世界双臂操作中比同步推理快 20%,且在 300ms+ 延迟下仍保持高成功率。
一、问题与动机
1.1 VLA 的实时控制困境
现代 VLA 模型(π₀、π₀.₅、OpenVLA 等)具有数十亿参数,推理延迟远高于控制器采样周期。例如 π₀ 在 RTX 4090 上仅 KV cache prefill 就需 46ms,而目标控制频率为 50Hz(
1.2 动作块的延迟问题
动作块(Action Chunking)是当前模仿学习的标准范式:模型每次生成一组连续动作
| 问题 | 描述 |
|---|---|
| 同步暂停 | 默认同步推理在块边界处暂停等待新块生成,引入分布偏移 |
| 跨块不连续 | 相邻块可能采取完全不同的策略(如绕障碍物的左/右路径),导致跳变和抖动 |
| 天真异步的分布偏移 | 简单异步执行可能从 |
1.3 现有方法的局限
时序集成(Temporal Ensembling):对多个重叠预测取平均。但在多模态分布下,两条有效路径的平均不一定是有效路径("左/右绕行的平均是直接撞上障碍物")。
双向解码(BID):通过拒绝采样保持跨块一致性,但计算开销极大(需采样 64 批次动作块,是 RTC 延迟的 2.3×)。
加速推理:一致性蒸馏、并行解码等方法无法将延迟降到单次前向传播以下,对于 50Hz 控制仍不够。
二、预备知识
2.1 Flow Matching 动作生成
Flow policy 通过学习速度场
其中
2.2 推理延迟的定义
设控制器采样周期为
即从接收观测
三、核心方法:Real-Time Chunking (RTC)
RTC 的核心思想是将异步动作块执行建模为修复问题:在生成新块时,将已确定执行的前
3.1 基于 ΠGDM 的推理时修复
RTC 基于 Pokle et al. 的 training-free 修复算法,通过在每个去噪步为速度场添加梯度引导项,使最终生成结果在被掩码区域与目标值
其中:
是对最终去噪结果的一步估计 是信噪比 是掩码权重向量 是引导权重截断值(本文新增)
引导项本质上是一个向量-雅可比积,可通过反向传播高效计算。
用大白话说:在每一步去噪中,先估计"如果现在就停止去噪,最终生成的动作块长什么样"(
),然后计算它与目标前缀的差距,把这个差距的梯度反传回去,"推"当前中间结果向着与前缀一致的方向移动。
3.2 引导权重截断
原始 ΠGDM 算法中引导权重
RTC 引入截断值
3.3 软掩码(Soft Masking)
仅用前
RTC 将掩码扩展到前一块的全部重叠区域
其中
三个区域的含义:
| 区域 | 索引范围 | 权重 | 作用 |
|---|---|---|---|
| 冻结区 | 这些动作在推理完成前已被执行,必须完全匹配 | ||
| 中间区 | 前一块的预测可用但可更新,越远的动作不确定性越高,权重越低 | ||
| 空白区 | 超出前一块范围,需完全新生成 |
用大白话说:不仅告诉模型"前
个动作必须跟上一块一样",还告诉它"接下来的动作最好也跟上一块保持一致,但越往后约束越松,你可以越来越自由地响应新观测"。这样在整个块上建立了平滑的连续性约束。
3.4 完整系统:Algorithm 1
RTC 系统由三个组件协同运行:
GETACTION:控制器每
INFERENCELOOP:后台循环线程。等待执行
- 记录已执行步数
,截取前一块剩余动作 - 保守估计延迟
(取历史延迟缓冲区最大值) - 释放互斥锁,调用 GUIDEDINFERENCE 生成新块
- 新块就绪后交换
,重置步计数器
GUIDEDINFERENCE:执行引导式修复去噪:
- 计算软掩码
(Eq. 5),右填充 至长度 ,初始化 - 对
:
- 定义去噪函数
- 计算加权误差
- 反向传播得到梯度
- 积分步
- 返回
执行水平
四、实验结果
4.1 仿真实验:Kinetix 动态任务基准
现有仿真基准(如 SIMPLER)多为准静态任务,标准动作块即可接近满分。RTC 在 Kinetix 模拟器中构建了 12 个高度动态的任务(投掷、接住、平衡、弹跳等),使用力控制(无"保持位置"概念),并添加高斯动作噪声,闭环修正对成功至关重要。
设置:RPO 训练专家策略 → 1M 转换数据集 → 4 层 MLP-Mixer flow policy(
推理延迟 vs. 成功率(
| 方法 | |||||
|---|---|---|---|---|---|
| TE(时序集成) | ~0.58 | ~0.56 | ~0.52 | ~0.48 | ~0.45 |
| Naive async | ~0.87 | ~0.82 | ~0.76 | ~0.68 | ~0.55 |
| BID | ~0.87 | ~0.84 | ~0.79 | ~0.73 | ~0.62 |
| RTC(硬掩码) | ~0.88 | ~0.85 | ~0.82 | ~0.78 | ~0.72 |
| RTC(软掩码) | ~0.90 | ~0.87 | ~0.84 | ~0.80 | ~0.74 |
关键发现:
- TE 全面溃败:即使
也只有 ~0.58,因为多模态分布下取平均不产生有效动作 - RTC 对延迟最鲁棒:从
到 ,RTC 性能下降最缓,远优于 BID - 软掩码一致优于硬掩码:特别在低延迟(
小)时差距更明显 - BID 计算更贵:采样 64 批次(32 强模型 + 32 弱模型),而 RTC 仅需单批次 + 反传
执行水平消融(
4.2 真实世界实验:π₀.₅ 双臂操作
设置:
- 基座模型:π₀.₅(
, , 去噪步) - 硬件:双 6-DoF 臂 + 平行爪
- 推理:RTX 4090 远程 LAN 推理,基础延迟
- 额外注入 +100ms (
) 和 +200ms ( ) 模拟更大延迟
6 项真实任务(480 episodes,28 小时纯执行时间):
| 任务 | 步骤数 | 时限 | 描述 |
|---|---|---|---|
| Light candle | 5 | 40s | 拿火柴和火柴盒、划火柴、点蜡烛、放入碗中 |
| Plug ethernet | 6 | 120s | 插入以太网线两端 |
| Make bed(移动) | 3 | 200s | 移动毯角和 2 个枕头 |
| Shirt folding | 1 | 300s | 折叠衬衫 |
| Batch folding | 4 | 300s | 从箱中取衣物、展平、折叠、放好 |
| Dishes in sink(移动) | 8 | 300s | 将 4 件物品从台面移至水槽 |
平均任务吞吐量(tasks/min,综合速度和成功率):
| 方法 | +0ms | +100ms | +200ms |
|---|---|---|---|
| Synchronous | ~0.65 | ~0.55 | ~0.45 |
| TE, sparse | ~0.70 | 无法运行 | 无法运行 |
| TE, dense | ~0.60 | 无法运行 | 无法运行 |
| RTC | ~0.75 | ~0.75 | ~0.75 |
关键发现:
- RTC 对延迟完全鲁棒:+0ms 到 +200ms 吞吐量无下降,而同步推理线性退化
- TE 在高延迟下不可用:+100ms 和 +200ms 的振荡触发机器人保护性停机
- 不仅是速度优势:即使移除推理暂停时间,RTC 仍比同步推理更快完成任务——更少错误、更少重试
- 精密任务显著领先:Light candle(唯一无重试机会的任务)中 RTC 成功率大幅领先
- 运动更平滑:同一轨迹 RTC 比同步推理快 20%,且位置/速度/加速度曲线更平滑
4.3 延迟分析
| 方法 | GPU 延迟 |
|---|---|
| Vanilla π₀.₅ | 76ms |
| RTC | 97ms |
| BID ( | 115ms |
| BID ( | 169ms |
| BID ( | 223ms |
RTC 的额外开销来自每步去噪的反向传播(+21ms),但远低于 BID 的批量采样开销。
端到端延迟分解(真实机器人):
| 组件 | 移动平台 | 固定工作站 |
|---|---|---|
| 模型推理 | 96.89 ± 0.16ms | 97.43 ± 0.28ms |
| 网络传输 | 21.20 ± 3.12ms | 6.89 ± 2.39ms |
| 图像预处理 | 11.22 ± 5.00ms | 1.44 ± 0.27ms |
| 其他 | 9.67 ± 3.20ms | 3.00 ± 0.68ms |
| 总计 | 138.98 ± 6.71ms | 108.76 ± 2.34ms |
4.4 超参数
| 超参数 | 描述 | 仿真 | 真实世界 |
|---|---|---|---|
| 去噪步数 | 5 | 5 | |
| 预测水平 | 8 | 50 | |
| 最小执行水平 | - | 25 | |
| 引导权重截断 | 5 | 5 | |
| 延迟缓冲区大小 | - | 10 |
五、局限性与未来方向
- 计算开销:每步去噪需反向传播计算引导梯度,相比直接采样增加 ~28% 延迟(76ms → 97ms),但远低于 BID 的 2.3× 开销
- 仅适用于 Diffusion/Flow 策略:依赖迭代去噪过程进行修复,不适用于自回归 VLA 或 VAE-based 方法
- 真实世界任务覆盖有限:未涉及腿式运动等更高动态场景(仿真中有覆盖)
- 无法加速前向传播本身:RTC 与模型加速(蒸馏、量化)正交,两者可叠加使用
六、个人思考
6.1 与现有 VLA 高效推理方法的关系
RTC 解决的问题维度与本项目已有的 VLA 高效推理论文完全不同:
| 维度 | 现有方法(VLA-Cache、LAC、EfficientVLA 等) | RTC |
|---|---|---|
| 目标 | 减少单次推理的计算量/延迟 | 在给定延迟下实现平滑实时执行 |
| 方式 | Token 剪枝/缓存、层剪枝、量化 | 异步执行 + 修复式跨块对齐 |
| 延迟变化 | 降低延迟 | 增加少量延迟(+28%),但消除暂停 |
| 正交性 | - | 可与所有加速方法叠加 |
RTC 不是在"减少计算"这个维度上竞争,而是在"如何利用计算结果"这个维度上创新。一个自然的组合方案:先用 EfficientVLA/VLA-Cache 降低单次推理延迟,再用 RTC 在剩余延迟下实现平滑执行。
6.2 修复视角的优雅之处
将动作块转换问题建模为修复是本文最核心的洞察。传统方法要么简单拼接(Naive async,导致跳变),要么加权平均(TE,破坏多模态结构),要么拒绝采样(BID,计算昂贵)。修复范式的优势在于:
- 原则性:直接在生成过程中施加约束,而非后处理
- 数据流形一致性:引导项将生成结果推向训练分布内与前缀一致的区域,而 TE 的平均操作可能偏离流形
- 灵活性:软掩码的衰减权重天然编码了"越远的预测越不确定"的先验
这与图像修复中"保持已有区域、补全缺失区域"的逻辑完全一致——只是在时间序列而非空间维度上操作。
6.3 与 MPC 的有趣呼应
RTC 的异步执行 + 用前一解暖启动下一轮优化的模式,与模型预测控制(MPC)的 receding horizon 策略高度相似。区别在于:
- MPC 需要显式动力学模型和代价函数,适用范围受限
- RTC 利用 flow policy 的学习分布作为隐式模型,通过修复实现约束满足
- MPC 的暖启动是确定性的(直接平移前解),而 RTC 的修复是概率性的(在噪声空间中引导)
6.4 截断的实用价值
引导权重截断看似是一个小技巧,但实际解决了控制领域使用 diffusion/flow 修复的核心障碍。图像生成用 100 步去噪,引导权重增长平缓;但控制通常只用 5 步(甚至更少),不截断会直接导致发散。这个发现对未来将修复/引导技术应用于控制问题具有普遍参考价值。
参考
- π₀ — 本文实验中使用的基座 VLA(flow matching 架构)
- π₀.₅ — 本文真实世界实验使用的策略
- EfficientVLA — 结构化 training-free VLA 加速,与 RTC 正交可叠加
- VLA-Cache — 跨帧 Token 缓存加速,同样与 RTC 正交
- Pokle et al. 2023 — Training-free 修复算法(ΠGDM),RTC 的核心修复方法来源
- BID (Liu et al. 2024) — 双向解码拒绝采样,最接近的对比方法
- ACT (Zhao et al. 2023) — 动作块 + 时序集成的原始工作