Como faço testes A/B em prompts de LLM sem me enganar
Certa vez, construí um assistente de suporte e achei que tinha encontrado um vencedor. Executei trinta casos de teste, o novo prompt obteve uma pontuação maior e eu o implementei.
Seis horas depois, a fila de suporte encheu-se de reclamações. Tive que reverter a alteração naquela mesma noite.
A pontuação mais alta era falsa. Trinta exemplos não são suficientes para separar uma melhoria real da sorte. O número era apenas ruído.
Aqui está como testar prompts sem cometer esse erro.
Testes pequenos só detectam grandes mudanças. Se você quiser encontrar uma pequena melhoria, precisará de muito mais exemplos. Para encontrar uma mudança mínima, você pode precisar de mais de mil exemplos.
Use as mesmas perguntas para ambas as versões. Não dê um lote de perguntas para a Versão A e outro para a Versão B. Algumas perguntas são mais difíceis que outras. Se a Versão B receber as perguntas fáceis, ela parecerá melhor mesmo que seja pior. Execute ambas as versões exatamente com o mesmo conjunto de perguntas.
Observe o intervalo, não apenas a média. Uma média não diz nada sobre o tamanho da vitória. Relate um intervalo entre as menores e as maiores melhorias prováveis. Se esse intervalo incluir o zero, não implemente.
Escolha o método de pontuação correto. • Use um checklist para qualidade absoluta. • Use comparação lado a lado para qualidade subjetiva, como tom ou utilidade.
Use um bandit para múltiplas versões. Se você tiver três ou mais versões e quiser limitar a frustração do usuário, use um bandit. Ele envia mais tráfego para a versão vencedora à medida que aprende. Isso evita que os usuários vejam respostas ruins por semanas.
Evite estas armadilhas:
- Comparar médias sem um intervalo.
- Usar lotes de perguntas diferentes para versões diferentes.
- Alterar seu avaliador no meio de um teste.
- Interromper um teste no momento em que os números parecem bons.
- Observar métricas demais ao mesmo tempo. Isso aumenta sua chance de ver uma vitória falsa.
- Confiar em um avaliador antes de verificá-lo em relação ao julgamento humano.
A parte difícil não é executar o teste. A parte difícil é saber quando o resultado é real.
Fonte: https://dev.to/kartik-nvjk/how-i-ab-test-llm-prompts-without-fooling-myself-528f
Comunidade de aprendizado opcional: https://t.me/GyaanSetuAi
