25年6月来自 PI 的论文“Real-Time Execution of Action Chunking Flow Policies”。

现代人工智能系统,尤其是那些与物理世界交互的系统,对实时性能的要求越来越高。然而,包括近期的视觉-语言-动作模型 (VLA) 在内的最先进的通用模型高延迟性构成了重大挑战。虽然动作分块在高频控制任务中实现时域一致性,但它并未完全解决延迟问题,导致在块边界处出现停顿或分布不均匀的抖动。本文提出一种推理时间算法,可以实现动作分块策略的流畅异步执行。其方法,实时分块 (RTC),适用于任何基于扩散或流的 VLA,开箱即用,无需重新训练。它在执行当前动作块的同时生成下一个动作块,“冻结”保证执行的动作,并“修复”其余动作。为了测试 RTC,在 Kinetix 模拟器中引入包含 12 个高动态任务的新基准,并评估 6 个具有挑战性的真实双手操作任务。结果表明,RTC 速度快、性能卓越,并且对推理延迟具有独特的鲁棒性,显著提高任务吞吐量,即使在存在较大延迟的情况下,也能在诸如点燃火柴之类的精确任务中实现高成功率。

RTC 如图所示:
请添加图片描述


随着人工智能系统能力的增强,其与环境的交互也越来越直接。无论是执行终端命令 [44]、在直播中玩 Pokémon [19],还是代表用户浏览网页 [64],最近的进展——主要由大规模深度学习推动——使这些系统能够越来越多地控制而不是仅仅处理外部世界的巨大异质性。具身智体,即机器学习模型直接控制真实的物理结构,或许就是典型的例子。推动智体语言和视觉模型的相同进步,也在从人形机器人 [4] 到自动驾驶汽车 [59] 等平台上的物理智能方面取得了巨大进步。

与聊天机器人和图像生成器不同,信息物理系统始终实时运行。当机器人在“思考”时,它周围的世界根据物理定律发展。因此,输入和输出之间的延迟对性能有明显的影响。对于语言模型来说,生成速度快与慢的区别在于用户是满意还是恼火;另一方面,对于机器人动作模型来说,它可能意味着机器人是递一杯热咖啡还是洒在腿上。

不幸的是,现代大规模机器学习的有效性伴随着高延迟这一不可避免的副作用。大语言模型 (LLM)、视觉-语言模型 (VLM) 和视觉-语言-动作模型 (VLA)(后者指的是为视觉运动控制设计的一类模型)拥有数十亿个参数 [8, 29, 5, 4, 57]。这些模型不仅运行速度慢,而且还需要难以连接到移动机器人等边缘设备的重型硬件,这进一步增加远程推理的开销。边缘硬件会随着时间的推移而改进,但随着机器人数据集的规模不断扩大,最好的 VLA 也会随之改进 [27]。

因此,将大型模型有效地应用于实时控制问题需要某种形式的异步性:也就是说,模型必须在执行前一个动作的同时考虑其未来的动作。动作分块 [67, 32, 11](action chunking),即模型在每次推理调用时输出并执行一系列多个动作,这部分解决了该问题。尽管动作分块已经在灵巧操作领域取得了许多最先进的成果 [5, 4, 57],但它仍然存在延迟问题。分块会牺牲系统对外部刺激的反应性,还会在块之间转换点引入不连续性,因为相邻的块可能会在学习动作分布的不同模式(或“策略”)之间跳跃。此类异常对基于学习的系统尤其有害,因为它们会导致动态分布偏移,而模型可能无法应对这种偏移。诸如将多个预测平均 [67] 等简单的平滑策略并不能保证产生有效的动作,反而可能使情况变得更糟(如图所示)。
请添加图片描述

一个优秀的实时系统必须产生一致且连续的控制信号,并整合最新的观测数据,而不会干扰环境的自然动态或模型生成正确动作的能力。本文提出实时组块 (RTC),它将异步动作组块化为一个修复问题。其算法在执行前一个动作组块的同时生成下一个动作组块,冻结那些由于推理延迟而必然执行的动作,并“修复”其余动作。它适用于任何基于扩散 [21] 或基于流 [35] 的 VLA,并且纯粹在推理时运行,无需更改现有的训练方案。

从一个动作分块策略开始,用 π(A_t | o_t) 表示,其中 A_t = [a_t, a_t+1, …, a_t+H−1] 是未来动作块,o_t 是观测值,t 表示控制器的时间步长,H 称为预测范围。当动作分块策略实施时,每个块中的前 s≤H 个动作会被执行,然后该策略会生成一个新的块。s称为执行范围;它通常比预测范围短,但仍远大于1(例如,s≈H/2 [11, 5, 23])。分块执行以牺牲反应性为代价来确保时间一致性。较长的执行范围会降低策略对新信息的响应能力,而较短的执行范围则会增加模式跳跃的可能性,即由于块之间的不连续性而导致的不稳定行为。

