Deep Reinforcement Learning (DRL) is vital in various AI applications. DRL algorithms comprise diverse compute kernels, which may not be simultaneously optimized using a homogeneous architecture. However, even with available heterogeneous architectures, optimizing DRL performance remains a challenge due to the complexity of hardware and programming models employed in modern data centers. To address this, we introduce PEARL, a toolkit for composing parallel DRL systems on heterogeneous platforms consisting of general-purpose processors (CPUs) and accelerators (GPUs, FPGAs). Our innovations include: 1. A general training protocol agnostic of the underlying hardware, enabling portable implementations across various processors and accelerators. 2. Incorporation of DRL-specific scheduling optimizations within the protocol, facilitating parallelized training and enhancing the overall system performance. 3. High-level API for productive development using the toolkit. 4. Automatic optimization of DRL task-to-device assignments through performance estimation, supporting various optimization metrics including throughput and power efficiency. We showcase our toolkit through experimentation with two widely used DRL algorithms, DQN and DDPG, on two diverse heterogeneous platforms. The generated implementations outperform state-of-the-art libraries for CPU-GPU platforms by throughput improvements of up to 2.1$\times$ and power efficiency improvements of up to 3.4$\times$.
翻译:深度强化学习(DRL)在各类人工智能应用中至关重要。DRL算法包含多种计算内核,这些内核可能无法在同构架构上同时得到优化。然而,即便采用现有的异构架构,由于现代数据中心所使用的硬件与编程模型十分复杂,优化DRL性能仍是一项挑战。为解决此问题,我们提出了PEARL——一个用于在由通用处理器(CPU)和加速器(GPU、FPGA)组成的异构平台上构建并行DRL系统的工具包。我们的创新包括:1. 一种与底层硬件无关的通用训练协议,使实现能够在各种处理器和加速器间可移植;2. 在协议中融入DRL特定的调度优化,支持并行化训练并提升整体系统性能;3. 提供高级API以实现该工具包的高效开发;4. 通过性能估算自动优化DRL任务到设备的分配,支持吞吐量和能效等多种优化指标。我们通过在两个不同异构平台上对两种广泛使用的DRL算法(DQN和DDPG)进行实验,展示了该工具包。生成的实现在CPU-GPU平台上相比现有最先进库实现了高达2.1倍的吞吐量提升和高达3.4倍的能效提升。