Auto-parallelization research that escaped into XLA
It spares you from hand-tuning data, operator, and pipeline parallelism by wrapping your Jax training loop in a decorator.

What it does
Alpa takes single-device Jax code and automatically distributes it across clusters using data, operator, and pipeline parallelism. It also supports serving enormous models like OPT-175B through a HuggingFace-compatible interface. The system sits atop Jax, XLA, and Ray, aiming to erase the usual boilerplate of multi-node training.
The interesting bit
The project’s core auto-sharding algorithm was absorbed into XLA itself—the rare research artifact that actually escaped into production infrastructure. That leaves this repository frozen, but its logic now lives in the compiler it once sat atop.
Key highlights
- Automatic parallelization via a
@parallelizedecorator on training steps - Linear scaling claims for models with billions of parameters on distributed clusters
- Serving backend for large language models with weight auto-downloading
- Built on production-grade foundations: Jax, XLA, and Ray
- Core algorithm now maintained upstream in XLA’s
auto_sharding
Caveats
- Explicitly not actively maintained; the repository is preserved as a research artifact
Verdict
Study this if you are researching distributed ML compilation or tracing how XLA’s auto-sharding got its start; active practitioners should look directly at upstream XLA instead.
Frequently asked
- What is alpa-projects/alpa?
- It spares you from hand-tuning data, operator, and pipeline parallelism by wrapping your Jax training loop in a decorator.
- Is alpa open source?
- Yes — alpa-projects/alpa is open source, released under the Apache-2.0 license.
- What language is alpa written in?
- alpa-projects/alpa is primarily written in Python.
- How popular is alpa?
- alpa-projects/alpa has 3.2k stars on GitHub.
- Where can I find alpa?
- alpa-projects/alpa is on GitHub at https://github.com/alpa-projects/alpa.