RobertTLange/gymnax

RL Environments in JAX 🌍

What it solves

gymnax は、CPU ベースの強化学習 (RL) 環境の低速さというボトルネックを解消します。JAX で古典的な RL 環境を再実装することで、研究者は環境とポリシーを同じアクセラレータ (GPU/TPU) 上で実行できるため、CPU と GPU の間の通信オーバーヘッドを排除し、大規模なベクトル化を実現できます。

How it works

OpenAI Gym API を JAX エコシステムに持ち込みます。JAX で記述されているため、環境は完全に機能的であり、jit (just-in-time compilation)、vmap (vectorized mapping)、pmap (parallel mapping) といった JAX のプリミティブと互換性があります。これにより、数千の環境インスタンスで同時に高スループットな rollout を行い、lax.scan を使用してエピソード全体のループを単一のアクセラレータ操作としてコンパイルできます。

Who it’s for

高スループットな実験を必要とする RL 研究者や開発者、異なる環境設定を並列化する必要がある meta-RL を研究している方、および進化戦略を用いた最適化手法のユーザー向けに設計されています。

Highlights

  • High-Throughput Vectorization: vmappmap を活用して大規模な並列 rollout を実現します。
  • Accelerator-Native: 環境とポリシーの両方を GPU/TPU 上で実行し、Anakin sub-architecture のようなアーキテクチャを促進します。
  • Broad Environment Support: 古典的な制御、bsuite、MinAtar、および様々な meta-RL タスクの実装を含みます。
  • Functional Control: ランダムシードやハイパーパラメータを明示的に制御することで、高速な並列化を可能にします。
  • Visualization Tools: Visualizer を含み、エージェントの挙動を GIF アニメーションで生成できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト