Intermediário 11 minConfiguração

Temperatura, top-p, top-k: os parâmetros

Resposta direta

O top-p (amostragem por núcleo) mantém apenas os tokens mais prováveis cuja probabilidade acumulada atinge p, por exemplo 0,9. O top-k mantém um número fixo de candidatos, por exemplo 40. A temperatura regula o nível de aleatoriedade na escolha: perto de 0, o modelo escolhe quase sempre o token mais provável. Ollama inicia com temperatura 0,8, top-k 40 e top-p 0,9.

Três números aparecem em todos os ajustes de um modelo local: temperatura, top-p e top-k. Este guia explica o que cada um remove ou reposiciona na lista de palavras possíveis, com um exemplo numérico, os valores padrão de Ollama e de llama.cpp, as recomendações publicadas pelos responsáveis pelos modelos e a forma de aplicar esses ajustes.

Por Mohamed Meguedmi·Atualização 2026-09-29·Testado no Windows, macOS e Linux

#Top-p, top-k, temperatura: a definição em uma tabela

Para cada palavra gerada, um modelo calcula uma probabilidade para cada token de seu vocabulário. Os parâmetros de amostragem decidem então qual sortear. Top-p e top-k reduzem a lista de candidatos; a temperatura modifica a diferença entre os prováveis e os improváveis. Nenhum deles adiciona conhecimento ao modelo: eles apenas regulam a variedade e o risco.

O que cada parâmetro faz
ParâmetroSobre o que ele atuaValor baixoValor altoValor padrão do Ollama
temperatureDiferença entre tokens prováveis e improváveisRespostas mais determinísticasMais variedade, mais erros0,8
top_pTamanho da lista, definido pela probabilidade acumuladaLista curta, saída conservadoraLista ampla, com mais diversidade0,9
top_kNúmero máximo de candidatosPoucos candidatosMuitos candidatos40
min_pLimiar relativo à maior probabilidadeFiltragem leveFiltragem forte0,0 (desativado)
repeat_penaltyPenalização dos tokens usados recentementeMais repetiçõesMenos repetições, risco de resultados estranhos1,0 (desativado)

Esses valores padrão vêm da referência do Modelfile do Ollama. Muitos modelos fornecem seus próprios valores no arquivo de configuração, que então substituem esses padrões: daí a importância de ler a ficha do modelo, como veremos mais abaixo.

#Como um LLM escolhe a próxima palavra

O kit IA Local

Seu ChatGPT privado e gratuito na sua máquina em 1 hora — LM Studio, Ollama, Open WebUI, seus documentos, sem nuvem.

  • Espaço online vitalício
  • PDF + arquivos
  • Atualizações vitalícias

O modelo gera, para cada posição, uma distribuição de probabilidades sobre todo o seu vocabulário. Escolher sempre o token mais provável, o que é chamado de decodificação gulosa, resulta em textos sem graça, repetitivos e, às vezes, presos em um loop. Introduz-se, portanto, um sorteio aleatório, controlado pelos parâmetros de amostragem. Uma semente fixa (seed) torna esse sorteio reprodutível: a documentação do Ollama especifica que uma determinada semente produz o mesmo texto para o mesmo prompt.

A ordem em que os filtros são aplicados importa. No llama.cpp, o motor de inferência GGUF usado, entre outros, pelo LM Studio, a ordem padrão é: penalidades, DRY, top-n sigma, top-k, typical-p, top-p, min-p, XTC e, por último, temperatura. Ou seja, top-k e top-p atuam sobre as probabilidades originais, e a temperatura serve apenas para amostrar o que resta. Muitos tutoriais afirmam o contrário; a ordem real pode variar de um motor para outro e é configurada no llama.cpp pelo parâmetro --samplers.

i
O que muda para você
Como a temperatura é aplicada após os filtros no llama.cpp, aumentar a temperatura não introduz tokens absurdos que já foram descartados por top-k ou top-p: ela redistribui as chances entre os candidatos restantes.

#Um exemplo numérico: o que cada configuração retém

