更新(2025年12月8日):我们发布了介绍 RTC 训练时版本的后续论文,并将其用于 π*₀.₆ 制作浓缩咖啡的演示。
不同于聊天机器人或图像生成器,机器人必须实时运行。当机器人“思考”时,周围的世界会按照物理规律继续变化,因此输入与输出之间的延迟会切实影响性能。对语言模型而言,生成速度快慢的差别可能只是用户满意或恼怒;但对视觉-语言-动作模型(VLA,vision-language-action)而言,这可能决定机器人是把一杯热咖啡递给你,还是把它洒在你的腿上。
尽管 VLA 在开放世界泛化方面已经取得了令人鼓舞的结果,但它们运行起来可能很慢。和语言、视觉模型一样,这些模型拥有数十亿参数,需要高性能 GPU。在移动机器人等边缘设备上,集中式推理服务器与机器人之间的网络通信还会进一步增加延迟。
要用 VLA 构建实时系统,我们需要某种形式的异步机制:也就是说,模型在执行前一个动作时,必须能够思考未来的动作。动作分块(action chunking)——机器人在每次推理调用中输出并执行一串多个动作——是一个很好的起点。我们的 VLA 都使用大小为 50 的动作块,对应 1 秒的实际时间。然而,仅有分块还不够。当切换动作块时,新动作可能与旧动作“不一致”,导致不连续运动和不安全的加速度。试图用朴素方法平滑这些不连续性,并不能保证得到合法动作,甚至可能造成灾难性后果。
上文所说的灾难性后果。这些结果来自尝试使用时间集成(temporal ensembling)来平滑不连续性;时间集成是此前由 ACT(Zhou 等,2023)引入的一种流行方法。
因此,在 π₀、π₀-FAST 和 π₀.₅ 中,我们没有采用实时策略。我们同步执行动作:完成一个动作块后,等待模型推理,再开始执行下一个动作块。这样,机器人每次都从静止状态开始动作块,避开了运动中切换动作块所带来的问题。但这会在动作块之间引入停顿,而这些停顿同样有害——训练数据中并不存在这种停顿。更不用说,它们会拖慢速度、观感糟糕,也会阻碍我们扩大模型规模。
为了解决这些问题,我们开发了一种称为实时分块(real-time chunking,RTC)的算法。它能够在没有不连续性的情况下实时执行,并且适用于任何基于 diffusion 或 flow 的 VLA——包括 π₀.₅——无需修改训练过程。我们发现,在测试的所有任务中,RTC 都显著缩短了执行时间。即使人为注入延迟,使延迟远高于正常水平,它对延迟仍然非常稳健。RTC 在推理延迟超过 300 毫秒时,仍完成了击划火柴、插入以太网线等动态且精确的任务。
边移动边思考


