Micrograd

micrograd is a tiny autograd engine created by Andrej Karpathy that implements backpropagation and a dynamic computation graph in under 100 lines of Python — demonstrating that the core mechanism behind PyTorch, TensorFlow, and all modern deep learning frameworks (automatic differentiation via reverse-mode accumulation on a directed acyclic graph) can be understood by reading a single file, making it the most influential educational resource for demystifying how neural networks actually learn.

What Is micrograd?

  • Definition: A minimal automatic differentiation engine that implements scalar-valued backpropagation — each `Value` object tracks its data, gradient, the operation that created it, and its parent nodes, forming a computation graph that `backward()` traverses in reverse topological order to compute gradients via the chain rule.
  • Creator: Andrej Karpathy — former Director of AI at Tesla, founding member of OpenAI, and Stanford CS231n instructor. micrograd accompanies his legendary "Neural Networks: Zero to Hero" YouTube lecture series.
  • Educational Purpose: micrograd exists to teach, not to compete — it proves that PyTorch is "not magic" by showing that the entire autograd mechanism (the engine that computes gradients for training neural networks) fits in 100 lines of readable Python.
  • Scalar Operations: Unlike PyTorch (which operates on tensors/matrices), micrograd operates on individual scalar values — making every gradient computation explicit and traceable at the single-number level.

Core Implementation

The entire engine is built around a `Value` class:
- data: The scalar value (a single float).
- grad: The gradient of the loss with respect to this value (accumulated during backward pass).
- _backward: A closure that computes the local gradient contribution.
- _prev: Set of parent Value nodes in the computation graph.
- backward(): Topological sort of the graph, then call `_backward()` on each node in reverse order — this is backpropagation.

Supported Operations: Addition, multiplication, power, ReLU, negation, subtraction, division — enough to build multi-layer perceptrons and train them with gradient descent.

Why micrograd Matters

  • Demystifies Deep Learning: Reading micrograd's 100 lines teaches you that neural network training is just: (1) build a math expression graph, (2) compute the output (forward pass), (3) walk the graph backward computing derivatives (backward pass), (4) nudge each parameter in the direction that reduces the loss.
  • "Software 2.0" Foundation: Karpathy uses micrograd to teach that neural networks are mathematical expressions optimized via gradient descent — the foundation of his "Software 2.0" thesis that neural networks are a new programming paradigm.
  • Gateway to PyTorch: After understanding micrograd, PyTorch's `autograd` module becomes transparent — it's the same algorithm operating on tensors instead of scalars, with GPU acceleration and thousands of optimized operations.
  • Millions of Learners: The accompanying YouTube video has millions of views — micrograd has taught more people how backpropagation works than any textbook.

micrograd is the 100-line Python program that demystified deep learning for millions of developers — proving that the autograd engine at the heart of every modern ML framework is simply reverse-mode differentiation on a computation graph, making neural network training conceptually accessible to anyone who can read basic Python.

Take micrograd further

Ask the copilot about this term, or have our engineers assess it against your process.