Top-k Sampling
Definição em uma frase: mantém apenas os tokens de maior probabilidade e sorteia dentro deles.
Mecanismo
import numpy as np
def top_k_filter(p, k):
keep = np.argsort(-p)[:k]
m = np.zeros(len(p), dtype=bool); m[keep] = True
return p * m / (p * m).sum()Quando ainda faz sentido
- Custo computacional previsível: você sabe exatamente quantos candidatos serão avaliados.
- Top-k é uma restrição rígida de qualidade: nunca sai nada abaixo do rank . Em sistemas onde “não pode sair besteira” importa mais do que criatividade, é uma rede de segurança útil.
- Em muitos modelos atuais via API,
top_knem está exposto — o padrão é top-p.
Erro comum
Usar fixo sem considerar a distribuição. Com e o modelo muito confiante, você mantém 50 candidatos quando 1 bastava, introduzindo ruído. Com e o modelo perdido, você corta a resposta certa. Confiança e precisam andar juntos — é o que o top-p faz automaticamente.
Autoavaliação
- P: Top-k com é o que? R: greedy decoding (argmax) — exatamente equivalente a .
- P: Por que top-k puro é mais frágil que top-p? R: é escolhido às cegas, sem considerar se a distribuição está plana ou concentrada.
Onde vi isso
- Visto em: Temperatura e previsibilidade
Ver também
Atualizado em 2026-09-30