4.3.8 · HinglishPretraining & Fine-Tuning LLMs

LoRA and QLoRA

1,839 words8 min readRead in English

4.3.8 · AI-ML › Pretraining & Fine-Tuning LLMs

Parameter-efficient fine-tuning: ek bahut bade frozen model ko adapt karo sirf thode extra parameters train karke.

Core problem kya hai

KYUN chahiye yeh: cost, storage (ek adapter per task = few MB vs full model copies), aur speed. KYA karta hai LoRA: original weights ko freeze karta hai, ek trainable low-rank correction inject karta hai. KAISE QLoRA extend karta hai: woh frozen base ko bhi quantize karta hai 4-bit mein taaki chhote GPU pe fit ho sake.


LoRA ko scratch se derive karna

Ek linear layer compute karta hai jahan .

Fine-tuning mein ek naya weight chahiye . Poora update mein parameters hain — utne hi jitne mein hain.

Yeh factorization kyun? Rank ki koi bhi matrix outer products ke sum ke roop mein likhi ja sakti hai. exactly wohi hai: ke columns times ke rows. Toh kisi bhi rank- matrix ko represent kar sakta hai, aur usse zyada kuch nahi — yahi poora point hai (hum deliberately khud ko restrict kar rahe hain).

Parameter count: ki jagah hum sirf train karte hain. , ke liye: full M vs LoRA — ek 256× reduction.

init pe kyun? Agar dono random hote, toh step 0 pe model output corrupt ho jata. se shuru karna matlab pehla gradient step ek pure improvement direction mein hota hai.

se divide kyun karte hain? Jaise badhate ho, ka sum zyada terms accumulate karta hai aur barhta hai. se divide karna normalize karta hai taaki har baar rank change karne pe learning rate re-tune na karna pade.

Inference pe magic

Training ke baad merge kar sakte ho: . Ab yeh ek normal weight matrix hai — zero extra latency. Yeh LoRA ki killer feature hai adapter layers ke comparison mein (jo compute add karte hain).

Figure — LoRA and QLoRA

QLoRA = Quantization + LoRA

QLoRA ka goal: ek 65B model ko single 48GB GPU pe fine-tune karna. Teen ingredients hain:

Key trick yeh hai: base weights 4-bit (frozen) mein store hote hain. Forward pass ke dauran unhe on the fly bf16 mein dequantize kiya jata hai sirf matmul ke liye. Sirf LoRA matrices full precision mein rakhe jaate hain aur gradients receive karte hain.

Frozen base ko quantize karna safe kyun hai: hum usmein backpropagate nahi kar rahe. Frozen weights pe quantization noise ek fixed, chhoti perturbation hai jiske liye adapters compensate karna seekh lete hain. Tum kabhi bhi un weights ko quantize nahi karoge jinhe precisely train kar rahe ho.


Worked examples


Common mistakes (steel-manned)


Flashcards

Weight update ke liye LoRA kaunsi low-rank factorization use karta hai?
jahan , , .
Rank- LoRA ek matrix mein kitne parameters train karta hai?
instead of .
ko zero se initialize kyun karte hain?
Taaki start mein rahe; training exactly pretrained model se shuru ho aur output corrupt na ho.
mein se divide kyun karte hain?
Update magnitude ko rank se roughly independent rakhta hai, taaki har rank pe learning rate re-tune na karna pade.
Merging ke baad LoRA ka inference-latency cost kya hai?
Zero — ko ek matrix mein merge karo; yeh ek normal linear layer hai.
QLoRA ke teen innovations kya hain?
4-bit NormalFloat (NF4), Double Quantization, Paged Optimizers.
QLoRA mein kaunse parts quantized hain aur kaunse gradients receive karte hain?
Frozen base weights 4-bit hain; sirf full-precision LoRA adapters gradients receive karte hain.
Frozen base ko quantize karna safe kyun hai?
Usme gradients flow nahi karte; adapters fixed quantization noise ko compensate karna seekh lete hain.
NF4 kis cheez ke liye optimal hai aur kyun?
Normally-distributed data ke liye; iske bins normal distribution ke quantiles hain, jo weight distribution se match karte hain.
aur ko link karne ka rule of thumb kya hai?
set karo taaki effective update strength consistent rahe.

Recall Feynman: explain to a 12-year-old

Socho ek bada finished LEGO castle hai (pretrained model). Tum use birthday party ke liye change karna chahte ho, lekin poora castle rebuild karna bahut expensive hai. Uski jagah tum ek chhoti si removable decorations set add karte ho (chhoti matrices) — saste banane mein, store karna easy, aur alag-alag parties ke liye swap kar sakte ho. LoRA = chhoti decorations. QLoRA = tum original castle bricks ko bhi shrink karte ho (4-bit) taaki poori cheez tumhare chhote table pe fit ho sake, phir bhi high-quality add-ons se decorate karte ho.

Connections

Concept Map

bahut costly, 80+GB optimizer

solved by

freezes

learns

factored into

rank r much less than d,k

gives

B init zero

scaled by alpha over r

merge W0 plus BA

extended by

quantizes base to 4-bit NF4

Full fine-tuning

Adaptation cost problem

LoRA low-rank update

Original weights W0

Update dW approx BA

Thin matrices B and A

r times d+k params

256x fewer params

Starts at pretrained model

Rank-independent magnitude

Zero extra latency

QLoRA

Fits on single 48GB GPU