在本文中,考虑使用条件流匹配 [35] 训练的策略,但其方法也可以用于扩散策略,方法是在推理时将其转换为流策略 [47, 17]。为了从流策略生成动作块,首先从标准高斯分布中采样随机噪声 A0_t,然后使用更新规则将流的速度场 v_π(一个学习到的神经网络)从 τ = 0 积分到 1:
请添加图片描述

现在,令 ∆t 为控制器的采样周期,即控制器时间步长的持续时间,令 δ 为策略生成动作块所需的时间。定义 d := ⌊δ/∆t⌋,并将此量称为推理延迟,对应于从接收到 o_t 到 A_t 可用之间的控制器时间步长数。如果 d = 0,则可以在两个时间步长之间进行推理而不会中断。

然而,这在现代 VLA 中几乎不可能实现。例如,在 NVIDIA RTX 4090 GPU 上,拥有 30 亿个参数的 π0 VLA 仅在 KV 缓存预填充上就花费了 46 毫秒,这还不包括任何去噪步骤 [5],并且目标控制频率为 50Hz(∆t = 20 毫秒)。在移动设备操作的远程推理中,π0 的网络延迟为 13 毫秒,尤其是在有线连接的理想条件下。在更现实的环境中,仅网络开销就很容易超过 20 毫秒。Kim 等人 [30] 专门针对推理速度优化了 7B OpenVLA 模型 [29],但在 NVIDIA A100 GPU 上,其延迟不超过 321 毫秒。

当 d > 0 时,分块执行变得更加复杂。朴素同步推理是许多先前研究 [5, 29, 8, 23, 30, 58] 中的默认做法,它会在块之间引入可见的停顿,这不仅会减慢执行速度,还会改变机器人的动态,从而导致训练和评估之间的分布偏移。实时系统的首要要求是异步执行,即尽早启动推理,以保证每个时间步都有一个动作可用。

设 a_t′|t 表示块 A_t 的第 (t′ − t) 个动作,该动作是通过观察 o_t 生成的。如果 A_0 当前正在执行,并且希望在步骤 j 切换块,则异步算法必须从 j − d 开始推理。然而,由于策略无法知道在生成 A_j−d 时步骤 j − d 和 j 之间会发生什么,因此 a_j−1|0 和 a_j|j−d 之间的转换点可能是任意不连续的,并且超出分布范围。与执行时间过短类似,这种策略会导致不稳定的行为,并且延迟越长,情况就越糟糕。

实时执行的关键挑战在于保持块之间的连续性。当新的块可用时,前一个块已经执行了一部分,因此新的块必须与前一个块“兼容”。同时,新的块仍应包含新的观察结果,以便策略不会失去反应和修正的能力。

关键见解是将实时分块视为一个图像修复问题。为了使新的块“兼容”,必须使用重叠的时间步长,在这些时间步长中,可以访问前一个块的剩余操作。新块的前 d 个操作无法使用,因为这些时间步长在新块可用时已经过时。因此,将这些操作“冻结”到已知会被执行的值是有意义的;然后,目标是以与这个冻结前缀一致的方式填充新块的剩余部分(如图所示),就像修复图像中被移除的部分一样。
请添加图片描述

基于流匹配的推理时图像修复

修复是迭代去噪框架(例如扩散和流匹配)的已知优势。基于 Pokle [47] 提出的无需训练图像修复算法,该算法本身基于伪逆引导 (ΠGDM; [54])。该算法通过在每个去噪步骤中向学习的速度场 v 添加一个基于梯度的引导项来运行,该引导项促使最终生成匹配某个目标值 Y,而 Y 是期望结果的损坏版本。在图像修复的情况下,损坏算子是掩码,Y 是掩码后的图像,期望结果是在非掩码区域与 Y 一致的完整图像。ΠGDM 梯度校正,如下所示:

请添加图片描述

因此,引导项是一个向量雅可比积,可以使用反向传播计算。引导权重裁剪因子 β 是添加的;如果没有它,算法在控制问题中常用的少量去噪步骤下会变得不稳定。

软掩码提升跨块连续性

实践中,仅使用前一个动作块的前 d 个时间步进行简单的修复通常不足以确保新块采用一致的策略,尤其是在 d 较小的情况下(如图所示)。ΠGDM 校正并非完美无缺,较小的 d 会导致引导信号较弱,这可能导致新块仍然切换策略并导致不连续性。

请添加图片描述

本文解决方案是通过考虑前 d 个重叠动作,以及所有 H − s 个重叠动作,来增强策略的跨块连续性。通过软掩码来实现这一点,将 W 设置为实值权重,而不是 1 和 0。前 d 个动作的权重为 1;新块的后 s 个动作与前一个块不重叠,因此它们的权重为 0;中间的动作获得的权重从 1 呈指数衰减到 0,这说明未来的动作应该以更多的不确定性来对待。直观地讲,权重 W 会调节前一个块中每个对应动作的“注意”。

实时分块

