Society's Backend: Machine Learning for Software Engineers

Society's Backend: Machine Learning for Software Engineers

Share this post

Society's Backend: Machine Learning for Software Engineers
Society's Backend: Machine Learning for Software Engineers
JAX is for More Than Just Machine Learning
Copy link
Facebook
Email
Notes
More
Technical Articles

JAX is for More Than Just Machine Learning

What JAX is and its potential applications

Logan Thorneloe's avatar
Logan Thorneloe
May 31, 2024
∙ Paid
4

Share this post

Society's Backend: Machine Learning for Software Engineers
Society's Backend: Machine Learning for Software Engineers
JAX is for More Than Just Machine Learning
Copy link
Facebook
Email
Notes
More
2
Share

JAX (“Just-in-time Autograd XLA”, I think) is often mistaken for a machine learning framework when it’s really a Python library for high-performance compute-agnostic numeric computation. Essentially, it decouples the math from other machine learning processes and allows users to write code utilizing a familiar API (NumPy) to run computations optimally on accelerators.

While designed for machine learning, JAX can be used for many applications.

What Makes JAX Special?

JAX is an open-source library created and maintained by Google that was released in 2018. It has the following notable features:

  • Automatic Differentiation: JAX can automatically calculate derivatives of your functions. Essential for optimization problems, this also opens doors in scientific simulation and financial modeling.

  • Hardware Acceleration: JAX can run on CPU, GPU, or TPU locally and in distributed settings. This makes computationally intensive tasks far more manageable.

  • NumPy-like interface: JAX provides a similar interface for scientific calculations via Python that many researchers are already familiar with (a stance MLX has taken as well).

  • Just-In-Time (JIT) Compilation: JAX compiles your Python code into highly optimized machine code on the fly. This gives generous performance boosts.

  • Designed Around Shared Libraries: JAX can be used with other fully-featured libraries such as Flax, Haiku, or RLax. JAX is designed to be compatible with other tools optimized for other purposes.

Use Cases for JAX

Here are some examples where JAX shines both inside and outside of ML:

Keep reading with a 7-day free trial

Subscribe to Society's Backend: Machine Learning for Software Engineers to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2025 Logan Thorneloe
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share

Copy link
Facebook
Email
Notes
More