Reinforcement learning~(RL) trains many agents, which is resource-intensive and must scale to large GPU clusters. Different RL training algorithms offer different opportunities for distributing and parallelising the computation. Yet, current distributed RL systems tie the definition of RL algorithms to their distributed execution: they hard-code particular distribution strategies and only accelerate specific parts of the computation (e.g. policy network updates) on GPU workers. Fundamentally, current systems lack abstractions that decouple RL algorithms from their execution. We describe MindSpore Reinforcement Learning (MSRL), a distributed RL training system that supports distribution policies that govern how RL training computation is parallelised and distributed on cluster resources, without requiring changes to the algorithm implementation. MSRL introduces the new abstraction of a fragmented dataflow graph, which maps Python functions from an RL algorithm's training loop to parallel computational fragments. Fragments are executed on different devices by translating them to low-level dataflow representations, e.g. computational graphs as supported by deep learning engines, CUDA implementations or multi-threaded CPU processes. We show that MSRL subsumes the distribution strategies of existing systems, while scaling RL training to 64 GPUs.
翻译:强化学习 ~ (RL) 培训许多代理,这是资源密集型的,必须推广到大型 GPU 群集。不同的 RL 培训算法为分配和平行计算提供了不同的机会。然而,目前分布的 RL 系统将RL 算法的定义与分布式执行联系在一起: 它们使用硬码特定分发战略, 并且只加快计算中关于 GPU 工人的具体部分( 如政策网络更新 ) 。 从根本上说, 当前系统缺乏从执行中分离 RL 算法的抽象性。 我们描述MindSpore Servement Legation( MSRL ), 这是一个分布式的 RL 培训系统, 支持分配政策, 管理RL 培训计算如何平行计算和在集资源上分配, 而不要求修改算法 。 MSR 执行 或多读化 CPU 进程 我们展示了一个零碎的数据流图, 将 Python 函数从 RL 培训循环到平行计算碎片。