LoRA init: why B = 0 and A ~ Gaussian (not both Gaussian)?
Same topic, related formats. Practice these next.
Same topic, related formats. Practice these next.
Set B = 0 so the LoRA update BA = 0 at step 0 and training starts exactly at the pretrained weights. Gaussian A keeps the gradient on A well-scaled once B moves.
Picture a skilled cook you want to teach a new dish. You want them to start cooking exactly the way they already do, then change things slowly, not throw the whole pot into chaos on the first try. Two helpers stand behind the cook, and the cook only changes the recipe when both helpers push together. So you tell one helper to push with zero force at the start. Because they multiply their efforts, nothing changes at all on the first try, and the dish tastes exactly like the cook's original. The other helper, though, is already leaning in a little, in a random direction. That tiny lean is what gives the first helper something to react to, so the very next try, real change begins. Start at the known-good point, then move on purpose.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example.
Everything important, quickly.
3 min: state the BA = 0 zero-perturbation start, explain why one factor is zeroed and the other Gaussian, debunk the Adam and rank distractors, then mention PiSSA and LoRA+ variants.
| Init choice | BA at step 0 | Consequence |
|---|---|---|
| B = 0, A ~ Gaussian (standard) | Zero | Starts at base weights; gradient on B is well-scaled by random A |
| A = 0, B ~ Gaussian (mirror) | Zero | Also valid; only one factor needs to be zero |
| Both Gaussian | Random rank-r | Injects a random perturbation at step 0; degrades the starting point |
| Both zero | Zero | Degenerate gradient; adapter can stall and fail to learn |
Real products, models, and research that use this idea.
What an interviewer would ask next. Try answering before peeking at the approach.
Red flags and common mistakes that signal junior thinking. Click to expand.
Justifying only the zero on B and forgetting why A must be random, or inventing a reason like Adam skipping zeros or rank preservation. The real reason is a zero-perturbation start plus a usable gradient.
The night-before-the-interview bullets. Scan these on the way to the call.
Primary sources. Skim if you want the original framing.