Full fine-tuning rewrites every weight — billions of them — and needs a room full of GPUs. LoRA freezes the model and trains a tiny add-on instead, so you can specialise a huge model on a single card. Here's how it works, and its two upgrades.
You just saw supervised fine-tuning nudge a model toward good answers. Doing that to every weight needs a datacenter — LoRA gets the same effect by freezing the model and training a small add-on beside it.
W don't move at all during training — they become read-only.W, add two small matrices A and B. Their product B·A is the change to W — and it's the only thing that learns.A and B meet at a tiny inner size r (the rank), so together they hold r·(d+k) values instead of d·k.r can express a richer update but costs more to train. Drag it below and watch the adapter grow.Training memory isn't mostly the weights — it's the gradient and optimizer state kept for every weight you train. Freeze almost everything and that cost collapses.
Plain LoRA has two well-known refinements — one shrinks the frozen base further, the other closes the small quality gap back to full fine-tuning.
You can now cheaply specialise a model on example answers. But some things are easier to reward than to demonstrate. Next, PPO — training a model from a reward signal instead of labeled targets.