Carregando
0xD0Lição 14 de 16

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.

22 min Questionário com 6 perguntas 2 exercícios de código
Ao final desta lição, você saberá
  • 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 XP

Como você avaliaria isso?

Escolha o método de classificação mais apropriado para cada tarefa.

0 de 5 classificadosPontuação 0/0
  • ““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””

pass_at_k.py
from math import comb
n, correct, k = 10, 3, 1
print(1 - comb(n - correct, k) / comb(n, k))
Saída
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.

Exercício 1

Correspondência exata normalizada

+25 XP

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
main.py
Carregando editor…

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.

Exercício 2

Calcular pass@k

+25 XP

Cada linha é n c k: n amostras foram geradas, c passaram nos testes. Imprima o pass@k=1−(n−ck)/(nk)\text{pass@}k = 1 - \binom{n-c}{k} \big/ \binom{n}{k} imparcial com 3 casas decimais: pass@k = X.

  • Três casos
main.py
Carregando editor…

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…