instadeepai/Mava
🦁 A research-friendly codebase for fast experimentation of multi-agent reinforcement learning in JAX
解決的問題
Mava 專為需要快速進行多智能體強化學習 (MARL) 實驗的研究人員而設計。它滿足了對高效能、分散式 MARL 演算法實作的需求,這些實作能夠跨 GPU 和 TPU 等硬體加速器進行擴展,同時保持足夠簡單以便快速迭代與修改。
運作方式
Mava 建構於 JAX 之上,使用單一檔案實作來保持程式碼清晰且易於存取。它支援兩種主要的分散式架構以進行擴展:
- Anakin:用於以 JAX 編寫的環境,允許對整個訓練迴圈進行端到端 JIT 編譯以達到最高速度。
- Sebulba:用於非 JAX 編寫的環境,使硬體加速器能夠同時與多個 CPU 核心互動。
它整合了 Hydra 進行設定管理,並為各種基於 JAX 的 MARL 環境套件提供包裝器。
適用對象
強化學習領域的研究人員與實務工作者,希望在不增加複雜模組化函式庫負擔的情況下,大規模實作、測試和修改 MARL 演算法。
亮點
- 多樣化的演算法支援:包含 PPO、Q-Learning、SAC、MAT 和 Sable 的實作,支援各種學習範式,如獨立學習器與集中訓練分散執行 (CTDE)。
- JAX 驅動的速度:與非 JAX 函式庫相比,利用
pmap和vmap實現極快的實驗速度。 - 統計上穩健的評估:原生支援遵循標準 MARL-eval 指南將日誌記錄到 JSON 檔案,以便於繪圖和聚合。
- 靈活的環境支援:開箱即用地支援 Multi-Robot Warehouse、StarCraft Multi-Agent Challenge 和 Multi-Agent Brax 等環境。
相關
- 專案
- 專案
- 專案
- 專案
- 專案