Avançado

Sampling: temperature, top-k, top-p e min-p

Decoding transforma probabilidades do próximo token em texto; temperature e regras de truncamento equilibram previsibilidade e diversidade.

Atualizada em

1

Conceito

Depois que a última camada do Transformer processa o contexto atual, a cabeça do modelo de linguagem produz um logit para cada token do vocabulário. Logits são pontuações sem limites fixos, não probabilidades. Softmax os converte numa distribuição. A geração ainda precisa de uma decisão: qual token será anexado? A família de regras que faz essa escolha recebe o nome de decoding.

A regra mais simples é greedy decoding: selecionar sempre o token de maior probabilidade. O método é determinístico e barato, mas escolhas localmente melhores não garantem a melhor sequência completa. A saída pode ficar repetitiva ou sem variedade, e uma decisão inicial não pode ser reconsiderada. No extremo oposto, sampling sobre a distribuição inteira preserva toda probabilidade minúscula da cauda. Isso permite linguagem surpreendente, mas também pode selecionar tokens que o próprio modelo julgou implausíveis.

Temperature muda o formato da distribuição antes de sampling. Para logits ziz_i e uma temperature positiva TT, as probabilidades são calculadas por

pi=exp(zi/T)jexp(zj/T).p_i = \frac{\exp(z_i/T)}{\sum_j \exp(z_j/T)}.

Quando T<1T<1, a divisão por um número pequeno amplia as diferenças entre logits. A distribuição fica mais concentrada, e tokens bem ranqueados dominam. Quando TT se aproxima de zero, o comportamento se aproxima de greedy decoding. Se T>1T>1, as diferenças diminuem e a distribuição fica mais plana, dando mais chance a tokens inferiores. Temperature igual a um preserva o softmax original. Ela não é um botão semântico de criatividade; é uma reescala precisa da confiança.

Top-k sampling ordena tokens por probabilidade e mantém apenas os kk primeiros. Todas as outras probabilidades viram zero, e as sobreviventes são renormalizadas antes da escolha. Isso impede entradas vindas do fim extremo da cauda. A fragilidade está na quantidade fixa de candidatos. Numa etapa óbvia como “dois mais dois são”, até dez opções podem ser permissivas demais. Numa lista aberta de nomes, dez talvez restrinjam sem necessidade.

Top-p sampling, também chamado nucleus sampling, adapta-se à distribuição. Ordene os tokens do mais ao menos provável e retenha o menor prefixo cuja probabilidade acumulada alcance pelo menos pp. Se o modelo estiver confiante, poucos tokens podem cobrir 90% da massa. Se a incerteza estiver espalhada, muitos serão necessários. O conjunto de candidatos expande e contrai conforme o contexto. Implementações divergem em detalhes, como incluir sempre o token que cruza o limite; reproduzir um resultado exige conhecer o sampler exato.

Min-p sampling usa o token mais provável como referência. Uma formulação comum remove candidatos cuja probabilidade esteja abaixo de uma fração da probabilidade máxima. Com limite α\alpha, preservam-se tokens que satisfazem piαpmaxp_i \geq \alpha p_{\max}. O método também se adapta à confiança: quando o melhor token domina, o corte sobe; quando a distribuição é plana, mais candidatos sobrevivem. Min-p não é uma probabilidade mínima absoluta e fixa.

Samplers podem ser combinados, e a ordem importa. Um runtime pode aplicar temperature, top-k, top-p, min-p, penalidades de repetição e outros processadores antes de renormalizar. Rótulos iguais não garantem saídas idênticas entre bibliotecas se a ordem, os defaults, o gerador pseudoaleatório ou a precisão numérica forem diferentes. Uma seed só ajuda na reprodução quando todo o caminho de execução é determinístico.

