How instadeepai/mava works
Mava is a JAX framework for distributed multi-agent reinforcement-learning research. Researchers launch a configured algorithm; its training loop interacts with wrapped environments, collects experience, updates policy/value networks, and evaluates and logs results. The repository supports multiple algorithm families and both Anakin and Sebulba execution architectures. The sampled code confirms environment construction, Sebulba actor-to-learner queues, and evaluation/logging behavior; several other subsystem connections are documented capabilities rather than inspected call sites.
Main entry points: ppo PPO variants · sebulba/rec_mappo.py Sebulba training · anakin/rec_mappo.py Anakin training · make_env.py Environment factory
Components 18
MARL algorithms
- PPO variants
mava/systems/ppo - Q-learning variants
mava/systems/q_learning - SAC variants
mava/systems/sac - MAT
mava/systems/mat - Sable and GPO
mava/systems/sable
Environment interface
- Environment factory
mava/utils/make_env.py - Environment wrappers
mava/wrappers - JAX MARL environments
Policy networks
- Network modules
mava/networks - Sable network
mava/networks/sable_network.py
Training runtime
- Anakin training
mava/systems/ppo/anakin/rec_mappo.py - Sebulba training
mava/systems/ppo/sebulba/rec_mappo.py - Rollout pipeline
mava/utils/sebulba/pipelines.py - Training utilities
mava/utils/training.py
Evaluation and results
- Evaluator
mava/evaluator.py - Experiment logger
mava/utils/logger.py - Checkpointing
mava/utils/checkpointing.py
Other components
- Researcher
Connections 22
- Researcher → PPO variants: launches
- Researcher → Q-learning variants: launches
- Researcher → SAC variants: launches
- Researcher → MAT: launches
- Researcher → Sable and GPO: launches
- PPO variants → Environment factory: constructs environments
- Environment factory → Environment wrappers: applies wrappers
- Environment factory → JAX MARL environments: creates environments
- PPO variants → Network modules: uses networks
- Sable and GPO → Sable network: uses network
- PPO variants → Anakin training: runs Anakin
- PPO variants → Sebulba training: runs Sebulba
- Sebulba training → Rollout pipeline: transfers rollouts
- Sebulba training → Environment factory: constructs environments
- Sebulba training → Evaluator: evaluates policy
- Sebulba training → Experiment logger: logs metrics
- Anakin training → Environment factory: constructs environments
- Anakin training → Evaluator: evaluates policy
- Anakin training → Experiment logger: logs metrics
- Anakin training → Training utilities: uses utilities
- Sebulba training → Training utilities: uses utilities
- PPO variants → Checkpointing: saves state