PaddlePaddle/PARL
A high-performance distributed training framework for Reinforcement Learning
解決する課題
PARLは、強化学習(RL)のための柔軟で高効率なフレームワークを提供し、再現可能なアルゴリズムの実装や、マルチGPUやCPUクラスターといった大規模な計算リソースへのトレーニングのスケールアップという困難な課題に対処します。
仕組み
このフレームワークは、RLプロセスを整理するために3つの主要な抽象化を使用します:
- Model: フォワードネットワーク(ポリシーネットワークやクリティックネットワーク)を定義します。
- Algorithm: モデルパラメータを更新するメカニズムを管理します。
- Agent: データブリッジとして機能し、環境とアルゴリズム間のI/Oおよび前処理を処理します。
スケーリングのために、PARLはデコレータベースのAPI (@parl.remote_class) と接続メソッド (parl.connect) を使用して、計算をリモートのCPUやマシンにオフロードします。これにより、ユーザーはマルチスレッドコードを書くような感覚で分散コードを書くことができます。
対象ユーザー
CartPoleのような単純な問題から、自動運転シミュレーションのような高度なアプリケーションまで、複雑なタスクのためのRLエージェントを構築する研究者や開発者向けに設計されています。
ハイライト
- 再現性: 多くの影響力のあるRLアルゴリズムの実装が含まれています。
- 大規模: 数千のCPUや複数のGPUにわたる高性能な並列化をサポートします。
- 再利用性: 新しいフォワードネットワークを定義するだけで、アルゴリズムを新しいタスクに適応させることができます。
- 拡張性: 抽象基底クラスを継承することで、新しいアルゴリズムを迅速に作成できます。
- 分散トレーニング: コンパクトなAPIを通じて、並列バージョンのコードへの移行を簡素化します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト