É possível confiar nas probabilidades?
Esta página responde a uma pergunta: é possível confiar nessas cifras de confiança?
A conclusão logo de início: “a forma da saída é garantida” e “a probabilidade é precisa” são duas afirmações inteiramente diferentes. A primeira foi verificada de várias direções. A segunda está sendo contestada publicamente. Qualquer pessoa que coloque um modelo de decisão atrás de um gate de produção deve tratar a confiança relatada pelo fornecedor ou pelo projeto como uma prior a ser calibrada, não como uma garantia.
O que é calibração
Um modelo diz “tenho 80% de certeza”. Se você reunir tudo o que ele disse a 80% e exatamente 80% desses casos estiverem certos, o número está calibrado. Se menos estiverem certos, ele é superconfiante.
A métrica usual é o ECE (Expected Calibration Error, erro de calibração esperado): agrupe as previsões por confiança, compare a confiança média de cada grupo com sua precisão real e tire a média ponderada pelo tamanho dos grupos. Quanto menor, melhor.
Calibração e precisão são eixos independentes. Um modelo muito preciso pode ser muito superconfiante (especialmente na fatia mais difícil), e um modelo medíocre pode ser bem calibrado. Você verá os dois abaixo.
Correção 1: escala de temperatura
A correção mais barata e mais geral. A ideia: a ordenação das opções pelo modelo geralmente está certa, mas a escala está errada — superconfiança significa que tudo fica perto demais de 0 e 1. Um único parâmetro de temperatura, ajustado num conjunto de validação, achata ou aguça a distribuição.
Uma réplica que entrega uma avaliação offline executável relata:
Escala de temperatura mais abstenção conformal leva o ECE de 0.170 para 0.071 (validado de forma cruzada).
Observe “validado de forma cruzada”: não foi ajustado e avaliado sobre os mesmos dados. Essa é a diferença entre um número em que vale confiar e um em que não vale.
Correção 2: abstenção conformal
A escala de temperatura corrige a escala. Os métodos conformais decidem quando não responder.
Em vez de tornar cada probabilidade correta, eles produzem um conjunto de abstenção e garantem que a resposta verdadeira caia dentro dele em pelo menos alguma fração declarada do tempo (uma garantia de cobertura). Casos que não atingem a barra são escalonados em vez de processados automaticamente.
Em projetos reais:
- Uma alternativa aberta de 118M usa escala de temperatura mais um conjunto de abstenção split-conformal e relata ECE de 0.01–0.03 em suítes públicas — ao mesmo tempo em que declara claramente que, em benchmarks de decisão tipada, ela perde para a Laya (0.71 vs 0.77). Um projeto que publica suas derrotas é mais informativo do que um que só publica vitórias.
- Uma implementação médica usa dois leitores locais congelados mais um roteador sem ajuste e um conjunto de candidatos split-conformal para limitar o erro, chegando a até 2 pontos de distância do serviço hospedado em três exames nacionais de licenciamento de 600 itens, sem ajuste fino e sem destilação.
O que ambos têm em comum: nenhum afirma que as probabilidades se tornaram precisas. Eles afirmam saber quando não são. Num sistema real, é sobre a segunda afirmação que você consegue colocar um gate.
Um resultado independente contraintuitivo: o viés tem sinais opostos
Um teste de calibração independente usou 900 tickets gerados por regras (que o modelo não pode ter visto) mais três benchmarks públicos, publicou cada resposta bruta e um ECE contra um piso de ruído simulado, e chegou a uma conclusão sobre o sinal:
| Primitiva | Direção do viés |
|---|---|
Choice |
sistematicamente superconfiante |
Score |
sistematicamente superconfiante |
Boolean (Noul) |
sistematicamente subconfiante |
O valor está no sinal. Se o viés fosse aleatório, uma temperatura global o corrigiria. Direções opostas significam que uma única correção global não consegue — você precisa calibrar por primitiva, no mínimo.
Isso também explica uma falha de projeto específica: se um sistema compara confianças de Noul e Choice
contra o mesmo limiar, ele mede a mesma coisa com uma régua curta demais e outra longa demais.
O idioma de entrada também afeta a calibração
Outra medição, sobre um corpus em espanhol de 3,200 itens rotulados por humanos:
Escrever o estado em espanhol custou de 3.0 a 6.4 pontos de precisão e aproximadamente dobrou o ECE em XNLI / PAWS-X, enquanto escrever as instruções em espanhol não teve efeito.
A distinção entre estado e instrução é o ponto: o estado é conteúdo, as instruções são metadados. Isso importa especialmente para leitores de chinês e japonês — os estados deles muito provavelmente seguirão um caminho semelhante, e ninguém publicou uma medição disso. Não há razão para presumir que não esteja acontecendo no seu idioma.
Então como o limiar é escolhido?
Tudo acima desemboca na mesma pergunta: de onde veio aquele 0.8?
A resposta reproduzível é meça, não adivinhe: pegue seus próprios dados rotulados, ajuste o limiar por pergunta que atinge a precisão desejada e valide-o num conjunto de validação.
Uma ferramenta faz exatamente isso e acrescenta o passo que mais importa: ela falha o CI quando uma atualização do modelo quebra um limiar travado. Limiares expiram como preços — só que um preço errado é notado e um limiar errado não.
Em uma frase
Trate a confiança como uma prior, não como uma garantia. Meça a faixa confiável sobre os seus próprios dados primeiro, depois escreva essa faixa no código.