Top-k sampling (PT)
Amostragem Top-k é um método de decodificação estocástica usado em grandes modelos de linguagem (LLMs) para gerar texto. Seu objetivo principal é limitar a seleção do próximo token a um número fixo () dos candidatos mais prováveis, o que evita a geração de palavras improváveis e frequentemente inadequadas. Este método foi um dos primeiros aprimoramentos da amostragem aleatória simples e, por muito tempo, foi uma maneira popular de melhorar a coerência do texto gerado.
Conceito e matemática
A cada passo da geração de texto, um modelo de linguagem padrão produz uma distribuição de probabilidade sobre todo o vocabulário . A amostragem Top-k modifica esse processo da seguinte forma:
1. Seleção de candidatos: De todo o vocabulário, um subconjunto é selecionado, consistindo nos tokens com as maiores probabilidades.
2. Truncamento: As probabilidades de todos os tokens que não estão em são zeradas.
3. Redistribuição (normalização): As probabilidades dos tokens restantes são reescalonadas para que sua nova soma seja igual a 1.
4. Amostragem: O próximo token é selecionado aleatoriamente a partir dessa nova distribuição truncada.
Dessa forma, a amostragem Top-k introduz um limite rígido no número de candidatos: palavras com um ranking de probabilidade inferior a nunca serão selecionadas.
Influência do parâmetro
- pequeno (por exemplo, – ): Torna a geração mais conservadora e previsível. O modelo seleciona apenas de um conjunto muito limitado das palavras mais prováveis. Isso aumenta a coerência, mas pode levar a um texto repetitivo e monótono.
- grande (por exemplo, – ): Aumenta a diversidade e a criatividade do texto, pois mais opções são incluídas na amostragem. No entanto, isso também aumenta o risco de incluir tokens menos relevantes ou inadequados.
- Casos limite:
- : Equivalente à decodificação gulosa (greedy decoding). O modelo sempre escolhe o token mais provável.
- = tamanho do vocabulário: Equivalente à amostragem padrão da distribuição completa, sem truncamento.
Significado histórico
O método Top-k foi formalmente proposto em 2018 por Angela Fan e seus colegas como uma solução eficaz para o problema da degradação da qualidade do texto ao usar a amostragem aleatória completa. Eles demonstraram que limitar a amostragem a um pequeno número de candidatos melhora significativamente a coesão e o sentido das histórias geradas.
Por exemplo, nas primeiras versões do GPT-2, era utilizado o parâmetro `top_k=40`, o que permitia ao modelo gerar textos longos e coerentes, algo inatingível com métodos anteriores.
Comparação com outros métodos de decodificação
Top-k vs. Top-p
O Top-k foi em grande parte superado por um método mais avançado — a amostragem Top-p (nucleus).
- A principal desvantagem do Top-k é sua falta de adaptabilidade. Um valor fixo de não leva em conta a forma da distribuição de probabilidade:
- Quando a distribuição é aguda (o modelo tem certeza sobre alguns tokens), o Top-k pode expandir artificialmente a amostra, incluindo candidatos improváveis.
- Quando a distribuição é plana (o modelo está incerto e muitos tokens têm probabilidades semelhantes), o Top-k pode truncar prematuramente muitas opções adequadas.
- O Top-p, por outro lado, adapta dinamicamente o tamanho da amostra, selecionando tokens com base em sua probabilidade cumulativa. Isso o torna mais flexível e robusto.
Top-k vs. Temperatura
- A Temperatura altera a forma de toda a distribuição de probabilidade, mas não trunca tokens. Ela afeta as probabilidades relativas de todos os candidatos.
- O Top-k introduz um truncamento rígido, excluindo completamente os tokens fora do top-.
Na prática, o Top-k pode ser usado em conjunto com a temperatura: primeiro, a temperatura modifica a distribuição e, em seguida, o Top-k trunca os candidatos.
Aplicação prática
Embora a amostragem Top-p seja hoje considerada preferível, o Top-k ainda é utilizado em alguns casos, especialmente quando se requer um controle simples e intuitivo sobre o tamanho da amostra.
- Valores típicos: Na prática, utilizam-se valores de entre 20 e 100, dependendo do equilíbrio desejado entre coerência e diversidade.
- Recomendações: Para a maioria das tarefas, recomenda-se o uso do Top-p. Se, ainda assim, o Top-k for utilizado, ele deve ser combinado com uma temperatura moderada e o valor de deve ser cuidadosamente ajustado para a tarefa específica.
Ver também
- Grandes modelos de linguagem
Literatura
- Fan, A. et al. (2018). Hierarchical Neural Story Generation. arXiv:1805.04833.
- Holtzman, A. et al. (2020). The Curious Case of Neural Text Degeneration. arXiv:1904.09751.
- Holtzman, A. et al. (2024). Closing the Curious Case of Neural Text Degeneration. OpenReview:dONpC9GL1o.
- Meister, C. et al. (2023). Locally Typical Sampling. arXiv:2202.00666.
- Su, Y.; Collier, N. (2022). Contrastive Search Is What You Need for Neural Text Generation. arXiv:2210.14140.
- O’Brien, S.; Lewis, M. (2023). Contrastive Decoding Improves Reasoning in Large Language Models. arXiv:2309.09117.
- Finlayson, M. et al. (2024). Basis-Aware Truncation Sampling for Neural Text Generation. arXiv:2412.14352.
- Tan, Q. et al. (2024). A Thorough Examination of Decoding Methods in the Era of Large Language Models. arXiv:2402.06925.
- Yu, S. et al. (2023). Conformal Nucleus Sampling. arXiv:2305.02633.
- Chen, S. J. et al. (2025). Decoding Game: On Minimax Optimality of Heuristic Text Generation Methods. arXiv:2410.03968.
- Sen, J. et al. (2025). Advancing Decoding Strategies: Enhancements in Locally Typical Sampling for LLMs. arXiv:2506.05387.