近期,把机器人强化学习的训练支持环境从 Isaac Lab 2.3.0 升级到了 3.0.0。最直观的感受是实际训练变快了,而进一步了解后,发现这次升级还带来了多物理后端、更灵活的学习库,以及更丰富的仿真与验证能力。

本文围绕这些变化展开,接口迁移只简要带过。目前我仍主要使用 Isaac Sim/PhysX,尚未亲自测试其他物理后端;速度提升也暂未做严格量化。
在这里插入图片描述

1. 整套训练运行栈同步更新

下面是本机升级前后环境中的主要版本:

组件原训练环境新训练环境
Isaac Lab2.3.03.0.0
Isaac Sim5.1.06.2.0
Python3.113.12
PyTorch2.7.0,CUDA 12.8 构建2.11.0,CUDA 13.0 构建
RSL-RL3.0.15.5.1

这些是本机当前安装版本,与 Isaac Lab 3.0 正式版的主要目标依赖一致。参见官方发布说明。

因此,这次体验上的变化可能来自 Lab、Isaac Sim、PyTorch 和学习库的共同作用,需要从整个运行栈理解。

2. 性能优化:减少训练循环里的重复开销

3.0 更深入地采用 Warp 数据通路,并通过共享数据视图、缓存、融合 GPU 内核等方式减少数据衔接与重复计算开销。支持的执行路径还可以借助 CUDA Graph,降低反复提交 GPU 工作的调度成本。

对于需要持续推进大量并行环境的训练,这些逐步节约的时间有机会累积成明显收益。不过,共享基础设施的优化与实验性 Warp 环境属于不同层次,不能把后者的全部收益算到常规 PhysX 训练中。

官方给出了一组比较直观的历史数据:在 4096 个并行环境、300 次迭代的条件下,比较 Newton 上的常规 Torch 环境与采用 CUDA Graph 的实验性 Warp 环境。以下耗时由原文的微秒换算为毫秒:

任务Torch 环境 Step 耗时Warp 环境 Step 耗时耗时下降
Isaac-Velocity-Flat-AnymalD32.294 ms23.977 ms25.75%
Isaac-Velocity-Flat-Cassie17.320 ms10.706 ms38.19%
Isaac-Velocity-Flat-G134.487 ms27.300 ms20.84%
Isaac-Velocity-Flat-UnitreeGo215.221 ms9.966 ms34.52%

数据来自官方 Warp 环境性能对比。

对我而言,更快的训练首先意味着可以在同样时间内完成更多重复实验和验证。至于样本效率和最终策略质量,则需要另行评估。

3. RSL-RL 从 3 升到 5:学习侧也有实质变化

RSL-RL 是独立的强化学习库,这次随训练支持环境一起从 3.0.1 升到了 5.5.1。跨越这些版本后,值得关注的变化包括:

  • 网络组件更容易复用。 Actor、Critic、Student 和 Teacher 采用更统一的模型组织方式,新网络结构可以复用于训练与蒸馏。视觉策略还可以选择让 Actor 与 Critic 共享 CNN 编码器,方便控制模型规模和计算开销。参见RSL-RL 4.0 发布说明。
  • 新增可选的计算优化。 5.5 为 PPO 和蒸馏加入了 bfloat16 混合精度;Lab 3.0 的配套集成还提供了 Actor/Critic 的 torch.compile 选项。这些能力需要显式启用,收益取决于网络与硬件,也需要检查训练的数值表现。参见RSL-RL 5.5 发布说明及Lab 3.0 学习侧更新。
  • 多 GPU 训练得到完善。 新版本修复了跨 GPU 归一化统计同步问题,并通过分桶归约梯度降低多 GPU 通信过程中的内存峰值。它们对分布式训练的一致性和稳定性有实际价值。参见RSL-RL 5.5和5.5.1 发布说明。

此外,动作分布被独立为可扩展组件,异常数值检查也得到改进,便于尝试不同策略输出形式和定位训练问题。参见RSL-RL 5.0 发布说明。

这些变化拓展了训练与部署的选择,但不会仅凭版本更新就自动提升 PPO 的收敛效果。旧模型继续使用时,也需要处理存档格式和训练状态的迁移。

4. 多物理后端:让策略多经过一组验证

3.0 将物理、渲染和可视化解耦,支持在共同的 Lab 工作流中选择不同实现。支持的任务可以使用 Newton,或使用独立 OVPhysX,而无须始终依赖完整 Isaac Sim。参见后端架构说明。

不同路径的关注点有所区别:

路径主要价值
Isaac Sim / PhysX继续使用完整 Isaac Sim 的物理、RTX 及相关工具生态
OVPhysX为兼容任务提供不依赖完整 Isaac Sim 的 PhysX 运行方式
Newton / MuJoCo-Warp为关节机器人提供另一条 GPU 物理求解路径,适合开展跨后端验证
Newton / VBD、MPM扩展柔性体、线缆和粒子材料等场景,具体能力取决于求解器及耦合方式

求解器支持范围见官方 Solver Differences 文档。

对于运动控制,我更关注 Sim-to-Sim 验证:在 PhysX 中训练策略,再放到经过对齐的 Newton/MuJoCo-Warp 模型中回放,观察它对接触、摩擦和驱动响应差异是否敏感。

如果策略明显退化,这些差异可以帮助定位建模或控制问题,为进一步训练提供线索。比较前需要先对齐模型、输入输出和控制周期,官方已提供双向策略迁移指南。

我还没有做这部分测试,因此目前将它视为值得尝试的方向。跨后端表现稳定可以增加对策略适应性的信心,最终效果仍需要真实机器人验证。

5. 仿真与数据工作流也在扩展

除了性能和学习库,3.0 还完善了几类能力:

  • 更丰富的物理交互。 表面与体积柔性体,以及刚体、柔性体和粒子求解器的耦合,为软物体操作、线缆和材料交互等任务提供了更多实现路径。
  • 更完整的物理诊断。 接触力的法向、摩擦和聚合数据,以及独立关节力传感器,有助于分析滑移、碰撞和约束载荷,而不只观察运动是否完成。
  • 更连贯的示教与部署流程。 Isaac Capture 集成支持重定向、MCAP 记录与回放;LEAPP 的导出和部署能力继续完善,也覆盖相机等输入,让示教、训练和策略使用之间的衔接更完整。

这些能力的具体支持取决于所选后端与任务,相关更新见官方仿真功能与部署说明。

接口层面的四元数约定、字段和启动方式也有调整,完成迁移后仍应检查物理行为是否符合预期。对我当前的工作而言,更值得继续探索的是:利用更高的实验效率完成充分验证,再逐步尝试其他物理后端及学习侧的新能力。

Logo

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

更多推荐