在如下算法 1 中展示完整的实时分块系统。控制器通过 GETACTION 与算法交互,GETACTION 每 ∆t 周期调用一次,用于处理一个动作 a_t−1 并提供下一个观测值 o_t。INFERENCELOOP 在后台线程中运行,以便始终有一个动作可用。它通过保存过去延迟的缓冲区来预测下一个延迟 d。执行范围 s 会因块而异;用户提供一个最小期望范围 s_min,给定块的实际范围为 max(d, s_min),其中 d 是计算下一个块时遇到的延迟。最后,该算法描述 GUIDEDINFERENCE 中的软掩码修复程序,该程序明确定义去噪函数,即公式(3),并计算向量雅可比积,这可以通过逆模式自微分来完成 [2]。

请添加图片描述

模拟基准

大多数模拟模仿学习基准都是准静态的,标准分块执行加上足够长的执行时间范围可以实现近乎完美的成功率 [11]。在 Kinetix [42] 中创建一个包含 12 个动态任务的基准,该基准采用基于力的控制,因此推理延迟需要异步执行(没有“保持位置”的概念)。选择 10 个现有环境,并创建 2 个新环境,使得所有环境都包含动态动作,例如投掷、接球和平衡。为了模拟不完美的驱动,在动作中添加高斯噪声,使得闭环校正对于成功至关重要。

设置:为了生成用于模仿学习的数据,首先使用 RPO [49] 和二元成功奖励来训练专家策略。对于每个环境,使用不同的种子训练 6 个专家策略,然后生成一个 1M 的转换数据集,每个场景选择不同的策略。然后,训练动作分块流策略,其预测范围为 H = 8,并使用 4 层 MLP-Mixer [60] 架构,训练 32 个 epoch。报告每个数据点 2048 次 展开的二分类成功率,并模拟 0(完全闭环)到 4(H = 8 时支持的最大值)之间的延迟。

基准。与以下基准进行比较:
• 简单异步。此策略在生成新动作块时完全不关注前一个动作块,而是在新动作块准备就绪后立即切换动作块。
• 双向解码 (BID; [38])。此策略使用拒绝采样来保持动作块之间的连续性。采用 N = 32 批大小、K = 3 模式大小,训练 8 个 epoch 的检查点作为弱策略。
• 时间集成 (TE; [67])。该策略涉及保留预测动作块的缓冲区并执行特定时间步长预测的所有动作的平均值。

真实世界实验

接下来,将完整的实时分块系统部署到现实世界。用 π0.5 VLA [23]作为基础策略,并在配备两个六自由度机械臂和平行爪式夹持器的双手系统上评估实时分块 (RTC)。与模拟基准测试不同,机器人使用位置控制,因此同步推理(在分块之间停止)是一种合理的默认策略,该策略在许多先前的研究中都使用过[5, 23, 30, 46]。目标是在性能和​​速度方面提升同步推理。

设置:用 π0.5(H = 50,∆t = 20ms)和 n = 5 个去噪步骤,使得基线模型延迟为 76ms,RTC 模型延迟为 97ms。用局域网进行远程推理,这会增加 10-20ms 的延迟,使得 RTC 的起始推理延迟约为 d ≈ 6。然而,了解系统在更高推理延迟下的表现,例如模拟扩大模型规模或在远程云服务器上运行推理。因此,还评估所有注入延迟 +100ms 和 +200ms 的方法,分别对应于 d ≈ 11 和 d ≈ 16。

任务和评分。每个回合都会获得一个整数分数,该分数对应于它成功完成任务的子步数。评估以下任务:
• 点燃蜡烛(5 步,40 秒截止)。拿起火柴和火柴盒,划火柴,用它点燃蜡烛,然后将其放入碗中。
• 连接以太网(6 步,120 秒截止)。拿起以太网电缆的一端,重新调整方向,将其插入服务器机架,然后对另一端重复此过程。
• 整理床铺,移动(3 步,200 秒截止)。将毯子和两个枕头的一角从床脚移到床头。
• 折叠衬衫(1 步,300 秒截止)。从平整位置折叠衬衫。
• 批量折叠(4 步,300 秒截止)。从垃圾桶中取出一件不同的、皱巴巴的衣服,将其展平、折叠,然后整齐地堆放在一起。
• 水槽中的餐具,可移动(8 步,300 秒截止)。将 4 件不同的餐具从柜台移到水槽中。

基线。与以下基线进行比较:
• 同步。这对应于先前工作 [5, 23, 30, 46] 中的默认推理策略,该策略执行 s = 25 个动作,然后在生成新块时暂停。
• TE,稀疏。这在模拟结果中类似于简单异步;它每次执行 s = 25 个动作,同时并行计算下一个块。即使每个块只有前 H − s − 2d 个执行步骤有重叠的动作需要集成,应用 TE 也能显著降低抖动。
• 密集 TE。该策略与 Zhao [67] 中的原始 TE 最接近。通过在算法 1 中设置 s_min = 1(即每个块的 s = d)来尽可能多地运行推理。这导致始终至少有 2 个重叠的动作块需要集成,通常更多。

没有在现实世界中将其与 BID [38] 进行比较,因为在模拟中发现它的性能不如 RTC,同时使用更多计算资源——当应用于 π0.5 且批量大小为 16 时,BID 的延迟是本文方法的 2.3 倍。

Logo

更多推荐