Vamos considerar sete candidatos para a próxima palavra, com suas probabilidades: 0,45 ; 0,25 ; 0,12 ; 0,08 ; 0,05 ; 0,03 ; 0,02. Esta tabela é um cálculo ilustrativo, não uma medição em um modelo real.

Quais candidatos permanecem, de acordo com o filtro
FiltroRegraCandidatos mantidosCobertura de probabilidade
NenhumTodo o vocabulário7100 %
top_k = 3Os 3 melhores382 %
top_p = 0,9Paramos quando o acumulado atinge 0,904 (0,45 + 0,25 + 0,12 + 0,08)90 %
top_p = 0,7Total acumulado de 0,70270 %
min_p = 0,1Manter os tokens com probabilidade superior a 10% da probabilidade do melhor token, ou seja, um limiar de 0,045595 %

O ponto a lembrar: o top-k sempre mantém o mesmo número de candidatos, independentemente da situação; top-p e min-p se adaptam. Quando o modelo está muito seguro (um token com 0,95), o top-p pode manter apenas um ou dois candidatos; quando hesita entre dez palavras, mantém mais. Por isso, o top-p é frequentemente preferido ao top-k.

#1. Temperatura: o botão do acaso

Antes do sorteio, a temperatura divide os logits do modelo. Com temperatura baixa, a diferença entre os tokens aumenta: o mais provável domina os outros. Com temperatura alta, a diferença diminui. A 0, o modelo escolhe sempre o token mais provável e produz saídas idênticas em cada tentativa, o que a documentação do llama.cpp confirma.

Efeito da temperatura no exemplo anterior (cálculo ilustrativo)
CandidatoProbabilidade originalT = 0,5T = 1,5
1er45 %70 %34 %
2e25 %22 %23 %
3e12 %5 %14 %
4e8 %2 %11 %
5e à 7e10 % ao todo1,3 %17,8 %
0 à 0,3
Extração, classificação e resumo fiel: você quer a mesma resposta em cada tentativa.
0,4 à 0,7
Redação técnica, tradução, suporte: variedade sem desvios.
0,8
Valor padrão de Ollama e de llama.cpp: conversa geral.
1 ou mais
Criatividade, brainstorming; mais riscos de erros e de digressões.
!
Temperatura 0: nem sempre a melhor ideia para código
Para saídas que serão processadas por um parser (JSON, classificação), uma temperatura baixa é razoável. Mas os desenvolvedores de modelos de raciocínio frequentemente recomendam valores mais altos: a ficha do Qwen3.5 indica 0,6 para código em modo de raciocínio e 1,0 para tarefas gerais. Leia a ficha antes de impor 0.

#2. Top-p: o filtro adaptativo

Top-p, ou amostragem por núcleo, retém os tokens mais prováveis até que sua probabilidade acumulada atinja p. Com 0,9, descarta a cauda de 10% de probabilidade; com 1,0, não filtra nada. A documentação de Ollama lembra que um valor mais alto, por exemplo 0,95, gera um texto mais variado, e um valor mais baixo, por exemplo 0,5, um texto mais focado e conservador.

0,5 à 0,7
Muito conservador: respostas seguras, às vezes monótonas.
0,9
Valor padrão do Ollama: corta a cauda sem sufocar a variedade.
0,95
Valor padrão do llama-server, e valor recomendado por várias fichas de modelos.
1,0
Filtro desativado: a temperatura continua atuando sozinha.

#3. Top-k: limite fixo

Top-k conserva apenas os k tokens mais prováveis. A documentação do Ollama descreve esse parâmetro como um meio de reduzir a probabilidade de gerar conteúdo sem sentido: valores mais altos (100) produzem respostas mais variadas; valores mais baixos (10), mais conservadoras. Seu valor padrão é 40, como no llama.cpp, onde 0 o desativa.

Top-k, top-p ou min-p: qual usar
FiltroVantagemLimiteQuando usar
top_kSimples, limita o cálculoIgnora a forma da distribuição: candidatos demais quando o modelo está confiante, candidatos de menos quando hesitaLimite de proteção amplo (20 a 100)
top_pAjusta-se à confiança do modeloPode deixar passar uma cauda longa se a distribuição for planaAjuste principal de diversidade
min_pLimiar relativo à maior probabilidade, estável mesmo em temperaturas elevadasMenos conhecido, não ativo por padrão em OllamaAlternativa a top_p, geralmente com temperatura mais alta

