4.3.6 · HinglishPretraining & Fine-Tuning LLMs

Full fine-tuning vs feature extraction

2,025 words9 min readRead in English

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


YE CHOICE EXIST HI KYUN KARTI HAI?


DO STRATEGIES KYA HAIN?


HOW: parameter & gradient picture ko first principles se derive karo

Model ko ek composition maano: jahan pretrained backbone hai (params ) aur head hai (params ). Loss .

Kisi bhi parameter set ke liye gradient update:

Ye step kyun? Gradient descent sirf un parameters ko move karta hai jinhe nonzero, applied gradient milta hai.

Feature extraction mein ko constants set karo (requires_grad=False): To sirf update hota hai. Features fixed vectors hain — aap inhe ek baar precompute karke cache bhi kar sakte ho.

Full fine-tuning dono apply karta hai: Chain rule se backbone gradient hai: Ye step kyun? Full fine-tuning mein ye chain poori evaluate karni padti hai, isliye ise (bahut bade) backbone ke through ek full backward pass chahiye — yahi iske cost ka source hai.

Figure — Full fine-tuning vs feature extraction

KAB KAUNSA CHOOSE KAREIN? (80/20 rule)

Situation Prefer
Bahut chhota labeled data, task pretraining domain ke kareeb Feature extraction
Zyada data, bada domain shift Full fine-tuning
Limited GPU / bahut saare tasks serve karne hain Feature extraction ya PEFT
Max accuracy chahiye, resources available hain Full fine-tuning

Worked examples


Common mistakes (steel-manned)


Active recall

Recall Reveal karne se pehle jawab do
  • Feature extraction mein kya frozen hota hai? ⟶ poora backbone; sirf head train hota hai.
  • Feature extraction mein embeddings cache kyun kar sakte ho lekin full FT mein nahi? ⟶ frozen backbone constant deta hai; full FT ko badhata rehta hai.
  • Full FT mein chhota LR kyun use karte hain? ⟶ pretrained features ka catastrophic forgetting avoid karne ke liye.
  • Tiny datasets ke liye kaunsi strategy suit karti hai aur kyun? ⟶ feature extraction; kam trainable params → kam overfitting.
Recall Feynman: 12-saal ke bacche ko samjhao

Imagine karo tumne ek chef hire kiya jo already hazaaron dishes banana jaanta hai (pretrained model). Tum chahte ho wo tumhare ghar ki special dish banaye.

  • Feature extraction: tum chef ko bilkul retrain nahi karte. Bas kehte ho, "jo kuch tum jaante ho wahi use karo, aur main end mein ek final instruction add karoonga." Sasta, safe, lekin limited.
  • Full fine-tuning: tum chef ko apni recipe ke liye poori style relearn karne dete ho — powerful, lekin agar tumne use sirf 2 practice tries di, to wo apni puraani skills bhool sakta hai aur galat kar sakta hai. Isliye tum use dheere sikhate ho (small learning rate) aur tabhi jab tumhare paas bahut saare practice dishes hon (data).

Connections

  • Transfer Learning — wo umbrella idea jisme dono strategies aati hain.
  • Catastrophic Forgetting — wo risk jo full fine-tuning ko manage karna padta hai.
  • PEFT and LoRA — modern middle-ground: backbone freeze karo, tiny trainable adapters add karo.
  • Learning Rate Schedules — warmup & discriminative LRs full FT ko stable banate hain.
  • Bias-Variance Tradeoff — explain karta hai kyun dataset size choice drive karti hai.
  • Layer-wise Representations in Deep Nets — kyun deep layers zyada task-specific hoti hain.

Feature extraction: kya trainable hai vs frozen?
Sirf naya head trainable hai; poora pretrained backbone frozen hai.
Full fine-tuning: kya trainable hai?
Saare parameters — backbone plus head — update hote hain.
Feature extraction embeddings precompute/cache kyun kar sakti hai?
Frozen backbone constant outputs produce karta hai, isliye inhe sirf ek baar compute karna padta hai.
Full fine-tuning zyada memory-hungry kyun hai?
Ye saare params train karta hai, isliye poore backbone ke liye gradients + Adam moment states () store karta hai, saath hi full backward passes bhi.
Tiny dataset ke liye kaunsi strategy, aur kyun?
Feature extraction — kam trainable params strong regularization ki tarah kaam karte hain aur overfitting rokते hain.
Domain shift ke saath zyada data ke liye kaunsi strategy, aur kyun?
Full fine-tuning — frozen features naye domain ke liye biased hain, isliye unhe adapt karna bias kam karta hai.
Full fine-tuning mein chhota learning rate kyun use karte hain?
Dheere se adapt karne ke liye aur pretrained knowledge ka catastrophic forgetting avoid karne ke liye.
Partial fine-tuning kya hai?
Sirf top (deeper, zyada task-specific) layers unfreeze karna jabki shallow layers frozen rakhna.
Full FT ke liye unique chain rule term?
, jisme poora backbone backward pass chahiye.
Feature extraction mein frozen backbone ke saath gotcha?
Ise eval() set karo taaki training ke dauran BatchNorm stats/dropout shift na hon.

Concept Map

provides

creates

freeze backbone

unfreeze all

trains only

risk

updates

risk

anchors

middle ground

middle ground

uses

Pretrained model

Learned features

Downstream task, small data

Flexibility vs cost dilemma

Freeze or unfreeze?

Feature extraction

Full fine-tuning

New task head

Keeps knowledge but rigid

All params via chain rule

Overfitting and forgetting

Partial FT / PEFT / LoRA

Small learning rate