🚀 Master Prompt Engineering and building AI Agents in our NEW courses! Use PROMPTING20 for 20% off ➜ Enroll now
Estudi de Cas de Classificació de Llocs de Treball per a Titulats

Estudi de cas de classificació de feines per a graduats

Clavié et al., 2023 (opens in a new tab) proporcionen un estudi de cas sobre l'enginyeria de prompts aplicada a un cas d'ús de classificació de text a escala mitjana en un sistema de producció. Utilitzant la tasca de classificar si una feina és veritablement una "feina d'inici", adequada per a un graduat recent, o no, van avaluar una sèrie de tècniques d'enginyeria de prompts i informen dels seus resultats utilitzant GPT-3.5 (gpt-3.5-turbo).

El treball mostra que els LLMs superen tots els altres models provats, inclosa una base de comparació molt sòlida amb DeBERTa-V3. gpt-3.5-turbo també supera notablement les variants anteriors de GPT3 en totes les mètriques clau, però requereix una anàlisi addicional de la sortida, ja que la seva capacitat per seguir una plantilla sembla ser pitjor que les altres variants.

Els resultats clau de la seva aproximació a l'enginyeria de prompts són:

  • Per a tasques com aquesta, on no es requereix coneixement expert, el Few-shot CoT prompting va obtenir pitjors resultats que el Zero-shot prompting en tots els experiments.
  • L'impacte del prompt per obtenir el raonament correcte és enorme. Simplement demanant al model que classifiqui una feina determinada, es produeix una puntuació F1 de 65,6, mentre que el model post-enganieria de prompts aconsegueix una puntuació F1 de 91,7.
  • Intentar forçar el model a seguir una plantilla redueix el rendiment en tots els casos (aquest comportament desapareix en les proves preliminars amb GPT-4, que són posteriors al document).
  • Moltes petites modificacions tenen un impacte considerable en el rendiment.
    • Les taules a continuació mostren totes les modificacions provades.
    • Donar instruccions correctes i repetir els punts clau sembla ser el principal impulsor del rendiment.
    • Alguna cosa tan senzilla com donar al model un nom (humà) i referir-se a ell com a tal augmenta la puntuació F1 en 0,6 punts.

Modificacions de prompts provades

Nom curtDescripció
BaseProporcionar una oferta de feina i preguntar si és adequada per a un graduat.
CoTDonar alguns exemples de classificació precisa abans de consultar.
Zero-CoTDemanar al model que raoni pas a pas abans de proporcionar la seva resposta.
rawinstDonar instruccions sobre el seu rol i la tasca afegint al missatge de l'usuari.
sysinstDonar instruccions sobre el seu rol i la tasca com a missatge de sistema.
bothinstRepartir les instruccions amb el rol com a missatge de sistema i la tasca com a missatge d'usuari.
mockDonar instruccions de la tasca simulant una discussió on el model les reconeix.
reitReforçar els elements clau de les instruccions repetint-los.
strictDemanar al model que respongui seguint estrictament una plantilla donada.
looseDemanar que només la resposta final es doni seguint una plantilla donada.
rightDemanar al model que arribi a la conclusió correcta.
infoProporcionar informació addicional per abordar errors de raonament comuns.
nameDonar al model un nom pel qual ens referim a ell en la conversa.
posProporcionar retroalimentació positiva al model abans de consultar-lo.

Impacte en el rendiment de totes les modificacions de prompts

PrecisióSensibilitatF1Adherència a la plantilla
Base61,270,665,679%
CoT72,685,178,487%
Zero-CoT75,588,381,465%
+rawinst8092,485,868%
+sysinst77,790,983,869%
+bothinst81,993,987,571%
+bothinst+mock83,395,188,874%
+bothinst+mock+reit83,895,589,375%
+bothinst+mock+reit+strict79,993,786,398%