当前位置: 首页 > news >正文

【学习笔记】训练时动作条件化:一种更高效的机器人实时控制方案

大型视觉-语言-动作模型(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.
http://www.jsqmd.com/news/619089/

相关文章:

  • 星空运行库缺失一键修复:2026最新工具与手动安装步骤
  • OpenClaw日志分析实战:千问3.5-35B-A3B-FP8任务失败排查手册
  • 【信奥业余科普】02:给机器注入灵魂的两位天才——图灵与冯·诺依曼
  • FPGA电子琴DIY全流程:从Modelsim仿真到Quartus II烧录(附完整源码)
  • ASRock Rack ALTRAD8UD-1L2T Deep MicroATX: Revolutionizing Compact Arm-Based Servers
  • Fan Control:Windows风扇控制终极指南,告别噪音与高温烦恼![特殊字符]
  • 终极指南:使用BilibiliDown高效下载B站视频的完整解决方案
  • C3D行为识别(一):UCF101视频数据集预处理实战与优化
  • 告别命令行:5分钟掌握BBDown_GUI图形化下载神器
  • RHCSA第一阶段练习题
  • 如何快速掌握开源Windows调试器:x64dbg完整入门指南
  • 2026执业药师稳妥备考指南:零基础、在职考生如何选对靠谱培训班? - 医考机构品牌测评专家
  • CTF Web 入门:一道 PHP 弱类型比较题的完整解题思路
  • 2026年学生党必看!6款文献翻译工具深度测评,哪款最适合预算有限的你?
  • Qwen3-ASR-0.6B应用场景:会议记录、语音笔记、字幕生成一键搞定
  • 如何5分钟快速配置Zotero检索引擎:终极学术研究效率提升指南
  • nanobot 源码解析(五):Skills 系统——让 AI 秒变专家刈
  • 物联网养殖环控系统:科技赋能,推动传统养殖向数字转型
  • 告别电脑噪音!5步掌握免费风扇控制软件FanControl
  • JMS, ActiveMQ 学习一则套
  • GitHub 悄悄起飞的开源项目,想让 AI 接管你的电脑穆
  • GKD第三方订阅终极指南:如何一键获取全网最优质规则集合
  • linux-内核结构体
  • BepInEx快速入门三部曲:3分钟掌握Unity游戏插件注入终极教程
  • 人脸识别静电测试方案|车间ESD门禁联动、调试及故障排查
  • 模拟量采集模块:多点位同步采样,数据一致性更高
  • 2026年软件测试黄金证书全解析:赋能职业进阶的核心认证体系
  • 你的Windows 11为什么越用越慢?可能是这些“隐形负担“在作祟
  • 没钱没设备?STM32入门不用买板!纯仿真0成本学习攻略|系列第1篇
  • 从能用到性能: gcsfuse 中`CreateEmptyFile` 配置项的设计演进分析颇