A scalable, hardware-accelerated neuroevolution toolkit built on JAX for parallel training across TPUs/GPUs.
EvoJAX is a hardware-accelerated neuroevolution toolkit that enables evolutionary algorithms to train neural networks in parallel across multiple TPUs or GPUs. It solves the problem of slow evolution experiments by compiling the entire pipeline into optimized JAX code, drastically reducing training time from days to minutes.
Researchers and practitioners in evolutionary computation, machine learning, and AI who need to run large-scale neuroevolution experiments efficiently, particularly those with access to GPU/TPU hardware.
Developers choose EvoJAX for its exceptional performance gains through hardware acceleration, modular design that supports easy extension, and proven scalability across diverse tasks from control problems to generative art.
EvoJAX is a general-purpose neuroevolution toolkit designed to leverage hardware acceleration for evolutionary algorithms. Built on JAX, it compiles the entire evolution pipeline—algorithms, neural networks, and tasks—into optimized NumPy code that runs in parallel across multiple TPUs or GPUs, achieving significant speedups over CPU-based implementations.
EvoJAX aims to make evolutionary computation practical for a wide range of tasks by leveraging modern hardware accelerators, moving beyond single-task optimizations to a general, scalable toolkit.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Compiles the entire neuroevolution pipeline into JAX for parallel execution on TPUs/GPUs, reducing experiment time from days to minutes, as demonstrated in the MNIST and Brax examples.
Provides interchangeable components for algorithms, policy networks, and tasks, allowing easy extension and customization, shown in the diverse examples from supervised learning to generative art.
Enables training of multiple agents in complex environments like WaterWorld, facilitating research in cooperative or competitive scenarios without significant performance loss.
Includes examples across supervised learning, reinforcement learning, control tasks, and generative art, demonstrating versatility and scalability in real-world applications.
Requires JAX with GPU/TPU backend, which can be non-trivial to configure, especially for users new to hardware accelerators, as highlighted in the installation instructions.
Initially focused on PGPE, with a call for contributions indicating an immature ecosystem; users may need to implement or wait for algorithms beyond the core few.
Implementing custom tasks or policies demands understanding of both neuroevolution concepts and JAX, making it less accessible for beginners or those seeking plug-and-play solutions.