A camada final do modelo produz um vetor de tamanho V (tamanho do vocabulário, tipicamente 32K–128K). Cada elemento é um logit para aquele token. Softmax converte estes em probabilidades: P(token_i) = exp(logit_i) / ∑ exp(logit_j). Antes do softmax, os logits podem ser qualquer número real — positivo, negativo ou zero. Um logit de 10 vs. 5 significa que o modelo considera o primeiro token cerca de e^5 ≈ 150x mais provável.
Várias técnicas trabalham diretamente com logits. Temperatura divide todos os logits por T antes do softmax (T<1 aguza, T>1 aplana). Top-k zera todos os logits exceto os k mais altos. Top-p (amostragem nucleus) zera logits para tokens fora do menor conjunto cuja probabilidade acumulada excede p. Logit bias adiciona um offset fixo aos logits de tokens específicos — adicionar +10 ao logit para "JSON" faz o modelo preferir fortemente começar com JSON. Penalidade de repetição reduz logits de tokens recentemente gerados.
A maioria das APIs pode retornar log-probabilidades (logaritmo da saída do softmax) junto com tokens gerados. Estas são úteis para: medir confiança do modelo (log-prob baixo = incerto), calibrar saídas (predições com 90% de confiança estão corretas 90% das vezes?) e construir classificadores a partir de LLMs (comparar log-probs de diferentes completions). Log-probs são mais numericamente estáveis que probabilidades brutas para valores extremos.