Para a consulta « top p vs top k »: use o top-p como configuração principal, mantenha o top-k como mecanismo de proteção e não ajuste os dois no mesmo teste, caso contrário, você não saberá qual produziu a diferença.

#Valores padrão e recomendações dos desenvolvedores

Os valores padrão de um motor representam uma solução de compromisso genérica. Os fornecedores de modelos costumam publicar valores adaptados aos seus modelos, que podem diferir dos valores padrão. Veja o que a ficha do Qwen3.5 recomenda para seus modelos e compare com os valores padrão do Ollama (temperatura 0,8, top-p 0,9, top-k 40).

Configurações recomendadas na página do modelo Qwen3.5-9B no Hugging Face
ModoTemperaturatop_ptop_kpresence_penalty
Raciocínio, tarefas gerais1,00,95201,5
Raciocínio, código preciso0,60,95200,0
Sem raciocínio, tarefas gerais0,70,8201,5

Esses valores se aplicam a essa família de modelos, não a todos. As fichas de outros editores apresentam outros valores: procure a seção sobre os parâmetros de amostragem recomendados na ficha do Hugging Face ou na página do modelo na biblioteca Ollama. A ficha do Qwen também especifica que o suporte a esses parâmetros varia conforme o motor de inferência.

#Penalidades: repetição, frequência, presença

Modelos locais, especialmente os pequenos ou fortemente quantizados, às vezes ficam repetindo as mesmas frases. As penalidades são a solução, mas seus valores padrão muitas vezes são pouco conhecidos. No Ollama, repeat_penalty tem o valor padrão de 1,0, o que desativa a penalidade; a documentação apresenta 1,5 como exemplo de um valor que penaliza mais fortemente. O valor 1,1 frequentemente citado é uma opção a escolher, não o valor padrão.

repeat_penalty
Penaliza os tokens vistos recentemente; repeat_last_n (64 por padrão) define a janela considerada.
frequency_penalty
Penalidade proporcional ao número de ocorrências, para gerações longas.
presence_penalty
Penalidade aplicada assim que um token já apareceu, para incentivar um vocabulário mais variado; Qwen recomenda 1,5 em vários de seus modos, com o risco de mistura de idiomas se o valor for muito alto.
→
Aumentar as penalidades em pequenos incrementos
Uma penalidade forte leva o modelo a usar palavras raras ou inesperadas. Aumente repeat_penalty em incrementos de 0,05 a 0,1 e pare assim que os ciclos de repetição desaparecerem.

#Aplicar essas configurações no Ollama

Existem dois métodos: um Modelfile, que define valores para um modelo nomeado, ou o campo options de uma requisição à API, que aceita os mesmos parâmetros do Modelfile. O Modelfile é adequado para uso diário, e a API, para um programa.

Modelfile: um modelo personalizado
FROM llama3.2
PARAMETER temperature 0.3
PARAMETER top_p 0.9
PARAMETER top_k 40
Criar e depois iniciar esse modelo
ollama create llama-precis -f ./Modelfile
ollama run llama-precis
Mesmo ajuste em uma requisição à API
curl http://localhost:11434/api/generate -d '{"model":"llama3.2","prompt":"Résume en une phrase : ...","stream":false,"options":{"temperature":0.3,"top_p":0.9}}'

Para saber mais sobre os Modelfile (prompt de sistema, contexto, template), consulte o guia de personalização. No LM Studio e no Jan, os mesmos parâmetros são ajustados no painel de configuração do modelo.

#Modelos de raciocínio: não ajustar tudo pela temperatura

Os modelos de raciocínio produzem primeiro um registro de reflexão antes de responder. No Ollama, esses modelos expõem um campo de reflexão separado, e os comandos disponíveis variam conforme o modelo: a documentação recomenda consultar a API show para conhecer os valores aceitos e o valor padrão. Para o gpt-oss, por exemplo, os níveis são low, medium e high, com medium como padrão.

