Pular para o conteúdo
SDETRole
SDETRole

Glossário · IA em testes

Avaliação de LLM (LLM evals)

Em inglês: LLM evaluation

Também chamado de: avaliação de LLMs, LLM evals, evals, avaliação de modelos de linguagem

Definição

Medir sistematicamente a qualidade de uma funcionalidade com LLM em um conjunto fixo de entradas e critérios, já que as saídas variam e asserções exatas raramente servem.

A avaliação de LLM (“evals”) é como você testa uma funcionalidade construída sobre um modelo de linguagem de grande porte: roda-a sobre um conjunto fixo de entradas, pontua cada saída segundo critérios definidos e acompanha as pontuações ao longo do tempo. Testes tradicionais verificam um único valor esperado exato. A saída de um LLM é texto livre que varia entre execuções, então a avaliação troca a igualdade exata por uma mistura de verificações determinísticas, notas e revisão humana, e julga a funcionalidade pelas taxas de aprovação em muitos casos, e não por um único exemplo.

Exemplo

Um classificador de chamados de suporte avaliado contra um dataset rotulado:

import { readFileSync } from 'node:fs';
import { classifyTicket } from '../src/classifier';

type Case = { input: string; expected: 'billing' | 'bug' | 'account' | 'other' };
const cases: Case[] = JSON.parse(readFileSync('evals/tickets.json', 'utf8'));

let correct = 0;
for (const c of cases) {
  const result = await classifyTicket(c.input);
  if (result.label === c.expected) correct++;
  else console.log(`MISS expected=${c.expected} got=${result.label} :: ${c.input}`);
}

const accuracy = correct / cases.length;
console.log(`accuracy ${(accuracy * 100).toFixed(1)}% over ${cases.length} cases`);
if (accuracy < 0.9) process.exit(1); // regression gate

Tipos de verificação, da mais à menos confiável

  • Determinísticas. JSON válido, corresponde a um schema, contém um campo obrigatório, fica abaixo de um limite de tamanho, escolhe um rótulo de um conjunto permitido. Baratas e repetíveis; use-as sempre que se encaixarem.
  • Baseadas em referência. Comparar com uma resposta sabidamente boa: igualdade exata para rótulos, ou pontuações de sobreposição e similaridade para texto livre. As pontuações de similaridade são aproximadas e precisam de calibração.
  • Avaliadas por modelo. Outro LLM pontua a saída segundo uma rubrica (LLM-as-judge). Escala para texto aberto, mas traz os seus próprios erros.
  • Revisão humana. A mais confiável para qualidade com nuances, e a referência contra a qual você calibra as verificações automáticas.

O que já está consolidado e o que ainda está mudando

Consolidado: avaliar sobre um dataset versionado, rodar evals a cada mudança de prompt ou de modelo, acompanhar as pontuações ao longo do tempo e incluir casos adversariais como prompt injection. Ainda mudando: a escolha de métricas para geração aberta, o quanto confiar em notas dadas por modelos e o ferramental, que muda rápido.

Erros comuns

Julgar uma mudança a partir de meia dúzia de conversas manuais; usar casos de menos para distinguir uma mudança real de ruído; rodar cada caso uma única vez quando as saídas variam (rode várias vezes e informe a dispersão); e deixar o conjunto de avaliação ficar desatualizado enquanto o tráfego real dos usuários muda.

Digite para buscar em todo o SDETRole.

Busca de texto completo com Pagefind · roda no seu navegador Abrir página de busca →