---
title: "Top-p sampling (PT)"
source: "https://systems-analysis.info/int/Top-p_sampling_(PT)"
wiki: "systems-analysis.info/int"
article: "Top-p_sampling_(PT)"
language: "pt"
categories:
  - "Category:Large language models"
  - "Category:LLM core concepts"
  - "Category:Machine learning"
  - "Category:Portuguese"
revision_id: 8221
wiki_created_at: 2026-09-07T01:14:07Z
wiki_modified_at: 2026-09-07T01:14:07Z
downloaded_at: 2026-09-07T23:24:07Z
---

# Top-p sampling (PT)

**Amostragem Top-p**, também conhecida como **amostragem por núcleo** (em inglês, *Nucleus Sampling*), é um método de decodificação estocástica usado em grandes modelos de linguagem (LLMs) para a geração de texto. O método foi proposto em 2019 por Ari Holtzman et al. como uma alternativa aprimorada à amostragem Top-k fixa. Sua ideia é selecionar dinamicamente um conjunto de candidatos a cada passo da geração, com base em um limiar de probabilidade cumulativa $p$.<sup>[\[1\]](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_note-holtzman2019-1)</sup>

## Conceito

A ideia principal do Top-p é, a cada passo, selecionar o **menor** conjunto de tokens mais prováveis cuja probabilidade acumulada seja igual ou superior a um limiar $p$ predefinido (o *núcleo*, em inglês *nucleus*). Matematicamente, para uma distribuição condicional $P(x \mid x_{1:i - 1})$ sobre um vocabulário $V$, o núcleo $V^{(p)}$ pode ser definido como:

$\sum\limits_{x \in V^{(p)}}P(x \mid x_{1:i - 1}) \geq p\quad\text{e}\quad\forall\, S \subset V^{(p)}:\ \sum\limits_{x \in S}P(x \mid x_{1:i - 1}) < p.$

Uma formulação equivalente é: ordenar os tokens em ordem decrescente de $P(x \mid x_{1:i - 1})$ e selecionar o **prefixo mais curto** cuja massa de probabilidade acumulada seja ≥ $p$.<sup>[\[1\]](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_note-holtzman2019-1)</sup>

Após a definição do núcleo, as probabilidades dos tokens fora de $V^{(p)}$ são zeradas, e as probabilidades dentro do núcleo são normalizadas (para que sua soma seja igual a 1). O próximo token é então amostrado a partir dessa distribuição truncada.

### Adaptação dinâmica

- Em uma distribuição "aguda" (quando o modelo está confiante), o núcleo é pequeno: poucos tokens já alcançam a massa ≥ $p$, o que aumenta a coerência.
- Em uma distribuição "plana" (quando há muitas continuações plausíveis), o núcleo é grande: a seleção se expande, aumentando a diversidade.<sup>[\[1\]](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_note-holtzman2019-1)</sup>

## Comparação com outros métodos de decodificação

### Top-p vs. Top-k

- O **Top-k** sempre seleciona a partir de um número fixo $k$ de tokens mais prováveis. Em distribuições "agudas", isso pode adicionar opções desnecessárias e de baixa probabilidade apenas para atingir o número $k$, enquanto em distribuições "planas", pode, ao contrário, cortar continuações razoáveis que não ficaram entre as $k$ primeiras.
- O **Top-p** ajusta o tamanho do conjunto de candidatos com base nos dados de cada passo, o que torna seu comportamento mais flexível e estável em diferentes tipos de distribuição.<sup>[\[1\]](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_note-holtzman2019-1)</sup>

### Top-p vs. Temperatura

- A **Temperatura** (*temperature*) remodela toda a forma da distribuição (tornando-a mais aguda ou mais suave), mas **não corta** tokens: mesmo as opções de baixa probabilidade mantêm uma chance diferente de zero.<sup>[\[2\]](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_note-hf-gen-2)</sup>
- O **Top-p** introduz um **truncamento rígido da cauda** da distribuição — tokens de baixa probabilidade são completamente excluídos da amostragem, o que ajuda a evitar continuações claramente inadequadas.<sup>[\[1\]](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_note-holtzman2019-1)</sup>

