Avalie LLMs e use-os com responsabilidade
Crie avaliações para sua tarefa, use métricas como correspondência exata e pass@k e conheça os limites dos benchmarks e juízes LLM.
- Projete um conjunto de avaliação específico para tarefas
- Calcule a correspondência exata e pass@k
- Reconhecer a contaminação de benchmark e os preconceitos do juiz LLM
Os benchmarks públicos informam o desempenho de um modelo no teste de outra pessoa. Para o seu produto, você precisa de avaliações: um conjunto de entradas realistas com uma forma de avaliar os resultados, executado sempre que você alterar o modelo, prompt ou ferramentas.
Opções de classificação, de rigorosas a flexíveis:
- Correspondência exata (após normalizar maiúsculas e minúsculas, pontuação e artigos) para respostas factuais curtas.
- Execução para código: execute os testes. pass@k (Chen et al., 2021) é a chance de que pelo menos uma das k amostras seja aprovada.
- Rubricas avaliadas por pessoas ou por um juiz do LLM para texto aberto.
Os juízes do LLM escalam bem, mas têm preconceitos conhecidos - favorecendo respostas mais longas, a primeira opção mostrada ou seu próprio estilo - portanto, compare-os com rótulos humanos antes de confiar neles.
Experimente
Até 15 XPComo você avaliaria isso?
Escolha o método de classificação mais apropriado para cada tarefa.
““Em que ano a Torre Eiffel foi concluída?””
““Escreva uma função que analise datas ISO””
““Elabore uma resposta educada para um cliente irritado””
““Converta esta consulta SQL em pandas””
““Classifique este ticket como cobrança, bug ou solicitação de recurso””
from math import comb
n, correct, k = 10, 3, 1
print(1 - comb(n - correct, k) / comb(n, k))0.30000000000000004
Principais conclusões
Crie avaliações específicas de tarefas e execute-as novamente a cada alteração.
Correspondência exata para respostas curtas, execução para código, rubricas (humano ou juiz LLM) para texto aberto.
Fique atento à contaminação de benchmark e aos preconceitos dos juízes do LLM.
Quiz da aula
6 perguntas · aprovação com 5 acertos · até 50 XP
Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.
Pratique: escreva código em Python
Escreva código Python no editor e execute os testes com exemplos. O Python roda localmente no navegador usando WebAssembly.
Correspondência exata normalizada
Cada linha é prediction|reference. Normalize ambos: minúsculas, remova a pontuação, remova os artigos a/an/the, recolha os espaços. Imprima match ou miss por linha e depois exact match: M/N (P%) (porcentagem inteira).
- Quatro respostas
O Python é executado em um ambiente isolado no navegador, com limite de 60 segundos. O runtime é carregado pelo CDN do Pyodide; seu código permanece neste navegador.
Calcular pass@k
Cada linha é n c k: n amostras foram geradas, c passaram nos testes. Imprima o imparcial com 3 casas decimais: pass@k = X.
- Três casos
O Python é executado em um ambiente isolado no navegador, com limite de 60 segundos. O runtime é carregado pelo CDN do Pyodide; seu código permanece neste navegador.
Dúvidas sobre esta lição
Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.
Carregando publicações…