Motphys/UniLab
UniLab: A Heterogeneous Architecture for Robot RL Beyond GPU-Dominant Paradigms
何を解決するか
UniLabは、特定の物理シミュレータやハードウェアに縛られたロボット強化学習(RL)タスクの開発の難しさに対処します。統一されたアーキテクチャを提供し、タスク定義(報酬、観測、行動)を下位のシミュレーションバックエンドおよびRL学習者から分離することで、研究者が環境コードを再実装せずに異なるシミュレータやハードウェアアクセラレータ間を切り替えることが可能になります。
仕組み
UniLabは「タスク中心の契約」を使用して、タスクの意味論と実行を分離します。
- 宣言的構成: タスクはHydraとYAMLファイルを使用して定義されます。各環境用にPythonクラスを書くのではなく、ユーザーは「マネージャー項」(報酬、観測など用の事前定義関数)を組み合わせてタスクを構築します。
- バックエンドアダプター:
SimBackend契約を採用し、MuJoCo、Motrix、Genesis、IsaacGymなどのさまざまな物理エンジンを標準化されたAPIで扱えるようにします。 - 統一CLI: 一貫したコマンドラインインターフェースで学習と評価を処理し、シミュレータはフラグ(例:
--sim mujoco)で指定されます。バックエンドにかかわらずワークフローは同一です。 - ハードウェア非依存: CPU並列シミュレーション、CUDA、ROCm(AMD)、MPS(macOS)など、幅広いハードウェアをサポートします。
対象ユーザー
複数のシミュレータでエージェントをテストしたい、異なるハードウェアプラットフォームにデプロイしたい、または膨大なボイラープレートコードを書かずにロボットタスクを迅速にプロトタイピングしたいロボットRL研究者および開発者。
特徴
- バックエンドの柔軟性: MuJoCo、Motrix、MJWarp、Drake、Genesis、IsaacGym、IsaacSimなど、多数のシミュレータをサポート。
- 構成駆動設計: Python環境クラスを書く代わりにYAMLファイルを編集することでタスクのバリエーションを作成可能。
- 広範なハードウェア対応: NVIDIA GPU(CUDA)、AMD GPU(ROCm)、Intel GPU(XPU)、Apple Silicon(MPS)と互換性あり。
- 統合エコシステム:
unisim-core(物理アダプター用)とunilab-rl(RLアルゴリズムとランナー用)と連携可能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト