告别CPU,加速100-1000倍!只用GPU就能完成物理模拟和强化学习训练

告别CPU,加速100-1000倍!只用GPU就能完成物理模拟和强化学习训练
文章图片
编译|王晔
校对|青暮
IsaacGym由英伟达开发 , 通过直接将数据从物理缓存传递到PyTorch张量进行通信 , 可以端到端地在GPU上实现物理模拟和神经网络策略训练 , 无需CPU 。 IsaacGym提供了一个高性能的学习平台 , 使得各种智能体训练能够直接在GPU上进行 。
与使用CPU模拟器和GPU神经网络的传统RL训练相比 , IsaacGym大幅度缩减了复杂机器任务在单个GPU上的训练时间 , 使其训练速度提高了1-2个数量级 。
告别CPU,加速100-1000倍!只用GPU就能完成物理模拟和强化学习训练
文章图片
图1:IsaacGym使不同机器人在复杂环境中进行各种高性能训练 。 研究人员对8种不同的复杂环境进行了基准测试 , 并展示了模拟器在单个GPU上进行快速策略训练的优势 。 上面:Ant , Humanoid , Franka-cube-stack , Ingenuity 。 下面:ShadowHand,ANYmal,Allegro,TriFinger.
项目地址:https://sites.google.com/view/isaacgym-nvidia
1
简介
近年来 , 强化学习(RL)已经成为机器学习中最值得研究的领域之一 , 它在解决复杂决策问题方面拥有巨大的潜力 。 无论是围棋、国际象棋等经典策略游戏 , 还是《星际争霸》、《DOTA》等即时战略游戏 , 深度强化学习(DeepRL)对于这种具有挑战性的任务表现得都很突出 , 它在机器人环境中的表现也令人印象深刻 , 包括腿部运动和灵巧的操作等 。
模拟器可以提高学习过程中的安全性和迭代速度 , 在训练机器人的过程中发挥着关键作用 。 在真实世界中训练仿人机器人 , 比如让它进行上下楼梯的训练 , 可能会破坏其器械和周边环境 , 甚至有可能伤害到操控它的研究人员 。 有一种方法可以排除在现实世界中训练的安全隐患 , 那就是在模拟器内进行训练 。
模拟器可以提供一个高效、可扩展的平台 , 允许进行大量试错实验 。 目前 , 大多数研究人员还是结合CPU和GPU来运行强化学习系统 , 利用这两个部分分别处理物理模拟和渲染过程的不同步骤 。 CPU用于模拟环境物理、计算奖励和运行环境 , 而GPU则用于在训练和推理过程中加速神经网络模型 , 以及在必要时进行渲染 。
然而 , 在优化顺序任务的CPU内核和提供大规模并行性的GPU之间来回转换 , 需要在训练中系统的不同部分的多个点之间传输数据 , 这种做法从本质上来说是非常低效的 。 因此 , 机器人深度强化学习的扩展面临着两个关键瓶颈:1)庞大的计算需求2)模拟速度有限 。 机器人在进行高度自由的复杂学习行为时 , 这些问题尤为突出 。
物理引擎如MuJoCo、PyBullet、DART、Drake、V-Rep等都需要大型CPU集群来解决具有挑战性的RL任务 , 这些无一不面临着上述瓶颈 。 例如 , 在“SolvingRubik’sCubewithaRobotHand”这项研究中 , 近30,000个CPU核心(920台工人机器 , 每台有32个核心)被用来训练机器人使用RL解决魔方任务 。 在一个类似研究“Learningdexterousin-handmanipulation”中 , 使用了一个由384个系统组成的集群 , 包含6144个CPU核 , 加上8个NVIDIAV100GPU , 进行30个小时的训练 , RL才能收敛 。
用硬件加速器可以加快模拟和训练 。 在计算机图形学方面已经取得巨大成功的GPU自然也能适用于高度并行的模拟 。 “Gpu-acceleratedroboticsimulationfordistributedreinforcementlearning”研究中采取了这种方法 , 并显示了在GPU上运行模拟的令人喜出望外的结果 , 这证明了有可能可以极大缩减训练时间以及使用RL解决极具挑战性的任务所需的计算资源 。
但是 , 此项工作中仍有一些瓶颈没有解决——模拟是在GPU上进行的 , 但物理状态会被复制回CPU 。 因此 , 观察和奖励是用优化的C++代码计算的 , 接着再复制回GPU , 在那里运行策略和价值网络 。 此外 , 该项工作只训练了简单的基于物理学的场景 , 而不是具有代表性的机器人环境 , 也没有尝试实现sim2real(从模拟环境迁移到现实环境) 。