Os parâmetros interagem com a tarefa. Extração factual, conclusão de código e structured output costumam se beneficiar de escolhas restritas ou de baixa variância. Brainstorming tolera um conjunto mais amplo. Geração longa pode precisar de diversidade suficiente para evitar loops sem admitir a cauda incoerente. Não existe uma temperature universalmente correta. Configurações devem ser avaliadas em prompts representativos e com medidas de qualidade próprias da tarefa, não escolhidas por folclore.

Sampling tampouco adiciona conhecimento. Se o modelo atribui probabilidade desprezível à resposta correta, top-p pode removê-la, e aumentar temperature talvez apenas eleve muitos tokens errados junto dela. Em sentido contrário, temperature baixa pode tornar um modo confiante e incorreto ainda mais dominante. Retrieval, ferramentas, treinamento melhor ou restrições explícitas atacam outros tipos de falha. Decoding apenas redistribui e seleciona pontuações que o modelo já produziu.

Em produção, registre a versão do modelo, o tokenizer, toda a configuração de decoding, a política de seeds e a implementação do runtime. Meça não apenas a qualidade média, mas taxas de falha, repetição, validade de formato, latência e uso de tokens. Uma configuração que parece interessante num exemplo isolado pode ser instável em milhares de requisições.

A sequência mental confiável é: o modelo produz logits; temperature os remodela; métodos de truncamento removem candidatos; a renormalização restaura uma distribuição; um sorteio pseudoaleatório escolhe um token; o token entra no contexto; e a inferência se repete. Separar a pontuação do modelo da escolha do decoder torna o comportamento de geração muito mais fácil de analisar.

2

Como explicar para uma criança de cinco anos

Pense em uma chef escolhendo o prato do dia a partir de um cardápio ranqueado. Greedy decoding sempre serve o prato mais bem avaliado: o jantar fica consistente, mas repetitivo. Temperature muda a força com que as avaliações influenciam a escolha. Top-k permite apenas os k melhores pratos. Top-p mantém o menor grupo cuja popularidade combinada alcança um limite. Min-p remove pratos com popularidade minúscula em relação ao favorito. Nenhuma regra melhora as receitas; elas só mudam a escolha entre opções que o modelo já ofereceu.

3

Ensine de volta

Explique como temperature e um método de truncamento modificam a distribuição do próximo token. Deixe claro por que decoding não corrige um modelo que atribuiu probabilidade quase nula ao token adequado.

Mínimo: 80 caracteres e 15 palavras. Seu texto fica somente neste navegador.

Salvo somente neste dispositivo.

Ver uma resposta-modelo

Temperature reescala os logits antes de softmax: valores abaixo de um acentuam diferenças, enquanto valores acima de um achatam a distribuição. Top-p ordena os tokens e preserva o menor conjunto cuja probabilidade acumulada cruza um limite, adaptando a quantidade de candidatos ao formato da distribuição. Sampling escolhe entre as probabilidades restantes e renormalizadas. Essas operações suprimem ou destacam candidatos já pontuados, mas não criam evidência nem recuperam com segurança um token correto colocado no fundo da cauda.

4

Teste seu entendimento

1. O que acontece quando temperature se aproxima de zero?
Resposta e explicação

A distribuição fica cada vez mais concentrada no token de maior logit — Dividir logits por uma temperature positiva muito pequena amplia suas diferenças e aproxima a escolha de greedy decoding.

2. Como top-p difere de top-k?
Resposta e explicação

Top-p adapta a quantidade de tokens preservados à massa de probabilidade acumulada — Uma distribuição concentrada pode atingir o limite de top-p com poucos tokens; uma distribuição plana pode exigir muitos. Top-k mantém uma quantidade fixa.

Conclua o teach-back e acerte o quiz para finalizar a aula.

Fontes

  1. Ari Holtzman, Jan Buys, Li Du, Maxwell Forbes e Yejin Choi (2020). The Curious Case of Neural Text Degeneration.
  2. Angela Fan, Mike Lewis e Yann Dauphin (2018). Hierarchical Neural Story Generation.