Graduate Job Classification Case Study

Estudo de Caso de Classificação de Empregos para Graduados

Clavié et al., 2023 (opens in a new tab) apresentam um estudo de caso sobre engenharia de estímulos aplicada a um caso de classificação de texto em média escala em um sistema de produção. Usando a tarefa de classificar se um emprego é adequado para um recém-formado ("entry-level job") ou não, eles avaliaram uma série de técnicas de engenharia de estímulos e relataram seus resultados usando o GPT-3.5 (gpt-3.5-turbo).

O trabalho mostra que LLMs superam todos os outros modelos testados, incluindo uma linha de base extremamente forte no DeBERTa-V3. O gpt-3.5-turbo também supera de forma notável as variantes mais antigas do GPT3 em todas as métricas-chave, mas requer análise adicional da saída, pois sua capacidade de aderir a um modelo parece ser pior do que nas outras variantes.

As principais descobertas de sua abordagem de engenharia de estímulos são:

  • Para tarefas como esta, onde não é necessário conhecimento especializado, o estímulo CoT de poucas vezes (Few-shot CoT) teve um desempenho pior do que o estímulo de zero vezes (Zero-shot prompting) em todos os experimentos.
  • O impacto do estímulo na obtenção do raciocínio correto é enorme. Simplesmente pedir ao modelo para classificar um determinado emprego resulta em uma pontuação F1 de 65,6, enquanto o modelo com engenharia de estímulo pós-prompt alcança uma pontuação F1 de 91,7.
  • Tentar forçar o modelo a aderir a um modelo reduz o desempenho em todos os casos (esse comportamento desaparece nos testes iniciais com o GPT-4, que são posteriores ao artigo).
  • Muitas pequenas modificações têm um impacto desproporcional no desempenho.
    • As tabelas abaixo mostram todas as modificações testadas.
    • Dar instruções apropriadas e repetir os pontos-chave parece ser o maior impulsionador de desempenho.
    • Algo tão simples como dar um nome (humano) ao modelo e se referir a ele assim aumentou a pontuação F1 em 0,6 pontos.

Modificações de Estímulo Testadas

Nome abreviadoDescrição
BaselineFornecer um anúncio de emprego e perguntar se é adequado para um graduado.
CoTDar alguns exemplos de classificação precisa antes da consulta.
Zero-CoTPedir ao modelo para raciocinar passo a passo antes de fornecer a resposta.
rawinstDar instruções sobre seu papel e a tarefa ao adicionar à mensagem do usuário.
sysinstDar instruções sobre seu papel e a tarefa como uma mensagem do sistema.
bothinstDividir as instruções, com o papel como mensagem do sistema e a tarefa como mensagem do usuário.
mockDar instruções da tarefa simulando uma discussão em que ele as reconhece.
reitReforçar elementos-chave nas instruções repetindo-os.
strictPedir ao modelo para responder seguindo estritamente um modelo fornecido.
loosePedir apenas a resposta final seguindo um modelo fornecido.
rightPedir ao modelo para chegar à conclusão correta.
infoFornecer informações adicionais para abordar falhas comuns de raciocínio.
nameDar ao modelo um nome pelo qual nos referimos a ele na conversa.
posFornecer feedback positivo ao modelo antes de consultar.

Impacto de Desempenho de Todas as Modificações de Estímulo

PrecisãoRecuperaçãoF1Adesão ao Modelo
Baseline61,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%
+bothinst+mock+reit+loose80,594,887,195%
+bothinst+mock+reit+right8495,989,677%
+bothinst+mock+reit+right+info84,996,590,377%
+bothinst+mock+reit+right+info+name85,796,890,979%
+bothinst+mock+reit+right+info+name+pos86,99791,781%

A adesão ao modelo se refere à frequência com que o modelo responde no formato desejado.```