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 等环境。
相关
- 项目
- 项目
- 项目
- 项目
- 项目