JAX
JAX is a high-performance numerical computing library for Python, specifically designed for machine learning research. It enables automatic differentiation, JIT compilation (via XLA), and parallelization primitives for NumPy-like array computations, allowing researchers to efficiently scale…
Key facts
- First appeared
- 2018
- Category
- technology
- Problem solved
- JAX was created to address the growing need in machine learning research for a highly flexible, high-performance automatic differentiation system in Python that could seamlessly scale to modern hardware accelerators. Existing frameworks either offered great flexibility (like Autograd) but lacked performance on accelerators, or provided high performance (like early TensorFlow) but with more rigid graph-based APIs that could hinder rapid prototyping and dynamic research. JAX aimed to combine the best of both worlds: NumPy's familiar API, Autograd's powerful and composable automatic differentiation, and XLA's JIT compilation for unparalleled speed on GPUs and TPUs, all within a pure functional paradigm.
- Platforms
- Cloud platforms (Google Cloud, AWS, Azure), GPU hardware (NVIDIA CUDA), Linux, Windows (via WSL), macOS, TPU hardware (Google Cloud TPU)
Related technologies
Notable users
- Google (Google Brain, DeepMind)
- OpenAI
- Academic research institutions
- Various industrial research labs
- AI startups