---
title: "Top-k sampling (PT)"
source: "https://systems-analysis.info/int/Top-k_sampling_(PT)"
wiki: "systems-analysis.info/int"
article: "Top-k_sampling_(PT)"
language: "pt"
categories:
  - "Category:Core LLM concepts"
  - "Category:Large language models"
  - "Category:LLM core concepts"
  - "Category:Machine learning"
  - "Category:Portuguese"
revision_id: 8195
wiki_created_at: 2026-09-07T01:13:41Z
wiki_modified_at: 2026-09-07T01:13:41Z
downloaded_at: 2026-09-07T23:23:52Z
---

# 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 ($k$) 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 $P(x|x_{1:i - 1})$ sobre todo o vocabulário $V$. A amostragem Top-k modifica esse processo da seguinte forma:

1\. **Seleção de candidatos:** De todo o vocabulário, um subconjunto $V^{(k)}$ é selecionado, consistindo nos $k$ tokens com as maiores probabilidades.

2\. **Truncamento:** As probabilidades de todos os tokens que não estão em $V^{(k)}$ são zeradas.

3\. **Redistribuição (normalização):** As probabilidades dos $k$ 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 $k$ nunca serão selecionadas.

### Influência do parâmetro $k$

- **$k$ pequeno (por exemplo, $k = 5$ – $10$):** 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.
- **$k$ grande (por exemplo, $k = 50$ – $100$):** 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:**
  - **$k = 1$:** Equivalente à **decodificação gulosa (greedy decoding)**. O modelo sempre escolhe o token mais provável.
  - **$k$ = 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 $k$ 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-$k$.

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 $k$ 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 $k$ 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*. <a href="https://arxiv.org/abs/1805.04833" class="external text" rel="nofollow">arXiv:1805.04833</a>.
- Holtzman, A. et al. (2020). *The Curious Case of Neural Text Degeneration*. <a href="https://arxiv.org/abs/1904.09751" class="external text" rel="nofollow">arXiv:1904.09751</a>.
- Holtzman, A. et al. (2024). *Closing the Curious Case of Neural Text Degeneration*. <a href="https://openreview.net/pdf?id=dONpC9GL1o" class="external text" rel="nofollow">OpenReview:dONpC9GL1o</a>.
- Meister, C. et al. (2023). *Locally Typical Sampling*. <a href="https://arxiv.org/abs/2202.00666" class="external text" rel="nofollow">arXiv:2202.00666</a>.
- Su, Y.; Collier, N. (2022). *Contrastive Search Is What You Need for Neural Text Generation*. <a href="https://arxiv.org/abs/2210.14140" class="external text" rel="nofollow">arXiv:2210.14140</a>.
- O’Brien, S.; Lewis, M. (2023). *Contrastive Decoding Improves Reasoning in Large Language Models*. <a href="https://arxiv.org/abs/2309.09117" class="external text" rel="nofollow">arXiv:2309.09117</a>.
- Finlayson, M. et al. (2024). *Basis-Aware Truncation Sampling for Neural Text Generation*. <a href="https://arxiv.org/abs/2412.14352" class="external text" rel="nofollow">arXiv:2412.14352</a>.
- Tan, Q. et al. (2024). *A Thorough Examination of Decoding Methods in the Era of Large Language Models*. <a href="https://arxiv.org/abs/2402.06925" class="external text" rel="nofollow">arXiv:2402.06925</a>.
- Yu, S. et al. (2023). *Conformal Nucleus Sampling*. <a href="https://arxiv.org/abs/2305.02633" class="external text" rel="nofollow">arXiv:2305.02633</a>.
- Chen, S. J. et al. (2025). *Decoding Game: On Minimax Optimality of Heuristic Text Generation Methods*. <a href="https://arxiv.org/abs/2410.03968" class="external text" rel="nofollow">arXiv:2410.03968</a>.
- Sen, J. et al. (2025). *Advancing Decoding Strategies: Enhancements in Locally Typical Sampling for LLMs*. <a href="https://arxiv.org/abs/2506.05387" class="external text" rel="nofollow">arXiv:2506.05387</a>.
