Drag each answer to line up with its matching prompt
LoRA
Allocates rank NON-UNIFORMLY across layers during training, spending the parameter budget where the SVD says it matters most instead of fixing one r for all.
QLoRA
Fewest trainable parameters of the mainstream methods, learns per channel scaling vectors only, ideal for very small SFT datasets where bigger adapters overfit.
IA3
Best general default: low rank adapters on attention projections give 90%+ of full FT quality at a fraction of the trainable parameter budget.
DoRA
Closes the LoRA to full FT gap at low rank by decomposing each weight update into independent magnitude and direction components.
AdaLoRA
Fits a huge base on small VRAM: 4-bit NF4 quantization of the frozen base + LoRA adapters in bf16, e.g. 70B on a single 48GB card.
LoRA is the general default, QLoRA shrinks VRAM with 4-bit quantization, IA3 uses the fewest parameters, DoRA decomposes magnitude and direction, AdaLoRA reallocates rank across layers.
Picture five different tool kits for adjusting a giant machine without rebuilding it. LoRA is the standard kit, small, fast, and good enough for most jobs. QLoRA is the lightweight travel version that lets you carry a much bigger machine in your van. IA3 is a minimal pocket kit with just a few dials. DoRA is a precision kit that adjusts the length and the angle of each part separately. AdaLoRA is a smart kit that watches which parts of the machine need attention and moves the screwdrivers where they help most. Each kit was built to solve one specific problem the others did not handle well.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Parameter-efficient fine-tuning (PEFT) is a family of techniques that adapt a pretrained model to a new task by training a small fraction of the parameters, leaving the rest frozen. The family started with adapter modules and matured rapidly between 2021 and 2026 into a handful of methods that now dominate practical fine-tuning. The five in this match (LoRA, QLoRA, IA3, DoRA, AdaLoRA) cover the main design points.
The matching becomes intuitive once you frame each method by the specific problem it solves. LoRA is the general default. QLoRA solves VRAM scarcity by quantizing the frozen base. IA3 solves the tiny-dataset overfitting problem by using even fewer trainable parameters. DoRA closes the quality gap to full fine-tuning at low rank. AdaLoRA reallocates a fixed rank budget across layers. Each invention answered a constraint that the previous mainstream method could not address well.
This deep dive walks each method in detail, explains the defining design choice, and gives the practical guidance for when to reach for which method. The goal is not just memorising five descriptions, it is building the mental model that lets you pick the right method for a specific constraint.
LoRA: the general default
LoRA (Low-Rank Adaptation) is the right starting point when no specific constraint is binding. The method adds small adapter matrices to selected weight matrices in the model, while keeping the original weights frozen.
The adapter for a weight matrix W is parameterised as a product BA where B is d_out by r and A is r by d_in, with r much smaller than d_in or d_out. The total trainable parameter count for one adapted layer is r times (d_in plus d_out), which is a tiny fraction of the d_in times d_out parameter count of W itself. Typical r values are 8 to 64, and adapters are usually attached to the attention projections (Q, K, V, O) and sometimes the MLP projections (up, down, gate).
The scaled update applied at the forward pass is W plus (alpha over r) times BA, where alpha is a learning rate like scaling factor. At inference time the adapter can be merged into the base weights so the served model has the same shape and latency as the base.
Trainable parameter count for a 7B base with LoRA on Q, K, V, O at r equal to 16 is roughly 20 to 40 million parameters, compared to the 7 billion parameters of the base. Quality reaches roughly 90% of full fine-tuning on standard SFT tasks, which is good enough for most production work. The method is mature, supported across every framework (Hugging Face PEFT, Axolotl, LLaMA-Factory, Unsloth), and is the right default when nothing else binds.
Situations where this technique stops working.
2–4 min · Everything important, quickly.
Real products, models, and research that use this idea.
- Hugging Face PEFT ships all five methods as first-class configs in 2026, so swapping between them is usually a one-line change to a config object.
- QLoRA is the default for community fine-tunes of Llama 3.1 70B and DeepSeek V4 on single-GPU rigs, because the VRAM math is what makes those runs feasible.
What an interviewer would ask next. Try answering before peeking at the approach.
QWhy does QLoRA pair specifically with NF4 rather than int4 or another 4-bit format?
NF4 is normalised to follow the typical distribution of pretrained weights (roughly normal), so the quantization error is smaller for the actual weight values you see in practice. Standard int4 uses a uniform grid that wastes precision on rarely-used ranges and under-resolves the dense middle of the distribution. NF4 was introduced specifically to fix that mismatch.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Calling QLoRA just LoRA but better. The quantization piece is the defining feature, it shrinks VRAM by 4x while keeping LoRA quality, but it does not change the underlying adapter math.
60 second bullets to scan on the way to the call.
Primary sources. Browse if you want the original framing.
Same topic, related formats. Practice these next.