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