Como certificar rótulos de LLM com uma amostra humana cega
Mantenha os rótulos de um LLM só onde uma amostra humana aleatória e cega mostra erro abaixo da meta, e relate a prevalência com intervalos corrigidos pelo modelo.
Para decidir quais rótulos de LLM manter sem verificar um por um, peça a pessoas que rotulem uma amostra aleatória e cega, escolha um limiar de confiança em metade dessa amostra e teste na outra metade se a taxa de erro entre os rótulos acima do limiar fica abaixo da sua meta. Para números de prevalência, corrija a estimativa do modelo com os erros dele na mesma amostra, o que dá um intervalo que continua válido seja qual for a qualidade do modelo.
Uma forma comum de verificar rótulos de LLM é ler algumas dezenas de saídas e, se parecerem certas, publicar o conjunto de dados com uma frase como "um LLM rotulou os dados e nós fizemos uma verificação por amostragem". Essa frase não diz com que frequência os rótulos estão errados, e um revisor não tem como saber se a verificação teria detectado uma taxa de erro de 15%. Uma verificação que sustenta um número responde a três perguntas: quais rótulos de máquina manter, o quanto uma taxa calculada a partir de rótulos de máquina se desvia do valor real e se um modelo pode substituir uma pessoa.
Viés em verificações por amostragem e em pré-rótulos revisados
Dois hábitos fazem um rótulo de máquina parecer melhor do que é. O primeiro é verificar os itens sobre os quais o modelo estava menos seguro. Verificar esses itens encontra erros rápido, mas os itens verificados não são uma amostra do conjunto de dados, então a taxa de erro neles não estima nada sobre o resto. O segundo é medir a concordância em rótulos que as pessoas deram com a resposta do modelo na tela. Uma sugestão puxa a resposta para ela, então a concordância medida em pré-rótulos revisados fica mais alta do que a concordância medida às cegas. Pré-anotação com LLM trata desse viés de automação com mais detalhe.
Uma verificação que sustenta um número precisa, portanto, de três propriedades. Os itens verificados são sorteados ao acaso, com probabilidades de inclusão conhecidas. As pessoas que os rotulam não podem ver a resposta do modelo. Os rótulos que escolhem uma regra são diferentes dos rótulos que a testam.
Predição seletiva e risco seletivo
Predição seletiva significa que um modelo rotula só os itens em que sua confiança passa de um limiar e se abstém nos demais, que vão para pessoas. A grandeza a controlar é o risco seletivo, a taxa de erro entre os rótulos que o modelo mantém. Por exemplo, um limiar que mantém 70% dos itens com 4% de erro pode ser mais útil do que um modelo que rotula tudo com 12%.
Escolher o limiar e testá-lo com os mesmos rótulos exagera o quanto ele funciona, então a amostra humana é dividida. Uma metade, a divisão dev, escolhe o limiar. A outra metade, a divisão cert, o testa com um teste binomial unilateral da afirmação de que o erro entre os rótulos aceitos está acima da meta. Se essa afirmação for rejeitada, o limiar fica certificado na confiança declarada. O Learn-then-Test (Angelopoulos et al., 2025) trata a escolha de um limiar como um problema de testes múltiplos. Um de seus procedimentos testa limiares candidatos em uma ordem fixa e para no primeiro que falha, o que permite tentar vários limiares sem perder a garantia.
Esses testes precisam de amostras maiores do que a maioria das verificações por amostragem. Suponha que a meta seja no máximo 10% de erro com 90% de confiança e que este seja o primeiro teste de um único modelo sem divisão por classe, que o Potato faz em um nível de cerca de 0,06 (a próxima seção explica por quê). Com 100 rótulos aceitos na divisão cert, o teste só passa se no máximo 5 estiverem errados. Uma meta de 5% exige no máximo 1 rótulo errado em 100, ou no máximo 4 em 200. Um modelo cuja taxa de erro real é 7% passa nesse primeiro teste em cerca de 29% das vezes com 100 rótulos cert aceitos, e em cerca de 56% das vezes com 300.
Testes repetidos e o orçamento de erro
As pessoas continuam rotulando depois do primeiro teste, e repetir o teste até ele passar transformaria uma chance de 10% de um certificado errado em algo muito maior. Uma solução é dar a cada teste uma fatia cada vez menor do orçamento de erro. O Potato dá ao teste número k a fatia 6 / (pi^2 k^2) do erro permitido, então o primeiro teste recebe 61%, o segundo 15%, e as fatias somam o orçamento inteiro ao longo de todos os testes possíveis. Tentar um novo prompt ou um novo modelo conta como um novo teste, porque é mais uma chance de passar por sorte.
Prevalência com inferência potencializada por predição
Muitos estudos precisam mais de uma taxa do que de um conjunto de dados, como a fração de posts tóxicos ou a fração de execuções de agentes bem-sucedidas. Contar rótulos de máquina dá uma taxa enviesada sempre que os erros do modelo pendem para um lado. Contar só a amostra humana dá uma taxa não enviesada com um intervalo largo.
A inferência potencializada por predição (prediction-powered inference, Angelopoulos et al., 2023) combina as duas. Ela calcula a taxa a partir dos rótulos de máquina em todos os itens e depois a corrige pelo erro médio do modelo na amostra rotulada por pessoas. O intervalo é válido seja qual for a qualidade do modelo. O PPI++ ajusta quanto peso os rótulos de máquina recebem, de modo que um bom modelo deixa o intervalo mais estreito do que as pessoas sozinhas conseguiriam e um modelo ruim não o deixa mais largo. Quando a amostra humana foi sorteada com probabilidades desiguais, um estimador de diferenças de Horvitz-Thompson cumpre o mesmo papel.
No exemplo de traces de agentes que vem com o Potato, um juiz LLM avaliou 288 traces sintéticos de agentes escritos para o exemplo, cada um com um resultado de referência, e disse que 76% tiveram sucesso. O intervalo de inferência potencializada por predição obtido com o mesmo juiz e uma amostra humana foi 0,66 [0,57; 0,76], e a taxa de referência nos dados era 0,60. O juiz acertou 80% dos traces individuais e ainda assim superestimou a taxa em 16 pontos, porque seus erros pendiam para "sucesso".
O teste do anotador alternativo
Uma meta fixa de acurácia pode ser a pergunta errada quando as pessoas discordam. Se dois anotadores cuidadosos concordam em 85% dos itens, não há como mostrar que algum rotulador está 95% "certo", porque a referência também tem ruído. O teste do anotador alternativo (Calderon et al., 2025) faz uma pergunta relativa. Deixando de fora uma pessoa de cada vez, ele testa se o modelo concorda com as pessoas restantes pelo menos tão frequentemente quanto a pessoa deixada de fora, dentro de uma margem. Ele precisa de itens rotulados por várias pessoas, e a implementação do Potato espera por pelo menos três anotadores com 30 itens cada. Concordância de juízes LLM trata da versão dessa comparação baseada em kappa e de como verificar a calibração de um juiz.
Contratos no motor de rotulagem do Potato
A partir da versão 2.11, o motor de rotulagem do Potato executa esses testes como contratos. Ele sorteia a amostra aleatória e cega, a serve aos anotadores com todas as respostas de máquina escondidas, divide-a em dev e cert e certifica conforme os rótulos chegam. Esta configuração mantém os rótulos de sentimento de um LLM onde no máximo 10% estão errados com 90% de confiança e relata a prevalência de cada rótulo com um intervalo de 90%:
assignment_strategy: engine
labeling_engine:
enabled: true
sources:
- id: llm
kind: llm
endpoint_type: vllm
model: google/gemma-4-12B-it-qat-w4a16-ct
base_url: http://localhost:8001/v1
confidence: {method: logprob}
contracts:
- id: accuracy
kind: selective_risk
schema: sentiment
error: 0.1
confidence: 0.9
- id: prevalence
kind: ppi
schema: sentiment
confidence: 0.9
budgets:
human_labels: 400Um confidence de 0.9 é o padrão do Potato para todos os contratos. A fonte lê a confiança a partir das log-probabilidades dos tokens porque um limiar precisa de uma confiança que separe respostas certas de erradas, e uma confiança que o modelo declara em palavras é o menos confiável dos métodos que o Potato oferece. O exemplo de texto do Potato processa 481 resenhas com o Laya primeiro e este LLM como último nível. Nessa execução, o contrato de 10% foi cumprido com 165 rótulos humanos, e o motor aceitou 316 rótulos de máquina, todos do LLM, porque o limiar do Laya nunca foi fixado. O erro medido deles em relação aos rótulos de referência foi de 7,6%. potato label certificate config.yaml imprime o que foi testado, com quantos rótulos e com quais versões de modelo e de prompt.
Limites da certificação por amostra cega
Todas essas garantias tratam da concordância com as pessoas que rotularam a amostra. Se elas forem descuidadas ou mal treinadas, um contrato cumprido certifica concordância com pessoas descuidadas, então verifique os anotadores com sobreposição e controle de qualidade antes de confiar em um certificado.
Uma confiança que nunca varia não dá a um limiar nada para separar. O juiz do exemplo de traces de agentes deu confiança 1,0 a todos os traces, então nenhum limiar podia passar, e o Potato marca um contrato assim como infeasible em vez de aceitar tudo. O intervalo de prevalência funcionou mesmo assim com os mesmos dados, porque não depende da confiança.
Em tarefas subjetivas, em que as pessoas discordam por motivos que pertencem aos dados, pode não existir uma única resposta certa por item. Nesse caso, compare a distribuição de rótulos do modelo com a forma como as pessoas se dividem, o que o contrato distributional do Potato relata em relação a um teto de ruído calculado por divisão em metades. Rode potato label status config.yaml depois da primeira passagem para ver quantos rótulos humanos a mais cada contrato precisa antes de poder passar.
Leitura adicional
- Contratos do motor de rotulagem, com as opções e os modos de falha de cada contrato
- Concordância de juízes LLM e pré-anotação com LLM
- Rótulos com barras de erro, sobre a incerteza nos próprios rótulos humanos
- Rotulagem automática com IA comparada, sobre o que seis ferramentas de anotação relatam a respeito de rótulos de máquina
Referências
- Angelopoulos, A. N., Bates, S., Candès, E. J., et al. (2025). Learn then test: Calibrating predictive algorithms to achieve risk control. The Annals of Applied Statistics. https://doi.org/10.1214/24-AOAS1998
- Angelopoulos, A. N., Bates, S., Fannjiang, C., et al. (2023). Prediction-powered inference. Science, 382(6671). https://doi.org/10.1126/science.adi6000
- Angelopoulos, A. N., Duchi, J. C., and Zrnic, T. (2023). PPI++: Efficient prediction-powered inference. arXiv. https://arxiv.org/abs/2311.01453
- Calderon, N., Reichart, R., and Dror, R. (2025). The alternative annotator test for LLM-as-a-judge: How to statistically justify replacing human annotators with LLMs. Proceedings of ACL 2025. https://aclanthology.org/2025.acl-long.782/