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 循环编译为单个加速器操作。
  • 自动重置:在终止或截断步骤后实现自动重置行为。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目