RobertTLange/gymnax
RL Environments in JAX 🌍
解决的问题
Gymnax 解决了传统强化学习(RL)环境处理缓慢、依赖 CPU 的瓶颈问题。它允许研究人员在加速器(GPU/TPU)上运行环境转换和策略,从而实现高吞吐量实验和大规模向量化。
工作原理
Gymnax 使用 JAX 重新实现了经典 RL 环境(如 OpenAI Gym 中的环境)。通过这种方式,它将 JAX 的原语(如 jit(即时编译)、vmap(向量化映射)和 pmap(并行映射))引入了环境 API。这使得环境和策略可以在同一加速器上执行,从而实现快速并行化 rollout,并对环境设置(如随机种子和超参数)进行函数式控制。
适用人群
专为需要高性能环境模拟的 RL 研究人员和开发者设计,尤其适用于从事元强化学习、进化优化或分布式架构(如 Anakin 子架构)的研究者。
主要亮点
- 加速环境:包含经典控制、bsuite、MinAtar 以及多种元强化学习任务的实现。
- JAX 集成:完全支持
jit、vmap和pmap,实现跨随机键或环境参数的大规模向量化。 - 可微分转换:在连续控制环境(如 Pendulum、MountainCarContinuous)中提供可选的 JAX 梯度支持。
- 快速 rollout:支持
lax.scan,可将整个 episode 循环编译为单个加速器操作。 - 自动重置:在终止或截断步骤后实现自动重置行为。
相关
- 项目
- 项目
- 项目
- 项目
- 项目