Conselho prático dos provedores: ao ajustar o estilo/aleatoriedade, geralmente se modifica **ou** \`temperature\` **ou** \`top_p\`, mas não ambos ao mesmo tempo, para evitar um impacto "duplo" na distribuição e simplificar o diagnóstico.<sup>[\[3\]](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_note-azure-rec-3)</sup>

## Aplicação prática e recomendações

O Top-p é amplamente utilizado nos LLMs modernos devido à sua combinação de flexibilidade e controlabilidade.

- **Faixa de valores típica.** Na prática, valores de $p \approx 0.90\text{–}0.95$ são frequentemente usados (consulte guias e exemplos em Transformers; em muitos SDKs, o valor **0.95** é encontrado como padrão ou recomendado em exemplos).<sup>[\[2\]](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_note-hf-gen-2)[\[4\]](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_note-vertex-params-4)</sup>
  - Valores próximos de 1.0 (por exemplo, 0.98–0.99) aumentam a diversidade, pois mais tokens entram no núcleo.
  - Valores menores (por exemplo, 0.80–0.90) aumentam o determinismo e a "contenção" da saída.
  - Com $p = 1$, o truncamento desaparece: a seleção ocorre em todo o vocabulário (levando em conta a temperatura).<sup>[\[2\]](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_note-hf-gen-2)</sup>

<!-- -->

- **Compatibilidade com bibliotecas e APIs.**
  - Na biblioteca Transformers, está implementado o *TopPLogitsWarper*, que utiliza adicionalmente um limiar \`min_tokens_to_keep\` (geralmente ≥1) para evitar a degeneração do núcleo com valores de $p$ muito baixos e distribuições "agudas".<sup>[\[5\]](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_note-hf-warp-5)</sup>
  - Em várias APIs, o parâmetro \`top_p\` está disponível, enquanto \`top_k\` pode estar ausente; o suporte aos parâmetros e sua semântica **dependem do modelo/provedor específico** (por exemplo, alguns modelos de raciocínio podem restringir o ajuste da estocasticidade). Consulte os manuais oficiais da OpenAI/Azure/Google.<sup>[\[6\]](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_note-openai-top-p-6)[\[3\]](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_note-azure-rec-3)[\[4\]](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_note-vertex-params-4)</sup>

<!-- -->

- **Textos longos e repetitividade.** Em uma série de experimentos, foi demonstrado que a amostragem por núcleo (nucleus sampling) reduz a tendência à degeneração (repetições, frases clichês) em comparação com a busca gulosa (greedy), busca por feixe (beam search) e Top-k fixo, especialmente em sequências longas.<sup>[\[1\]](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_note-holtzman2019-1)[\[7\]](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_note-tan2024-7)</sup>

## Ver também

- Temperatura
- Grandes modelos de linguagem

## Leitura adicional

- 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>.
- 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>.
- 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>.
- Yu, S. et al. (2023). *Conformal Nucleus Sampling*. <a href="https://aclanthology.org/2023.findings-acl.3.pdf" class="external text" rel="nofollow">ACL Findings 2023</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>.
- 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>.
- 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>.

## Notas

1.  <span id="cite_note-holtzman2019-1">↑ <sup>[1.0](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_ref-holtzman2019_1-0)</sup> <sup>[1.1](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_ref-holtzman2019_1-1)</sup> <sup>[1.2](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_ref-holtzman2019_1-2)</sup> <sup>[1.3](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_ref-holtzman2019_1-3)</sup> <sup>[1.4](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_ref-holtzman2019_1-4)</sup> <sup>[1.5](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_ref-holtzman2019_1-5)</sup> Holtzman, A., Buys, J., Du, L., Forbes, M., & Choi, Y. (2019). *The Curious Case of Neural Text Degeneration*. arXiv:1904.09751. <a href="https://arxiv.org/abs/1904.09751" class="external autonumber" rel="nofollow">[1]</a></span>
2.  <span id="cite_note-hf-gen-2">↑ <sup>[2.0](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_ref-hf-gen_2-0)</sup> <sup>[2.1](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_ref-hf-gen_2-1)</sup> <sup>[2.2](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_ref-hf-gen_2-2)</sup> Hugging Face Transformers. *Generation strategies (top‑k, top‑p, temperature)*. <a href="https://huggingface.co/docs/transformers/main/en/generation_strategies" class="external autonumber" rel="nofollow">[2]</a></span>
3.  <span id="cite_note-azure-rec-3">↑ <sup>[3.0](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_ref-azure-rec_3-0)</sup> <sup>[3.1](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_ref-azure-rec_3-1)</sup> Microsoft Learn (Azure OpenAI). *Text/Chat Completions — parameters*. Recomendação para "alterar \`temperature\` **ou** \`top_p\`, mas não ambos ao mesmo tempo". <a href="https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/completions" class="external autonumber" rel="nofollow">[3]</a></span>
4.  <span id="cite_note-vertex-params-4">↑ <sup>[4.0](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_ref-vertex-params_4-0)</sup> <sup>[4.1](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_ref-vertex-params_4-1)</sup> Google AI / Vertex AI. *Generation parameters (topP/topK) for text/Gemini*. Exemplos com topP≈0.95. <a href="https://ai.google.dev/gemini-api/docs/parameters" class="external autonumber" rel="nofollow">[4]</a> <a href="https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/text#parameters" class="external autonumber" rel="nofollow">[5]</a></span>
5.  <span id="cite_note-hf-warp-5">[↑](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_ref-hf-warp_5-0) Transformers API. *TopPLogitsWarper* (parâmetros e comportamento, incluindo \`min_tokens_to_keep\`). <a href="https://huggingface.co/docs/transformers/main/en/main_classes/text_generation#transformers.TopPLogitsWarper" class="external autonumber" rel="nofollow">[6]</a></span>
6.  <span id="cite_note-openai-top-p-6">[↑](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_ref-openai-top-p_6-0) OpenAI API Reference. *top_p*. <a href="https://platform.openai.com/docs/api-reference/chat/create#chat-create-top_p" class="external autonumber" rel="nofollow">[7]</a></span>
7.  <span id="cite_note-tan2024-7">[↑](https://systems-analysis.info/int/Top-p_sampling_(PT)#cite_ref-tan2024_7-0) Tan, Q. et al. (2024). *A Thorough Examination of Decoding Methods in the Era of Large Language Models*. arXiv:2402.06925. <a href="https://arxiv.org/abs/2402.06925" class="external autonumber" rel="nofollow">[8]</a></span>
