JAX Skill
JAX is Autograd and XLA, brought together for high-performance machine learning research.
Contents
- Concepts & Theory
- Immutability
- The 4 Transformations
- Pytrees
- Code Examples
jit,grad,vmap,randomusage- Control Flow (
scan,cond,fori_loop) - Parallelism (
sharding)
Common Workflows
1. Developing a new Model
- Define your parameters as a Pytree (dict/dataclass).
- Define your forward pass function (pure).
- Define your loss function.
- Use
jax.value_and_gradto get gradients. - Use
jax.jitto speed up the update step. - See examples.md for snippets.
2. Debugging Shapes/NaNs
- Disable JIT:
jax.config.update("jax_disable_jit", True)to debug with standard python tools. - Use
jax.debug.printinside JITted functions.
Scan to join WeChat group