Few-shot vs. zero-shot pamudināšana: kad lietot katru pieeju
Praktisks ceļvedis, kā izvēlēties pareizo pamudināšanas pieeju savam uzdevumam, ar kopējamiem piemēriem un vienkāršu lēmumu pieņemšanas sistēmu.
Tu ielīmē pamudinājumu ChatGPT. Atbilde ir... laba. Bet tu esi redzējis, kā citi iegūst krietni labākus rezultātus, savos pamudinājumos pievienojot "piemērus". Vai tev arī tā vajadzētu darīt? Cik daudz piemēru? Vai tas vispār ir svarīgi tavam konkrētajam uzdevumam?
Šie jautājumi parādās bez mitēšanās, un terminoloģija nepalīdz. "Zero-shot", "few-shot", "one-shot" — tas izklausās pēc fotogrāfijas terminiem, nevis praktiskiem padomiem. Šis ceļvedis pārvar žargonu un dod skaidru sistēmu, kā izlemt, kuru pieeju lietot, kā arī gatavus pamudinājumus, ko vari kopēt un izmēģināt pats.
Ko patiesībā nozīmē zero-shot pamudināšana
Zero-shot pamudināšana nozīmē uzdevuma došanu MI bez jebkādu piemēru rādīšanas tam, ko vēlies. Tu apraksti, kas tev vajadzīgs, un modelis, balstoties uz savu apmācību, izdomā, kā to izdarīt.
Lūk, zero-shot pamudinājums sapulces apkopošanai:
Summarize the following meeting notes into 3-5 bullet points covering the key decisions made.
Meeting notes:
{{meeting_notes}}
Tas arī viss. Nekādu "labu" kopsavilkumu piemēru, nekādu paraugu ievades un izvades. Tu uzticies modelim, ka tas saprot, kā izskatās kopsavilkums un ko nozīmē "galvenie lēmumi". Daudziem uzdevumiem tas darbojas pārsteidzoši labi.
Ko patiesībā nozīmē few-shot pamudināšana
Few-shot pamudināšana nozīmē 2–5 piemēru iekļaušanu pamudinājumā, kas demonstrē šablonu, kuram MI būtu jāseko. Tu it kā saki: "lūk, kā es vēlos, lai tu to risini", pirms dodi tam patieso uzdevumu.
Lūk, tas pats sapulces apkopošanas uzdevums, bet ar piemēriem:
Summarize meeting notes into 3-5 bullet points covering key decisions.
Example 1:
Input: "Team discussed Q3 targets. Sarah proposed increasing the sales goal by 15%. Mark disagreed, suggested 10% was more realistic given current pipeline. Team voted and agreed on 12%. Also decided to postpone the website redesign until Q4."
Output:
- Agreed on 12% sales goal increase for Q3 (compromise between 15% and 10% proposals)
- Postponed website redesign to Q4
Example 2:
Input: "Budget review meeting. Current spending is 8% over forecast. CFO recommended cutting travel budget by 50% and freezing new hires for 60 days. CEO approved both measures effective immediately."
Output:
- Cut travel budget by 50% (effective immediately)
- 60-day hiring freeze approved
- Response to 8% budget overrun
Now summarize this:
{{meeting_notes}}
Ievēro atšķirību. Piemēri parāda modelim tieši to formātu, kuru vēlies (aizzīmes ar kontekstu iekavās), kāds detalizācijas līmenis nepieciešams un kā apstrādāt vairākus lēmumus. Modelis apgūst tavas vēlmes kontekstā — bez pielāgošanas (fine-tuning).
Galvenās atšķirības īsumā
Lūk, kā abas pieejas salīdzinās svarīgākajos faktoros:
Ātrums: zero-shot ir ātrāks. Mazāk apstrādājamo žetonu nozīmē straujāku atbildi.
Izmaksas: zero-shot ir lētāks. Tu maksā par žetoniem, un piemēri tos sakrāj.
Sagatavošanās piepūle: zero-shot prasa gandrīz neko. Few-shot prasa labu piemēru atrašanu vai izveidi.
Precizitāte vienkāršos uzdevumos: apmēram vienāda. Mūsdienu modeļi tiek galā ar tiešiem pieprasījumiem labi jebkurā veidā.
Precizitāte sarežģītos vai pielāgotos uzdevumos: few-shot parasti uzvar. Kad nepieciešams konkrēts formāts vai nozares terminoloģija, piemēri rada izmērāmu atšķirību.
Kompromiss ir skaidrs: zero-shot ir vienkāršāks un lētāks, bet few-shot dod tev vairāk kontroles pār iznākumu. Jautājums ir tikai, kad šī papildu kontrole ir tā vērta.
Kad zero-shot strādā vislabāk
Zero-shot pamudināšana spīd tad, kad uzdevums ir tāds, ko modelis jau "saprot" no savas apmācības. Tas iekļauj:
Vispārīgu zināšanu jautājumi: skaidrojumu, definīciju vai faktu meklēšana. Modelis zina, kā izskatās laba atbilde.
Radoša ideju ģenerēšana: ideju izstrādāšana, pirmo melnrakstu rakstīšana vai variantu izdomāšana. Šeit tu vēlies daudzveidību, nevis pielāgošanos vienam šablonam.
Standarta apkopošana: rakstu, e-pastu vai dokumentu saīsināšana, kad nav vajadzīgs konkrēts formāts.
Tulkošana: teksta pārveide starp valodām, kurās modelis ir apmācīts.
Vienkārša klasifikācija: ierakstu sašķirošana parastās kategorijās (pozitīvs/negatīvs, steidzams/nesteidzams), kad kategorijas ir pašsaprotamas.
Labs noteikums: ja vari to, ko vēlies, izteikt vienkāršos vārdos un cilvēks to saprastu bez piemēriem, tad zero-shot, visticamāk, nostrādās.
Plūsmas diagramma, kas attēlo lēmumu pieņemšanas procesu: sāc ar zero-shot, novērtē rezultātus, pievieno piemērus tikai vajadzības gadījumā
Kad few-shot ir papildu žetonu vērts
Few-shot pamudināšana sevi attaisno tad, kad iznākumam jāseko šabloniem, kurus modelis nevar izsecināt tikai no instrukcijām:
Pielāgots formāts: kad iznākumam jābūt noteiktā struktūrā — JSON ar konkrētiem laukiem, tabulās ar precīzām kolonnām, aizzīmēs ar zināmu stilu. Piemēri parāda formātu labāk, nekā apraksti to izskaidro.
Tavas klasifikācijas kategorijas: ja šķiro klientu e-pastus tādās kategorijās kā "rēķinu jautājums", "funkcijas pieprasījums", "kļūdas ziņojums" un "vispārīgs jautājums", piemēri palīdz modelim saprast tavas definīcijas.
Zīmola balss vai toņa atbilstība: vēlies, lai MI raksta kā tavi uzņēmuma esošie materiāli? Parādi tam 2–3 piemērus tādā balsī. Instrukcijas kā "raksti profesionālā, bet draudzīgā tonī" ir nekonkrētas; piemēri ir specifiski.
Nozares terminoloģija: ja tavā nozarē tiek lietots žargons vai saīsinājumi, kuriem citur ir cita nozīme, piemēri iemāca modelim tavu kontekstu.
Robežgadījumi un nianses: sarkasma noteikšana, ironija vai smalkas atšķirības, kas zero-shot pieejām sagādā problēmas. Pētījumi rāda, ka few-shot pamudināšana ievērojami uzlabo darbu ar noskaņojuma robežgadījumiem, piemēram, noliegumu un sarkasmu.
Viens pētījums atklāja, ka Twitter noskaņojuma klasifikācijā few-shot pamudināšana ar tikai 20–50 piemēriem tuvojās tādu modeļu sniegumam, kas pielāgoti 10 000+ piemēriem. Tāds ir labi izvēlētu demonstrāciju spēks.
Ja sāc veidot bibliotēku ar few-shot pamudinājumiem dažādiem uzdevumiem, tāds rīks kā PromptNest palīdz tos saglabāt ar iebūvētiem mainīgajiem, piemēram, {{meeting_notes}} — aizpildi tukšumus pēc kopēšanas, un pilnais pamudinājums ir gatavs ielīmēšanai.
Pieeja "sāc ar zero, pārslēdzies, ja vajag"
Lūk, praktiska pieeja, kas taupa gan laiku, gan žetonus:
1. solis: izmēģini zero-shot vispirms. Uzraksti skaidru pamudinājumu, kas apraksta, ko vēlies. Esi specifisks par uzdevumu, bet nepievieno piemērus.
2. solis: novērtē iznākumu. Vai tas dod tev vajadzīgo? Ja jā — esi gatavs. Ja nē — saproti, kas nav kārtībā. Vai tas ir formāts? Tonis? Trūkstošas detaļas? Pilnīgi nesaprasts uzdevums?
3. solis: pievieno mērķtiecīgus piemērus. Izveido 2–3 piemērus, kas konkrēti demonstrē to, ko modelis pirmoreiz neizdarīja pareizi. Ja formāts nebija pareizs, parādi pareizo formātu. Ja tonis bija nepareizs, parādi pareizo toni.
Šī pieeja darbojas tāpēc, ka tu nemini, vai vajag piemērus — tu reaģē uz patiešām redzamiem trūkumiem. Reizēm frāzes "padomāsim soli pa solim" pievienošana zero-shot pamudinājumam atrisina spriešanas problēmas, un piemēri vispār nav vajadzīgi. Pētījumi apstiprina, ka zero-shot domāšanas ķēde (chain-of-thought) bieži pārspēj few-shot spriešanas uzdevumos.
Cik daudz piemēru tev patiesībā vajag?
Pētījumi konsekventi norāda uz optimālo skaitu — 2–5 piemēri — vairumam uzdevumu. Lūk, ko rāda dati:
- Pirmie 2–3 piemēri dod lielāko precizitātes pieaugumu
- Atdeve strauji samazinās pēc 4–5 piemēriem
- Vairāk piemēru patiesībā var kaitēt sniegumam, ieviešot pretrunīgus šablonus
- Piemēru kvalitāte ir svarīgāka par daudzumu — trīs lieliski piemēri pārspēj desmit viduvējus
Ir arī svarīgs atklājums par piemēru secību: pētījumi rāda, ka piemēru secība ietekmē rezultātus, un optimāla secība dažkārt rada atšķirību starp labu un sliktu sniegumu. Ja tavs few-shot pamudinājums labi nestrādā, izmēģini piemēru pārkārtošanu, pirms pievieno vēl.
Ilustrācija, kurā parādītas piemēru kartiņas, kas tiek pievienotas pamudinājumam, ar samazinātu atdevi pēc pirmajām dažām
Vairumam gadījumu sāc ar 2 piemēriem. Ja precizitāte nav tāda, kā vajag, pievieno trešo, kas atspoguļo citu variāciju. Reti kad būs vajadzīgi vairāk par 4.
Domāšanas ķēde — vidusceļš spriešanai
Ir trešā iespēja, kas īpaši labi darbojas matemātikai, loģikai un daudzpakāpju problēmām: domāšanas ķēdes (chain-of-thought) pamudināšana. Tā vietā, lai rādītu ievades un izvades piemērus, tu lūdz modelim "domāt soli pa solim".
Zero-shot domāšanas ķēde izskatās šādi:
A store has 45 apples. They sell 12 in the morning and receive a shipment of 30 more. Then they sell 18 in the afternoon. How many apples do they have at closing?
Let's work through this step by step.
Šī vienkāršā frāze — "izejam to soli pa solim" — liek modelim parādīt savu spriešanu, nevis lekt uz atbildi. Sarežģītai spriešanai tas bieži pārspēj gan zero-shot, gan few-shot pieejas.
Nesens arXiv pētījums atklāja, ka tādiem stipriem modeļiem kā GPT-4 un Claude zero-shot domāšanas ķēde bieži pārspēj few-shot pamudināšanu spriešanas uzdevumos. Piemēri patiesībā var ierobežot modeļa domāšanu, nevis tai palīdzēt.
Lieto domāšanas ķēdi, kad:
Uzdevums prasa vairākus loģiskus soļus
Tev vajag, lai modelis paskaidro savu spriešanu (noderīgi kļūdu pamanīšanai)
Iesaistīta matemātika, programmēšanas loģika vai analītiskas problēmas
Vēlies pārbaudīt modeļa pieeju, ne tikai tā atbildi
Pilni pamudinājumu piemēri, ko vari kopēt
Apskatīsim trīs pieejas blakus reāliem uzdevumiem. Visi pamudinājumi ir pārbaudīti ar GPT-4 un Claude, un tie ir gatavi lietošanai.
1. uzdevums: e-pasta toņa klasifikācija
Zero-shot versija:
Classify the tone of this customer email as: frustrated, satisfied, neutral, or urgent.
Email:
{{email_text}}
Tone:
Few-shot versija (labāka robežgadījumiem):
Classify customer email tone as: frustrated, satisfied, neutral, or urgent.
Email: "I've been waiting 3 weeks for my order. This is ridiculous. I want a refund NOW."
Tone: frustrated
Email: "Just wanted to say thanks — the product arrived early and works great!"
Tone: satisfied
Email: "Hi, can you confirm my order shipped? Order #12345."
Tone: neutral
Email: "Our system is down and we need the replacement part TODAY or we lose the contract."
Tone: urgent
Email: {{email_text}}
Tone:
Few-shot versija palīdz modelim saprast tavas konkrētās definīcijas. "Steidzams" pret "satraukts" var būt neviennozīmīgs — piemēri padara tavas robežas skaidras.
2. uzdevums: produkta apraksta pārrakstīšana
Zero-shot versija:
Rewrite this product description to be more engaging and benefit-focused. Keep it under 100 words.
Original: {{product_description}}
Rewritten version:
Few-shot versija (labāka zīmola balss konsekvencei):
Rewrite product descriptions to be engaging and benefit-focused. Match this style:
Original: "Stainless steel water bottle. 24oz capacity. Keeps drinks cold for 24 hours."
Rewritten: "Stay hydrated all day with our sleek 24oz steel bottle. Your morning coffee stays hot through your commute. Your afternoon water stays ice-cold at the gym. One bottle, endless possibilities."
Original: "Wireless earbuds. 8-hour battery. Noise cancelling."
Rewritten: "Eight hours of your favorite podcasts, uninterrupted. Our wireless earbuds block out the noise so you can focus on what matters — whether that's deep work, your workout playlist, or finally finishing that audiobook."
Original: {{product_description}}
Rewritten:
Few-shot versija iemāca konkrētu kopiju veidošanas stilu — uz ieguvumiem balstītu, sarunvalodā, ar konkrētiem lietošanas gadījumiem. Zero-shot iedotu kādu pārrakstījumu, bet ne obligāti tavējo balsi.
3. uzdevums: kļūdu ziņojumu strukturēšana
Zero-shot versija:
Convert this bug report into a structured format with: Summary, Steps to Reproduce, Expected Behavior, and Actual Behavior.
Bug report: {{bug_report}}
Few-shot versija (labāka konsekventai formatēšanai):
Convert bug reports into structured format.
Input: "The app crashes when I try to upload a PDF. I was on the dashboard, clicked upload, selected a 5MB PDF, and it just closed. Should show the file in my uploads but instead the whole app dies."
Output:
**Summary:** App crashes when uploading PDF files
**Steps to Reproduce:**
1. Navigate to dashboard
2. Click upload button
3. Select a PDF file (tested with 5MB file)
**Expected:** File appears in uploads section
**Actual:** Application crashes/closes unexpectedly
---
Input: {{bug_report}}
Output:
Tehniskajā dokumentācijā konsekvence ir svarīga. Few-shot versija nodrošina, ka katrs kļūdas ziņojums seko tai pašai struktūrai un tādam pašam detalizācijas līmenim.
Ātra lēmumu pieņemšanas sistēma
Kad domā par jaunu uzdevumu, izej cauri šiem jautājumiem:
1. Vai uzdevums ir tiešs un labi definēts? → Sāc ar zero-shot
2. Vai vajag konkrētu formātu, ko modelis varētu nepieminēt? → Lieto few-shot
3. Vai uzdevums ietver daudzpakāpju spriešanu? → Vispirms izmēģini zero-shot domāšanas ķēdi
4. Vai vajag konsekventu zīmola balsi vai nozares terminoloģiju? → Lieto few-shot ar piemēriem tādā balsī
5. Vai zero-shot deva tev 80% no tā, kas vajadzīgs? → Paturi to. Pilnība nav 3x vairāk žetonu vērta.
Mērķis nav lietot vissarežģītāko paņēmienu — mērķis ir efektīvi iegūt labus rezultātus. Zero-shot ir noklusējums. Sarežģītību pievieno tikai tad, kad vienkāršākas pieejas neder.
Kā to ieviest praksē
Labākais veids, kā šo apgūt, ir eksperimentēt. Paņem uzdevumu, ko pildi regulāri — atskaišu apkopošanu, e-pastu sastādīšanu, atsauksmju kategorizēšanu — un izmēģini abas pieejas. Pamani, kur zero-shot atpaliek. Pamani, kur few-shot rada patiesu atšķirību.
Kad atrod pamudinājumus, kas strādā, saglabā tos kaut kur, kur tos vari atrast atkal. Ja veido savu pamudinājumu kolekciju ar piemēriem un mainīgajiem, PromptNest ir vietēja Mac lietotne ($19.99 vienreizējs maksājums Mac App Store, bez abonementa, bez konta, darbojas lokāli), kas tos uztur sakārtotus, meklējamus un pieejamus ar īsinājumtaustiņu no jebkuras lietotnes. Vairs nebūs jāmeklē izsvaidītās piezīmēs tas perfektais few-shot pamudinājums, ko uzrakstīji pirms trim nedēļām.
Sāc vienkārši. Pievieno sarežģītību, kad vajag. Saglabā to, kas strādā. Tāda ir visa stratēģija.