存在推理延迟时,实时执行需要仔细处理。当新动作块生成时(红色),前一个动作块(绿色)仍在继续执行。如果新动作块与前一个动作块差异很大——这往往确实如此——切换到新动作块就会导致灾难。
实时执行的核心挑战,是维持动作块之间的一致性。模型生成新动作块时,前一个动作块已经执行了一部分。如果没有专门的算法,新动作块可能与机器人的当前轨迹完全不兼容——模型可能是在响应新信息,也可能只是从其学到的行为分布中采样出了另一种“策略”。因此,我们必须利用动作块重叠的时间步,因为在这些时间步上仍然可以访问前一个动作块的剩余动作。一个好的实时算法应当生成与这些重叠动作一致的新动作块,同时保留模型对新信息的反应能力和做出智能决策的能力。
我们的关键洞见,是把实时分块表述为一个修补(inpainting)问题。假设模型在接收到观测后,需要 3 个控制器时间步才能生成一个动作块。新动作块的前 3 个动作无法执行,因为等新动作块可用时,这些时间步已经过去了。因此,合理的做法是将这几个动作“冻结”为前一个动作块中的对应值,因为我们知道机器人将执行这些值;然后填补新动作块的其余部分,就像填补图像中被移除的一块区域。根据动作块大小和运行推理的频率,前 3 个动作之后还可能有若干动作与前一个动作块重叠。与其完全忽略这些动作、从头开始,不如对中间这些动作进行部分关注(partial attention),促使模型保持一致的策略,同时允许它根据新信息进行更新。
幸运的是,即使没有针对修补进行训练,diffusion 和 flow 模型也非常擅长图像修补。我们将这些算法适配到当前场景,并加入“部分关注”思想,从而无需任何训练时改动,就能解决动作块一致性问题。这意味着,我们可以直接将方法应用在 π₀、π₀.₅ 等模型之上,在实时执行的同时受益于训练阶段积累的全部研究成果。
高延迟模型的精度与速度
我们设计了一组实验,用来比较实时分块与同步推理的表现。当然,RTC 应当更快,因为它消除了动作块之间的推理停顿。不过,我们还假设 RTC 有助于提高精度——这些停顿改变了机器人的动力学,而模型并未针对这种变化进行建模。因此,除标准的长时程任务外,我们还测试了两个短而高度精确的任务:用火柴点燃蜡烛,以及插入以太网线。
实时分块的一个动机,是应对高于当前水平的推理延迟。无论是扩大模型规模、在云端运行推理,还是支持不同的 embodiment(具身形态),延迟都将升高,而处理延迟也会越来越关键。因此,我们还研究了策略在额外注入 100 毫秒和 200 毫秒延迟时的表现。额外延迟为 200 毫秒时,移动操作机器人的总推理延迟已经超过三分之一秒。
- 组件:模型;移动机器人 97ms;固定机器人 97ms
- 组件:网络;移动机器人 21ms;固定机器人 6.9ms
- 组件:图像缩放;移动机器人 11ms;固定机器人 1.4ms
- 组件:其他;移动机器人 9.7ms;固定机器人 3.0ms
- 总计:移动机器人 139ms;固定机器人 108ms
移动机器人和固定机器人通过网络运行远程推理时的延迟示例。即使使用相对较小的 3B 参数模型和有线连接,100ms 或更高的延迟也相当常见。更大的模型或更差的网络条件只会让情况变得更糟。
评估策略的“速度”并不简单。我们不想奖励失败——无论失败有多快;也不想奖励只偶尔成功、但成功时很快的策略。我们设计了吞吐量(throughput)指标:将每个任务拆分为若干子步骤(例如折叠一件衣服),然后将一个 episode 的吞吐量定义为成功完成的子步骤比例除以 episode 时长。如下图所示,随着推理延迟增加,同步推理的表现大幅下降,而实时分块的表现直到额外延迟 200ms 都完全不变。
推理延迟与平均吞吐量的关系。RTC(本文方法)、同步推理,以及时间集成(TE,Zhou 等,2023)的稀疏和密集版本进行了比较;误差条为 ±1 SEM,每个点取 6 个任务、每个任务 10 个 episode 的平均值。
当然,我们预期 RTC 会更快,因为它消除了动作块之间的停顿。为了检验关于精度的假设,我们还用另一个指标衡量策略:控制器步数,或者说去除推理停顿后的经过时间。这不会影响 RTC,却会让同步推理在表面上获得性能优势。如图所示,按控制器步数衡量时,两种方法最终得分通常相近;但 RTC 往往在 episode 早期取得更多进展,说明它犯的错误更少。更深入的结果请参阅完整论文。
展望与下一步
VLA 和其他机器人基础模型必须实时处理物理世界。RTC 为当前 VLA 的实时推理提供了一种非常简单而有效的策略,即使面对很高的推理延迟,也展现出出人意料的韧性。这里还有很多工作要做:未来的机器人系统需要在多个抽象层级和多个时间尺度上进行复杂推理,规划复杂而快速的动态运动,并在需要时暂停下来“更认真地思考”。随着模型规模扩大,把这些问题处理好会越来越重要;而实现真正物理智能所需的规模,很可能需要更复杂的实时推理机制。
如果你有兴趣加入我们,一起解决这些问题以及其他将物理智能带入现实世界的问题,请联系我们。对于关注我们工作、合作事宜或其他问题的研究人员,请写信至 research@physicalintelligence.company。
脚注
1. 边缘 GPU 会随着时间推移而改进,但随着机器人数据集规模增长,最佳 VLA 的规模也会增长。我们不希望永远受限于移动机器人板载计算机能够容纳的模型规模。
2. 我们确实在一些视频的部分片段中使用过早期版本的实时分块,但没有将其用于任何定量结果。你能看出哪些视频存在推理停顿、哪些没有吗?