Promptarea Zero-Shot
Prezentare generală
Modelele de limbaj mari (LLM-uri) de astăzi, cum ar fi GPT-3.5 Turbo, GPT-4 și Claude 3, sunt ajustate să urmeze instrucțiuni și sunt antrenate pe cantități mari de date. Antrenarea la scară mare face aceste modele capabile să execute unele sarcini într-un mod "zero-shot". Promptarea zero-shot înseamnă că promptul folosit pentru a interacționa cu modelul nu va conține exemple sau demonstrații. Promptul zero-shot instruiește direct modelul să execute o sarcină fără exemple suplimentare pentru a-l ghida.
Exemplu de bază
Am încercat câteva exemple zero-shot în secțiunea anterioară. Iată unul dintre exemplele (adică clasificarea textului) pe care l-am folosit:
Prompt:
Clasifică textul în neutru, negativ sau pozitiv.
Text: Cred că vacanța este în regulă.
Sentiment:Ieșire:
NeutruObservă că în promptul de mai sus nu am furnizat modelului niciun exemplu de text împreună cu clasificările lor, LLM-ul înțelege deja "sentimentul" -- aceasta sunt capacitățile zero-shot în acțiune.
Cum funcționează învățarea Zero-Shot
S-a demonstrat că ajustarea instrucțiunilor îmbunătățește învățarea zero-shot Wei et al. (2022). Ajustarea instrucțiunilor este în esență conceptul de finetuning al modelelor pe seturi de date descrise prin instrucțiuni. În plus, RLHF (învățarea prin întărire din feedback-ul uman) a fost adoptat pentru a scala ajustarea instrucțiunilor, unde modelul este aliniat să se potrivească mai bine preferințelor umane. Această dezvoltare recentă alimentează modele precum ChatGPT. Vom discuta toate aceste abordări și metode în secțiunile următoare.
Când să folosești Zero-Shot
Când zero-shot nu funcționează, se recomandă să furnizezi demonstrații sau exemple în prompt, ceea ce duce la promptarea cu câteva exemple. În secțiunea următoare, demonstrăm promptarea cu câteva exemple.
Beneficii cheie
- Nu sunt necesare exemple: Funcționează fără să furnizezi demonstrații
- Utilizare imediată: Poate fi aplicat la sarcini noi instantaneu
- Urmărirea instrucțiunilor: Modelele înțeleg și urmează instrucțiuni directe
- Eficient: Economisește timp și token-uri comparativ cu abordările cu câteva exemple
- Scop general: Aplicabil în diverse domenii și sarcini
Aplicații
- Clasificarea textului: Analiza sentimentelor, categorizarea temelor
- Traducerea: Conversia de la o limbă la alta
- Rezumarea: Crearea de versiuni concise ale textelor mai lungi
- Răspunsurile la întrebări: Răspunderea la întrebări fără exemple
- Generarea de cod: Crearea de cod din descrieri în limbaj natural
Limitări
- Complexitatea sarcinii: Poate avea dificultăți cu sarcinile de raționament complexe
- Variabilitatea performanței: Rezultatele pot fi inconsistente între sarcini diferite
- Cunoștințele de domeniu: Limitate la ceea ce a fost învățat în timpul antrenării
- Claritatea instrucțiunilor: Necesită instrucțiuni foarte clare și specifice
Cele mai bune practici
- Fii specific: Folosește instrucțiuni clare, neambigue
- Definește formatul de ieșire: Specifică structura răspunsului așteptat
- Setează constrângeri: Definește orice limitări sau cerințe
- Testează iterativ: Rafinează prompturile pe baza performanței
- Ia în considerare contextul: Furnizează context relevant când este necesar
Subiecte conexe
- Promptarea cu câteva exemple - Învățarea din exemple
- Promptarea Chain-of-Thought - Tehnici avansate de raționament
- Ghidul de inginerie a prompturilor - Tehnici generale de inginerie a prompturilor
Referințe
- Wei et al. (2022) - Finetuned Language Models Are Zero-Shot Learners