Para reduzir os lançamentos desnecessários em uma pergunta simples, atue primeiro neste nível de reflexão, quando existir, em vez da temperatura. A temperatura, por sua vez, deve seguir a ficha do modelo: um raciocínio muito frio pode se travar, um raciocínio muito quente pode se dispersar.

#Predefinições iniciais por uso

Pontos de partida a ajustar, exceto para modelos com recomendações específicas
UsoTemperaturatop_pOutras configurações
Extração, classificação, JSON0 à 0,20,9Formato estrito exigido no prompt
Resumo fiel0,2 à 0,30,9repeat_penalty ligeiramente acima de 1
Conversa geral0,7 à 0,80,9Valores padrão do motor
Redação, ideias0,8 à 1,00,95presence_penalty moderada
Ficção, criatividade1,00,95Controlar as digressões

Esses presets são pontos de partida, não medições. Mude um parâmetro de cada vez, execute novamente o mesmo prompt três vezes e compare: se três tentativas produzirem a mesma resposta quando você espera variedade, a temperatura está muito baixa ou a semente está fixa.

#Sintomas e ajustes a testar

O modelo repete a mesma frase
Ative repeat_penalty com um valor em torno de 1,1 ou ative presence_penalty, ou encurte a geração com num_predict.
Respostas sem graça e genéricas
Aumente a temperatura um passo (de 0,7 para 0,9) ou flexibilize a restrição de top_p.
O modelo inventa fatos
Reduza a temperatura, mas saiba que isso não é suficiente: consultar o guia sobre alucinações.
JSON quebrado
Temperatura baixa e formato solicitado explicitamente; use o modo de saída estruturada do Ollama quando estiver disponível.
Mistura de línguas ou palavras estranhas
Reduza presence_penalty ou repeat_penalty, ou aumente levemente a quantização do modelo.
Perguntas frequentes sobre top-p, top-k e temperatura
O que é o top-p em um LLM?+
O top-p é um filtro que retém apenas os tokens mais prováveis cuja soma das probabilidades atinge o limiar p, por exemplo 0,9. O restante é descartado antes do sorteio. Diferentemente do top-k, o número de candidatos varia: poucos se o modelo estiver confiante, mais se estiver em dúvida.
Qual a diferença entre top-p e top-k?+
O top-k mantém sempre um número fixo de candidatos, por exemplo 40, independentemente da situação. O top-p mantém um número variável de candidatos, de acordo com a soma de probabilidades. O top-p se adapta melhor à confiança do modelo; o top-k atua como um filtro simples contra tokens muito improváveis.
É necessário ajustar a temperatura e o top-p ao mesmo tempo?+
É melhor modificar apenas um parâmetro de cada vez para entender seu efeito. Na prática, deixe top-p e top-k nos valores padrão ou nos valores indicados na ficha do modelo e ajuste a temperatura. Se você mudar vários parâmetros ao mesmo tempo, não saberá qual produziu a diferença.
Qual temperatura para código?+
Para um modelo sem raciocínio, um valor baixo (de 0 a 0,2) produz saídas reprodutíveis. Para um modelo com raciocínio, siga a ficha do modelo publicada pelo fornecedor: a do Qwen3.5 recomenda 0,6 para código preciso no modo de raciocínio. Teste em seus próprios casos e verifique se o código compila ou passa nos seus testes.
Quais são os valores padrão no Ollama?+
A documentação do Modelfile indica uma temperatura de 0,8, um top-k de 40, um top-p de 0,9, um min-p de 0,0 (desativado) e uma penalidade de repetição de 1,0 (desativada). Um modelo pode conter seus próprios valores e substituir esses; o comando ollama show --modelfile permite vê-los.
O que é min-p e é necessário usá-lo?+
O min-p elimina os tokens cuja probabilidade é inferior a uma fração da probabilidade do melhor candidato: com 0,05 e o melhor token com probabilidade de 0,9, o limiar é 0,045. É uma alternativa ao top-p e fica desativado por padrão no Ollama. Use-o somente se a ficha do modelo o recomendar.
Este guia ajudou você?

Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.