LLM como juiz: fazer um modelo receber uma nota de um modelo
LLM-as-a-judge consiste em fazer outro modelo atribuir notas às respostas de um sistema. O estudo pioneiro (Zheng et al., MT-Bench e Chatbot Arena, 2023) mostra que um juiz forte como o GPT-4 alcança mais de 80% de concordância com as preferências humanas, um nível comparável ao observado entre dois humanos — com vieses documentados: posição, verbosidade, autopreferência e raciocínio limitado. Localmente, um juiz com 13 a 14 bilhões de parâmetros, usando comparação por pares, fornece resultados utilizáveis.
Usar outro modelo para atribuir notas às respostas de um modelo tornou-se o método de avaliação mais difundido, por uma razão simples: é o único que funciona em grande escala. Esse método também está sujeito a vieses, pode ser manipulado e é enganoso se o resultado for interpretado como uma nota absoluta. O estudo que estabeleceu o quadro de referência, publicado pela equipe do LMSYS (Chatbot Arena) e apresentado na NeurIPS 2023, afirma isso explicitamente: quando bem utilizado, o método compara duas versões de um sistema; quando mal utilizado, fornece um número tranquilizador que não mede nada.
#O princípio e sua utilidade
Um modelo recebe uma pergunta, a resposta produzida pelo sistema a ser avaliado, eventualmente os trechos utilizados para responder e uma resposta de referência, e depois uma grade de critérios de avaliação. Ele retorna uma nota e uma justificativa. Repetido em cem casos, esse procedimento fornece um indicador que pode ser acompanhado ao longo do tempo, a cada alteração de prompt, de modelo ou de parâmetro de busca.
A alternativa é a avaliação humana, que continua sendo a referência e não é viável em grande escala: ninguém vai reler cem respostas a cada mudança de prompt. O juiz automático permite responder à pergunta “esta modificação melhorou ou piorou o sistema?” em dez minutos, o que muda a forma de trabalhar. O artigo pioneiro de Zheng et al. foi motivado precisamente por essa constatação: os benchmarks existentes (MMLU e similares) não medem o que importa em uma conversa aberta, e a avaliação humana em grande escala é cara demais para iterar rapidamente em um sistema que evolui a cada semana.
#Escrever uma grade de avaliação consistente
Seus documentos, sua IA: um RAG local confiável para seus PDFs, notas e e-mails — sem enviar nada para a nuvem.
- Espaço online vitalício
- PDF + arquivos
- Atualizações vitalícias
- 01Um critério de cada vezPedir uma nota geral não significa nada. A fidelidade às fontes, a pertinência e a completude são avaliadas separadamente.
- 02Uma escala curta, com os níveis descritosTrês ou quatro níveis, com uma descrição do significado de cada um. Uma escala de dez pontos gera notas sem reprodutibilidade.
- 03Exigir justificativa antes da notaUm juiz a quem se pede que raciocine e depois conclua é muito mais estável do que aquele que simplesmente fornece um número. É a mesma lógica da “limited reasoning ability” observada por Zheng et al.: exigir o raciocínio explícito reduz essa limitação.
- 04Preferir a comparação por pares« Qual dessas duas respostas é a melhor » é uma pergunta à qual um modelo responde muito melhor do que a « dê a esta resposta uma nota de zero a cinco » — é o formato usado pelo Chatbot Arena para comparar os modelos entre si.
#Os vieses e como contê-los
O artigo de referência sobre o assunto menciona especificamente três vieses e uma limitação: o viés de posição, o viés de verbosidade, o viés de autopreferência (self-enhancement) e uma capacidade de raciocínio limitada. Isso não é uma hipótese de blog, é o resultado central do estudo que introduziu o MT-Bench e o Chatbot Arena, duas referências ainda utilizadas hoje para classificar modelos.
| Viés | Efeito | Contramedida |
|---|---|---|
| Posição | A resposta apresentada primeiro é favorecida | Alternar a ordem e calcular a média dos resultados das duas avaliações |
| Verbosidade | Uma resposta mais longa é considerada melhor, com a mesma qualidade | Especificar isso na grade de avaliação, controlar o comprimento de ambos os lados |
| Autopreferência | Um juiz favorece as respostas de sua própria família de modelos | Não julgar um modelo com ele mesmo ou um parente próximo |
| Raciocínio limitado | O juiz erra em tarefas que exigem cálculo ou dedução | Exigir justificativa escrita antes da nota, nunca apenas uma nota |
| Complacência | Tudo recebe notas altas, e as notas se concentram no topo da escala | Uma rubrica de avaliação rigorosa e exemplos de respostas ruins no prompt |
A boa notícia, documentada pelo mesmo estudo: um juiz forte como o GPT-4 atinge mais de 80% de concordância com as preferências humanas no MT-Bench e no Chatbot Arena — o mesmo nível de concordância medido entre dois avaliadores humanos. A regra de uso que resume todo este capítulo: um juiz serve para comparar, nunca para certificar a qualidade em termos absolutos. Uma nota de 4,2 de 5 não diz nada; passar de 3,1 para 3,8 no mesmo conjunto de testes com o mesmo juiz diz algo concreto.
O viés de verbosidade não é uma preocupação teórica: o benchmark AlpacaEval, amplamente usado para comparar modelos ajustados por instrução, é explicitamente conhecido por favorecer modelos que geram respostas mais longas, com a mesma qualidade. Sua versão com controle de comprimento (« length-controlled ») eleva a correlação com os rankings do Chatbot Arena de 0,94 para 0,98 — a prova quantificada de que neutralizar esse único viés aproxima mecanicamente a avaliação automática da avaliação humana, em vez de afastá-la.
#Um juiz local: isso é sério?
Sim, sob duas condições. A primeira é o tamanho: abaixo de aproximadamente 14 bilhões de parâmetros, os julgamentos tornam-se instáveis e o formato de saída deixa de funcionar, tornando a campanha inutilizável — isso é coerente com a referência de memória do site (14B ≈ 9 GB em Q4). A segunda é o contexto: o juiz deve comportar a pergunta, os trechos e a resposta de uma só vez — um contexto saturado faz com que um texto truncado seja avaliado, e ninguém percebe, pois o modelo continua respondendo normalmente com base no que efetivamente recebeu.
A vantagem do juiz local é evidente quando os dados avaliados são confidenciais: enviar cada resposta e cada trecho a uma API externa para atribuir notas anula a vantagem de ter mantido o sistema local, especialmente em um caso médico, jurídico ou financeiro em que os próprios trechos de origem contêm dados sensíveis. E, ao contrário da produção, uma campanha de avaliação tolera muito bem a lentidão: você a inicia à noite, em uma GPU que serve para outra coisa durante o dia, e obtém os resultados pela manhã.
#Ferramentas para não reinventar o pipeline
Não é necessário escrever sua própria estrutura de avaliação por um modelo juiz do zero. O Prometheus, um projeto de pesquisa de código aberto, treina especificamente um modelo de 13 bilhões de parâmetros para esse uso: « We train Prometheus, a 13B evaluator LLM that can assess any given long-form text based on customized score rubric provided by the user » (treinamos o Prometheus, um LLM avaliador de 13 bilhões de parâmetros, capaz de avaliar qualquer texto longo segundo uma grade de pontuação personalizada fornecida pelo usuário). Os autores relatam uma correlação de Pearson de 0,897 com avaliadores humanos em 45 grades personalizadas, contra 0,882 para o GPT-4 e apenas 0,392 para o ChatGPT no mesmo protocolo — uma diferença que ilustra como um modelo não especializado pode avaliar mal, mesmo quando gera respostas que, em outros aspectos, são corretas em uma conversa.
- Prometheus
- 13B, aberto, desenvolvido especificamente para uma avaliação detalhada com uma rubrica personalizada; uma base sólida para um juiz local dedicado, em vez de um modelo generalista adaptado para uma finalidade diferente da original.
- Um modelo generalista de 14B ou mais
- Qwen, Llama ou Mistral nessa faixa de tamanho também funcionam como avaliadores, com uma rubrica de avaliação cuidadosamente redigida em vez de um treinamento dedicado a essa tarefa específica.
- Um framework de orquestração
- Útil para lançar a campanha, armazenar os resultados e acompanhar a evolução da pontuação ao longo do tempo, em vez de recodificar tudo a cada vez que um teste precise ser reiniciado em uma nova versão.
#Como é um prompt de juiz robusto
Vamos retomar as quatro regras da seção anterior em um caso concreto: um sistema RAG interno que responde a perguntas sobre procedimentos. O prompt do juiz deve conter explicitamente a pergunta feita, os trechos das fontes recuperados, a resposta a ser avaliada, uma grade de avaliação com critérios separados e uma instrução para justificar a avaliação antes de atribuir a nota. Isso leva mais tempo para escrever do que um simples "dê a esta resposta uma nota de zero a dez", mas é esse detalhe que distingue uma campanha de avaliação aproveitável de um número que tranquiliza sem medir nada.
Dois detalhes mudam tudo nesse esqueleto. Primeiro, os trechos de origem são enviados ao juiz, não apenas a resposta: sem eles, é impossível verificar a fidelidade, apenas a forma. Em seguida, a justificativa precede a conclusão na ordem do prompt — um juiz ao qual se pede primeiro a nota tende a justificá-la depois, em vez de raciocinar antes de decidir, o que agrava a limitação da capacidade de raciocínio identificada pelo estudo de referência. Por fim, alternar a ordem das respostas A e B de um caso para outro e depois calcular a média das duas passagens de avaliação neutraliza a maior parte do viés de posição documentado por Zheng et al.
#Quando não usá-lo
- Para validar um sistema de alto impacto
- Médico, jurídico, financeiro: um juiz automático não substitui uma revisão humana em casos que envolvem responsabilidade.
- Para comparar dois sistemas muito diferentes
- Os vieses de estilo e de comprimento dominam assim que os formatos de resposta diferem, como mostra o viés de verbosidade documentado por Zheng et al.
- Quando um teste determinístico existe
- Se a resposta correta for um número ou um valor exato, uma simples comparação é mais precisa e infinitamente mais barata do que um juiz LLM.
- Com poucos casos demais
- Com dez perguntas, a variância da geração supera a diferença que você procura medir.
- Ragas: avaliar seu RAG local com números
- Langfuse: observar seus LLMs locais (traces, prompts, evals)
- Leia os rankings de modelos sem se enganar
- RAG local: introdução (para situar o que estamos avaliando)
- Fonte: Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena (Zheng et al., 2023)
- Fonte: Prometheus, um juiz open source de 13B (Kim et al., 2023)
- Fonte: repositório oficial do Prometheus no GitHub
#FAQ
Um modelo pode realmente julgar outro?+
Qual o tamanho do modelo para o juiz?+
É necessário usar um juiz diferente do modelo avaliado?+
Nota ou comparação por pares?+
Quantos casos são necessários para uma campanha que possa ser aproveitada?+
O Prometheus é melhor que um modelo generalista como avaliador?+
O viés de verbosidade é realmente mensurável?+
Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.