pytorch/rl
A modular, primitive-first, python-first PyTorch library for Reinforcement Learning.
何を解決するか
TorchRLは、強化学習(RL)システムを構築するためのモジュール式でPyTorchネイティブなツールキットを提供します。共通のデータモデルを用いることで、環境、ポリシー、リプレイバッファ、損失関数を再実装せずに交換・組み合わせ可能となり、過剰な「接着コード」や硬直的なデータ構造の必要性を排除します。
仕組み
このライブラリは TensorDict に中心を置いています。TensorDict は名前付きテンソル(観測、行動、報酬など)をトレーニングループ全体に渡す辞書型のコンテナです。これにより、データの構造、バッチ次元、デバイスの位置が異なるコンポーネント間で維持されます:
- ポリシー:TensorDict内の特定のキーを読み書きするPyTorchモジュール。
- 環境:インタラクションループを処理するモジュール。ネイティブPyTorch環境およびGymnasiumやMuJoCoなどのライブラリ用ラッパーをサポート。
- コレクタ:実行ループを管理するブリッジ。1つまたは複数のワーカーからの軌道をバッチ化(単一プロセス、非同期、分散)。
- リプレイバッファ:データのサンプリングと変換をサポートするモジュール式ストレージシステム。優先順位付きリプレイとmemmapバックエンドをサポート。
- 損失モジュール:TensorDict内の名前付きキーに基づいて微分可能な損失(例:PPO、SAC、DQN)を計算する目的関数。
対象ユーザー
TorchRLは、強化学習、ロボット工学、意思決定、シミュレーションに取り組む研究者や開発者、およびLLMの後処理実験(例:GRPO)を行う人々に設計されています。
特徴
- 組み合わせ可能なアーキテクチャ:環境、ポリシー、バッファの独立したモジュールで、簡単に交換可能。
- 広範なアルゴリズムサポート:PPO、SAC、TD3、DQN、DreamerV3、およびMAPPOやIPPOなどのマルチエージェントアルゴリズムの実装。
- 高性能:
torch.compile、CUDA、分散実行に最適化。再帰的RL用の専用Tritonバックエンドを備える。 - 広範な環境統合:MuJoCoのネイティブサポートとGymnasium、PettingZoo、Isaac Lab用のラッパー。
- LLM統合:LLMの後処理用ツール。SFTおよびGRPO目的関数、vLLM/SGLang統合を含む。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト