Studiu de caz: Clasificarea job-urilor pentru absolvenți
Clavié et al., 2023 oferă un studiu de caz despre ingineria prompt-urilor aplicată unui caz de utilizare de clasificare de text de dimensiuni medii într-un sistem de producție. Folosind sarcina de a clasifica dacă un job este un "job de nivel de intrare" adevărat, potrivit pentru un absolvent recent, sau nu, au evaluat o serie de tehnici de ingineria prompt-urilor și au raportat rezultatele lor folosind GPT-3.5 (gpt-3.5-turbo).
Privire de ansamblu
Lucrarea arată că LLM-urile depășesc toate celelalte modele testate, inclusiv o linie de bază extrem de puternică în DeBERTa-V3. gpt-3.5-turbo depășește de asemenea în mod vizibil variantele mai vechi GPT3 în toate metricile cheie, dar necesită parsarea suplimentară a ieșirii deoarece capacitatea sa de a se ține de un șablon pare să fie mai proastă decât celelalte variante.
Descoperirile cheie
Descoperirile cheie ale abordării lor de ingineria prompt-urilor sunt:
- Few-shot CoT vs Zero-shot: Pentru sarcini precum aceasta, unde nu este necesară cunoașterea expertă, promptarea Few-shot CoT a performat mai prost decât promptarea Zero-shot în toate experimentele.
- Impactul masiv: Impactul promptului asupra elicitării raționamentului corect este masiv. Pur și simplu să ceri modelului să clasifice un job dat rezultă într-un scor F1 de 65.6, în timp ce modelul post-ingenieria prompt-urilor obține un scor F1 de 91.7.
- Constrângerile șablonului: Încercarea de a forța modelul să se țină de un șablon scade performanța în toate cazurile (acest comportament dispare în testarea timpurie cu GPT-4, care este posterioară lucrării).
- Modificările mici: Multe modificări mici au un impact disproporționat asupra performanței.
- Calitatea instrucțiunilor: Oferirea corectă a instrucțiunilor și repetarea punctelor cheie pare să fie cel mai mare factor de performanță.
- Personalizarea: Ceva la fel de simplu precum să dai modelului un nume (uman) și să te referi la el ca atare a crescut scorul F1 cu 0.6 puncte.
Modificările prompt-urilor testate
| Nume scurt | Descriere |
|---|---|
| Linia de bază | Furnizează o postare de job și întreabă dacă este potrivit pentru un absolvent. |
| CoT | Dă câteva exemple de clasificare precisă înainte de interogare. |
| Zero-CoT | Cere modelului să raționeze pas cu pas înainte de a furniza răspunsul său. |
| rawinst | Dă instrucțiuni despre rolul său și sarcina prin adăugarea la mesajul utilizatorului. |
| sysinst | Dă instrucțiuni despre rolul său și sarcina ca mesaj de sistem. |
| bothinst | Împarte instrucțiunile cu rolul ca mesaj de sistem și sarcina ca mesaj de utilizator. |
| mock | Dă instrucțiuni despre sarcină prin simularea unei discuții unde le recunoaște. |
| reit | Reforțează elementele cheie din instrucțiuni prin repetarea lor. |
| strict | Cere modelului să răspundă urmând strict un șablon dat. |
| loose | Cere doar răspunsul final să fie dat urmând un șablon dat. |
| right | Cere modelului să ajungă la concluzia corectă. |
| info | Furnizează informații suplimentare pentru a aborda eșecurile comune de raționament. |
| name | Dă modelului un nume prin care ne referim la el în conversație. |
| pos | Furnizează modelului feedback pozitiv înainte de a-l interoga. |
Impactul performanței al tuturor modificărilor prompt-urilor
| Modificarea | Precisia | Recall-ul | F1 | Aderența la șablon |
|---|---|---|---|---|
| Linia de bază | 61.2 | 70.6 | 65.6 | 79% |
| CoT | 72.6 | 85.1 | 78.4 | 87% |
| Zero-CoT | 75.5 | 88.3 | 81.4 | 65% |
| +rawinst | 80.0 | 92.4 | 85.8 | 68% |
| +sysinst | 77.7 | 90.9 | 83.8 | 69% |
| +bothinst | 81.9 | 93.9 | 87.5 | 71% |
| +bothinst+mock | 83.3 | 95.1 | 88.8 | 74% |
| +bothinst+mock+reit | 83.8 | 95.5 | 89.3 | 75% |
| +bothinst+mock+reit+strict | 79.9 | 93.7 | 86.3 | 98% |
| +bothinst+mock+reit+loose | 80.5 | 94.8 | 87.1 | 95% |
| +bothinst+mock+reit+right | 84.0 | 95.9 | 89.6 | 77% |
| +bothinst+mock+reit+right+info | 84.9 | 96.5 | 90.3 | 77% |
| +bothinst+mock+reit+right+info+name | 85.7 | 96.8 | 90.9 | 79% |
| +bothinst+mock+reit+right+info+name+pos | 86.9 | 97.0 | 91.7 | 81% |
Notă: Aderența la șablon se referă la cât de frecvent modelul răspunde în formatul dorit.
