HyperscaleES  by ESHyperscale

Jax for hyperscale evolutionary strategies

Created 4 months ago
261 stars

Top 97.3% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

HyperscaleES provides a Jax codebase for implementing evolutionary strategies at hyperscale, targeting researchers and engineers working with large-scale machine learning models. It enables efficient exploration and optimization of model parameters using evolutionary computation techniques, offering a flexible framework for advanced ML research.

How It Works

The core architecture comprises two main components: the Noiser and the Model. The Noiser perturbs model parameters with noise, offering specialized functions (do_mm, do_Tmm, do_emb) for different parameter types and handling parameter updates based on fitness scores. The Model class defines parameter initialization and the forward pass, distinguishing parameter roles (regular, matmul, embedding, excluded) via es_map and integrating the Noiser for evolutionary updates. This modular design leverages JAX for efficient, large-scale computation.

Quick Start & Requirements

Installation involves creating a Python 3.13 conda environment, activating it, installing JAX with CUDA 12 support (pip install "jax[cuda12]"), and then installing the package (pip install -e .). Alternatively, a Docker image can be built and run after modifying the Dockerfile. Users must set the HF_HOME environment variable for RWKV LLM caching. A Colab notebook (eggroll.ipynb) and an end-to-end test script (tests/end_to_end_test.py) are provided for understanding core concepts.

Highlighted Details

  • Focuses on "Evolutionary Strategies at the Hyperscale" using JAX.
  • Modular design separating parameter perturbation (Noiser) from model definition (Model).
  • Supports RWKV LLMs, requiring specific environment variable configuration (HF_HOME).
  • References nano-egg repository for related work on single-file LLM pretraining.

Maintenance & Community

No specific details regarding maintainers, community channels (e.g., Discord, Slack), or roadmaps are provided in the README.

Licensing & Compatibility

The README does not specify the software license, which is a critical omission for assessing commercial use or derivative works.

Limitations & Caveats

The codebase is explicitly designated as a "research preview," indicating potential instability, incomplete features, or ongoing changes.

Health Check
Last Commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
33 stars in the last 30 days

Explore Similar Projects

Starred by Eric Zhang Eric Zhang(Founding Engineer at Modal), Yineng Zhang Yineng Zhang(Inference Lead at SGLang; Research Scientist at Together AI), and
3 more.

tunix by google

0.4%
2k
JAX-native library for efficient LLM post-training
Created 1 year ago
Updated 1 day ago
Feedback? Help us improve.