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を通じて、並列バージョンのコードへの移行を簡素化します。

関連

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