Lesson 40 — Beginner
Zero-shot & Few-shot Prompting
Kabhi kabhi ek saaf instruction kaafi hoti hai — kabhi model ko 1-2 examples dikhane padte hain. Is lesson mein hum decide karenge kab zero-shot chalega, kab few-shot zaroori hai, few-shot examples kaise design karte hain (quality, diversity, order), aur few-shot aur fine-tuning mein kya farq hai.
Zero-shot — sirf instruction
WHAT
Zero-shot matlab model ko bina kisi sample ke sirf instruction dena. Model apne pre-training knowledge se kaam nikaalta hai. Jab task common hai — classify, summarize, translate — toh yehi sabse sasta aur saaf tareeka hai.
WHEN
Instruction se hi output clear ho, task standard ho, aur format simple ho — tab zero-shot. Examples add karne se prompt lamba hota, latency aur cost badhti hai, isliye zarurat na ho toh mat daalo.
WHERE
Chat summarizers, simple classifiers, translation, email drafting — daily ke AI features mostly zero-shot hi chalte hain.
prompt = """Classify kiya gaya review sentiment ke hisaab se label karo:
- POSITIVE
- NEGATIVE
- NEUTRAL
Review: "Delivery tez thi, lekin product thoda toota hua tha."
Label:"""
Dhyan do: label list de di, format bhi bata diya (ek word), aur example ki zarurat nahi padi — kyunki task already common hai. Model ne hazaaron similar reviews training mein dekhe hain.
Few-shot — kab examples chahiye
prompt = """Ticket ko category mein daalo: BILLING, TECHNICAL ya SHIPPING.
Har ticket ke baad ek line mein sirf category ka naam likho.
Ticket: "Mujhe double charge dikha raha hai"
Category: BILLING
Ticket: "App crash ho raha hai login ke baad"
Category: TECHNICAL
Ticket: "Parcel 3 din se nahi aaya"
Category: SHIPPING
Ticket: "Refund kab tak aa jaayega?"
Category:"""
- Task apna custom hai: tumhari apni categories, apne field names — model ko bina example ke samajh nahi aayega.
- Format unusual hai: "ek line mein ticket-7712: STATUS" jaisa format instruction se clear nahi hota, example se hota hai.
- Jawab style define karna hai: formal vs casual, terse vs detailed — example sabse tez tareeka hai dikhana.
- Zyada strict labels chahiye: sentiment ko A/B/C codes dena ho toh example ke bina model guess karega.
Examples ki quality, diversity aur order
# GALAT — example ka format instruction se takra raha hai
Instruction: Har jawaab ek JSON object ho.
Example: Bill galat hai, refund chahiye. <-- ye sentence hai, JSON nahi
# SAHI — har example wahi format dikhata hai jo final output chahiye
Ticket: "Double charge dikha raha hai"
{"category": "BILLING", "urgency": "high"}
Ticket: "Parcel 3 din late hai"
{"category": "SHIPPING", "urgency": "medium"}
- Har example saaf hona chahiye: ek ganda example 10 sahi instructions ko bigaad deta hai — model example ko instruction se zyada seriously leta hai.
- Diversity rakho: sab examples ek jaisi category ke ho toh model usi ki taraf bias ho jaayega. Har category/edge se ek do sample do.
- Order matter karta hai: model ke paas last examples ka zyada asar hota hai — sabse mushkil ya sabse important example end mein rakho.
- Test-time examples: har request ke saath bhejo (prompt mein hi), fine-tuning nahi — isliye flexibility bani rehti hai.
Few-shot vs fine-tuning
- Few-shot: examples prompt mein jaate hain — har request mein tokens badhte hain, lekin aaj hi badal sakte ho. Behavior "abhi" control hua.
- Fine-tuning: examples model ki weights mein train hoke jaate hain — prompt chhota rehta hai, training ka ek-time kharcha, lekin har model update ya domain change pe dobara train karna padta hai.
- Kab fine-tune? Jab behavior hamesha same chahiye, prompt chhota karna ho (latency/cost), aur examples hazaaron hon — tab socho.
- Kab few-shot? Naya task, jaal test kar rahe ho, examples 2-10 hain — few-shot pehle choice.
Practical order: zero-shot try karo → few-shot se fix karo → tabhi fine-tune socho jab few-shot bhi mehnga ya inconsistent pad raha ho. Bahut se teams pehle hi fine-tune kar lete hain jo ek do examples se theek ho jaata tha.
Exercise
Question: Model ko sirf instruction dekar, bina kisi sample example ke prompt karna kya kehlaata hai?
Question: Few-shot examples mein aam taur pe last wala example zyada asar karta hai — model ke hisaab se zyada asar wale examples ko end mein rakhna chahiye ya shuru mein?
Question: Do prompt versions compare karne ka sahi tareeka kya hai — alag-alag inputs pe ya same examples pe dono chala kar?
Common mistakes
- Har prompt mein examples daal dena: Simple translate/summarize task pe few-shot zaroori nahi — prompt lamba, cost zyada, aur koi faayda nahi. Pehle zero-shot test karo, phir add karo.
- Sab examples ek jaisi rakhna: Agar 3 examples bhi BILLING category ke hain toh model SHIPPING wale ticket pe bhi BILLING dega. Har output class ka sample rakho.
- Example aur instruction ka format alag hona: Instruction boli "JSON mein do" aur example mein free sentence hai — model example copy karega. Har example exactly desired output jaisa hona chahiye.
Naye chaiwale ko sirf "achhi chai banao" bologe toh guess karega (zero-shot fail). 2-3 baar saath khade hoke dikha do — "yeh dekh, adrak aisi, paani aisa" (few-shot). Uske baad woh hamesha waisi hi banayega:
# Zero-shot (naye chaiwale ko)
"Standard chai banao."
# Few-shot (2 examples de kar)
"Chai 1: 1 cup, adrak, kam meethi -> customer pasand
Chai 2: 1 cup, elaichi, extra meethi -> customer pasand
Ab: 2 cup, adrak, kam meethi -> ?"
# Fine-tuning = usko 3 mahine apni dukaan pe train karna (baad mein)- Q: Zero-shot aur few-shot mein kya farq hai? — Zero-shot sirf instruction, few-shot 1-2 example demonstrations prompt mein.
- Q: Few-shot examples ka order kyun matter karta hai? — Recency: model last examples ko zyada weight deta hai, isliye important example end mein.
- Q: Few-shot aur fine-tuning kab use karte hain? — Few-shot: chhota task set, turant badalna ho. Fine-tuning: hazaaron examples, stable behavior, chhota prompt chahiye ho.
- Q: Ek ganda example prompt mein kya karta hai? — Model usse instruction maan leta hai; ek messy example poora output format bigaad sakta hai.
Zero-shot aur few-shot dono samajh aa gaye. Agla lesson — Reasoning & Decomposition — mein dekhenge kab model se sochne ko bolna hai aur kab nahi.