使用 Amazon SageMaker AI 上的 NVIDIA Isaac Lab 扩展机器人强化学习
本文展示了如何使用 Amazon SageMaker AI 上的 NVIDIA Isaac Lab 为 Unitree H1 人形机器人训练策略,涵盖两种计算选项:SageMaker HyperPod(弹性持久集群)和 SageMaker Training Jobs(临时按需训练)。解决方案提供统一的 Docker 镜像、MLflow 实验跟踪以及详细的操作指南。
物理人工智能正从研究走向生产。机器人在高保真模拟器中训练后部署到工厂、仓库和物流中心,因为现实世界中的训练速度慢、成本高且通常不安全,而 GPU 加速的模拟可以将数月的学习压缩到数小时内。这将对计算能力提出更高要求。强化学习(RL)需要大量计算,尤其是像人形机器人在粗糙地形上行走这样的复杂行为,单节点训练可能需要数小时甚至数天。机器人团队需要在研究阶段快速迭代,同时运行生产级、长周期的训练任务,而无需承担维护计算集群的运营负担。
Amazon SageMaker AI 消除了管理机器学习训练基础设施的繁重工作。该服务可以自动配置实例、配置驱动程序和网络、监控节点健康,并在作业完成后清理资源,从而使工程师能够专注于开发机器人策略而非基础设施。对于机器人策略的强化学习,这种优势尤为明显,因为训练任务往往耗时长、GPU 密集,且通常跨多个节点分布式运行。开发通常包括两个阶段:短期的迭代实验(调整奖励函数、观测空间和模型架构)和长期的生产级训练(将调整后的配置训练至收敛)。SageMaker AI 提供了两种计算选项来适应这些阶段:SageMaker HyperPod 提供持久且具有弹性的集群,具备自动节点健康检查和故障恢复功能,适合生产级训练;SageMaker Training Jobs 提供完全托管的按需计算,无闲置成本,适合迭代实验和超参数调优。
NVIDIA Isaac Lab 是一个基于 NVIDIA Isaac Sim 的开源机器人学习框架。它利用 GPU 并行模拟,同时运行数千个机器人实例,将数月的真实经验转化为数小时的模拟训练。示例训练任务为 Isaac-Velocity-Rough-H1-v0,其中 Unitree H1 人形机器人学习在粗糙地形上行走时跟踪速度指令。机器人需要协调 19 个关节以在不规则地形上保持平衡。训练使用 PPO(近端策略优化)算法通过 skrl 实现。
解决方案包括一个统一的 Docker 镜像(基于 nvcr.io/nvidia/isaac-sim:5.1.0)、一个生成器脚本(用于生成 Kubernetes 清单和 SageMaker 启动脚本)以及可选的 MLflow 实验跟踪。训练拓扑在两种后端下本质相同,均使用 torchrun 启动 Isaac Lab 的训练器,区别在于环境如何向容器提供拓扑信息。GPU 实例兼容性方面,Isaac Sim 需要具有硬件 RT 核心的 GPU,因此推荐使用 G 系列实例(如 ml.g6、ml.g6e、ml.g7e),而 P 系列实例(如 p4d、p5)由于缺乏 RT 核心而不适用。该解决方案已配置弹性结构适配器(EFA)以实现多节点通信。
设置步骤包括克隆 GitHub 仓库、构建 Docker 镜像并推送到 Amazon ECR。之后可按需选择 SageMaker HyperPod 或 SageMaker Training Jobs 后端进行训练。详细指南请参考 AWS 官方博客及 GitHub 仓库。