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統合を含む。

関連

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