LoRA (Low-Rank Adaptation) fine-tunes a model without touching its original weights.
Why it took over:
Memory: optimizer states and gradients exist only for the tiny adapter, not the billions of frozen weights. So an 8B model fine-tunes on a single modest GPU instead of a multi-GPU cluster.
Artifact size: the adapter is tens of megabytes instead of tens of gigabytes, so you can store, version, and ship dozens of variants cheaply.
Swappability: many adapters can share one loaded base model, enabling per-customer or per-task fine-tunes on shared serving infrastructure.
No inference penalty: after training you can merge the adapter into the base weights, so the served model is exactly as fast as the original.
Quality: for most product tasks (style, format, domain behavior), LoRA matches full fine-tuning closely. The low-rank constraint even acts as a regularizer that reduces catastrophic forgetting.
Hosted fine-tuning APIs generally run LoRA-style training under the hood for the same economics.
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.