RLlib:强化学习的强大工具
RLlib 是一个用于强化学习的开源库,为生产级、高度分布式的强化学习工作负载提供支持,同时为各种行业应用保持统一且简单的 API。无论您是想在多智能体设置中训练智能体,还是纯粹从离线(历史)数据集中学习,或者使用外部连接的模拟器,RLlib 都为您的每个决策需求提供了简单的解决方案。
RLlib 已经在许多不同的垂直领域中被行业领导者用于生产,如气候控制、工业控制、制造和物流、金融、游戏、汽车、机器人、船舶设计等。它的新 API 栈处于 alpha 阶段,Ray 团队计划将算法、示例脚本和文档逐步过渡到新的代码库,以逐步取代旧的 API 栈。
使用 RLlib 非常简便。它不会自动安装深度学习框架,但支持 TensorFlow(包括 1.x 静态图和 2.x 急切模式)以及 PyTorch。您只需根据需要安装其中之一(或两者,如下所示):pip install "ray[rllib]" tensorflow torch
。对于在运行 Apple Silicon(如 M1)的计算机上的安装,请按照此处的说明进行操作。要能够运行 Atari 示例,您还应该安装pip install "gym[atari]" "gym[accept-rom-license]" atari_py
。
只需几个步骤,您就可以在笔记本电脑上启动您的第一个 RLlib 工作负载。例如,在出租车领域运行 PPO 算法,您可以先为算法创建一个配置,设置正确的环境,并定义所需的所有训练参数。然后,构建算法并进行训练,最后进行评估。
RLlib 支持多种算法和环境。在算法方面,包括高吞吐量架构、重要性加权演员 - 学习者架构(IMPALA)、异步近端策略优化(APPO)、基于梯度的深度 Q 网络(DQN、Rainbow、Parametric DQN)、近端策略优化(PPO)、软演员评论家(SAC)、基于模型/元学习/离线的 DreamerV3、离线优势重加权模仿学习(MARWIL)等。在环境方面,涵盖了 Farama-Foundation gymnasium、Vectorized Multi-Agent and Hierarchical、External Agents and Applications 等。
RLlib 具有许多显著的特点。例如,高度分布式学习,允许您设置num_env_runners
配置参数,使您的工作负载可以在数百个 CPU / 节点上运行,从而并行化并加速学习。多智能体 RL(MARL),可以通过几个简单的步骤将您的(自定义)gym.Envs
转换为多智能体环境,并以多种方式开始训练您的智能体。此外,RLlib 还支持外部模拟器,以及离线 RL 和模仿学习/行为克隆。
RLlib 还提供了简单的 API,可定制您的训练和实验工作流程。您可以使用 Farama-Foundation 的 gymnasium 或 DeepMind 的 OpenSpiel 以 Python 编写自己的环境,提供自定义的 TensorFlow / Keras 或 Torch 模型,编写自己的策略和损失定义,或定义自定义的探索行为。
总之,RLlib 是一个功能强大且易于使用的强化学习库,为各种行业应用提供了强大的支持。