Em algum lugar entre a sua pergunta e a resposta da IA, uma decisão acontece. Não uma decisão. Milhares.
Cada palavra que o modelo escreve envolve uma escolha entre alternativas que poderiam caber naquele lugar. “Azul” ou “transparente” ou “escuro”. “Portanto” ou “então” ou “consequentemente”. Cada escolha molda tudo o que vem depois. Temperatura é a configuração que controla como essas escolhas são feitas.
A maioria das pessoas nunca mexe nisso. Deveria.
A máquina de probabilidades
Quando um modelo de linguagem gera texto, ele não recupera respostas de um banco de dados e não está pesquisando a internet pela melhor resposta para a sua pergunta nem consultando a resposta correta em alguma enciclopédia gigantesca. Ele prevê. Dado tudo o que leu durante o treinamento e tudo o que você escreveu no seu prompt, o modelo calcula a probabilidade de cada possível próxima palavra seguir naturalmente.
Para “O tempo hoje está ___”, o modelo poderia calcular:
- ensolarado: 28% de probabilidade
- bom: 15% de probabilidade
- horrível: 8% de probabilidade
- apocalíptico: 0,003% de probabilidade
Essas probabilidades vêm de padrões absorvidos durante o treinamento, milhões de exemplos de como humanos completam frases parecidas, ponderados e combinados por camadas de matemática de redes neurais que nem os engenheiros que construíram o sistema conseguem explicar por completo.
Temperatura muda o que acontece em seguida.
O que a temperatura realmente faz
O termo vem da física. Na mecânica estatística, temperatura descreve como a energia se distribui em um sistema. Sistemas frios concentram energia em padrões previsíveis. Sistemas quentes espalham energia de forma caótica.
A matemática se transfere quase diretamente para modelos de linguagem, e aqui a palavra “temperatura” não é uma metáfora, mas um termo técnico real emprestado da termodinâmica porque as equações parecem quase idênticas.
Baixa temperatura torna a distribuição de probabilidades mais afiada. Se “ensolarado” tinha 28% de probabilidade e “bom” tinha 15%, baixar a temperatura pode empurrar isso para 45% e 8%. As lacunas aumentam. O favorito fica mais dominante. O modelo passa a escolher muito mais a opção de maior probabilidade, e alternativas de baixa probabilidade quase nunca são escolhidas.
Alta temperatura achata a distribuição. Essas mesmas probabilidades podem virar 22% e 18%. As lacunas diminuem. Opções em segundo e terceiro lugar ganham mais chances. O modelo amostra mais amplamente a partir da sua distribuição de probabilidades, incluindo palavras que quase nunca escolheria em baixa temperatura.
Em temperatura zero, o modelo sempre escolhe a única próxima palavra mais provável. Sempre. Rode o mesmo prompt cem vezes, obtenha a mesma saída cem vezes. Isso às vezes é chamado de decodificação gulosa.
Em temperatura um, o modelo amostra diretamente a partir da sua distribuição bruta de probabilidades, sem modificação. Uma palavra com 10% de probabilidade tem 10% de chance de ser selecionada.
Acima de temperatura um, opções de baixa probabilidade ganham impulso. A distribuição achata ainda mais. Palavras que tinham chances minúsculas agora têm chances reais.
A ilusão da criatividade
Muitas interfaces de IA rotulam o controle de temperatura como “criatividade”. Isso é marketing. Não engenharia.
Aleatoriedade não é criatividade. Escolher palavras inesperadas não é a mesma coisa que ter ideias interessantes, e essa distinção importa enormemente para como você deveria pensar nessa configuração.
Um usuário do Hacker News chamado spywaregorilla disse isso bem: temperature is “more like ‘willingness to choose less likely answers.’” Esse enquadramento ajuda. Menos provável não é o mesmo que melhor ou mais criativo. Às vezes a palavra menos provável é surpreendente e deliciosa. Às vezes ela está simplesmente errada.
Temperatura mais alta de fato produz saídas mais variadas. O modelo explora mais do seu espaço de probabilidades, e essa exploração ocasionalmente revela combinações que você nunca veria em baixa temperatura. Mas “ocasionalmente” é a palavra-chave. Na maioria das vezes, palavras de baixa probabilidade eram de baixa probabilidade por bons motivos.
Outro comentarista, noodletheworld, fez o ponto sem rodeios: “Randomising LLM outputs (temperature) results in outputs that will always have some degree of hallucination. That’s just math. You can’t mix a random factor in and magically expect it to not exist.”
Esse é o custo. Determinismo produz consistência e tédio. Aleatoriedade produz variedade e erros. Temperatura é o dial entre esses polos.
O problema do zero
Se determinismo evita alucinação, por que não usar temperatura zero sempre?
Porque determinismo tem sua própria patologia. Modelos em temperatura zero travam. Entram em loops. Se repetem obsessivamente. Caem no texto mais genérico, mais provável, para tudo, produzindo algo que parece escrito por um burocrata cauteloso que nunca quer dizer nada interessante.
Avianlyric no Hacker News explicou a dinâmica: “Setting the temperature of an LLM to 0 effectively disables that randomness, but the result is a very boring output that’s likely to end up caught in a never ending loop.”
Alguma quantidade de aleatoriedade é necessária para uma saída interessante. A pergunta é: quanto.
Top-p: uma abordagem diferente
Temperatura escala probabilidades. Top-p (também chamado de amostragem por núcleo, nucleus sampling) restringe quais opções sequer entram na disputa.
O modelo ainda calcula probabilidades para cada possível próxima palavra. Mas em vez de escalar essas probabilidades, top-p traça um corte. Se você define top-p como 0.9, o modelo ordena todas as palavras por probabilidade, soma começando pela mais provável e para quando alcança 90% de probabilidade acumulada. Tudo abaixo dessa linha é eliminado. O modelo então amostra apenas entre as opções restantes.
Essa abordagem tem uma vantagem que temperatura não tem. Ela se adapta.
Quando o modelo está confiante e uma palavra domina a distribuição de probabilidades, top-p naturalmente seleciona entre um conjunto pequeno. Quando o modelo está incerto e as probabilidades se espalham por muitas opções, top-p inclui mais candidatos. Temperatura aplica o mesmo escalonamento independentemente do contexto. Top-p responde ao próprio nível de confiança do modelo.
Na prática, top-p tende a produzir uma qualidade de saída mais consistente em diferentes tipos de prompts. Temperatura pode funcionar lindamente para um prompt e terrivelmente para outro. Top-p suaviza esses extremos.
Top-k: o instrumento bruto
Top-k é mais simples e mais grosseiro. Ele considera exatamente k opções, não importa o quê.
Defina top-k como 50, e o modelo só amostra entre as 50 próximas palavras mais prováveis. Defina como 5, e você tem apenas 5 opções. Os valores reais de probabilidade não importam para o corte, apenas a ordem.
Isso cria problemas óbvios. Alguns contextos têm respostas claramente corretas em que menos de 50 opções fazem sentido. Outros têm possibilidades escancaradas em que 50 é restritivo demais. Top-k não sabe diferenciar.
A maioria dos sistemas em produção prefere top-p a top-k. A adaptabilidade importa.
Como as configurações interagem
É aqui que as pessoas se confundem. Esses parâmetros podem trabalhar juntos, mas muitas vezes brigam entre si.
A ordem típica de processamento é: calcular probabilidades, aplicar o escalonamento de temperatura, aplicar o filtro top-p ou top-k, depois amostrar do que sobrou.
Temperatura vem primeiro. Ela remodela a distribuição inteira. Depois top-p ou top-k corta a cauda. O resultado depende de ambas as configurações, e a interação pode ser imprevisível.
A maioria da documentação recomenda ajustar um ou outro, não os dois. Se você está usando top-p, deixe a temperatura em 1.0 para trabalhar com a distribuição bruta. Se você está ajustando temperatura, defina top-p como 1.0 (o que desativa o filtro) para que temperatura tenha controle total.
Ajustar os dois ao mesmo tempo não é errado, mas torna os resultados mais difíceis de prever e a depuração mais difícil quando a saída desanda.
Min-p: o recém-chegado
Nos últimos meses, cresceu o entusiasmo por uma abordagem mais nova chamada amostragem min-p, especialmente entre pessoas rodando modelos de código aberto localmente.
Min-p define uma probabilidade mínima relativa à opção do topo. Se a palavra mais provável tem 50% de probabilidade e min-p está em 0.1, qualquer palavra com menos de 5% de probabilidade (um décimo de 50%) é eliminada.
Como top-p, isso se adapta ao contexto. Quando o modelo está confiante, min-p é permissivo porque até opções moderadamente prováveis passam do limiar. Quando o modelo está incerto, min-p é restritivo porque quase nada passa de uma barra alta.
Provedores de API como OpenAI e Anthropic atualmente não oferecem min-p. Você só vai encontrá-lo usando modelos locais através de ferramentas como llama.cpp ou text-generation-webui. Mas se você estiver experimentando modelos de pesos abertos, min-p vale a pena entender.
Orientação prática
Tarefas diferentes pedem configurações diferentes. Aqui está o que realmente funciona.
Para geração de código: Baixa temperatura. Entre 0.0 e 0.3. Erros de sintaxe não são criativos. Bugs de lógica não são surpresas interessantes. Código ou funciona ou não funciona, e mais aleatoriedade só produz mais saída quebrada.
Para perguntas factuais: Baixa temperatura. A resposta correta para “Qual é a capital da França?” é Paris. Não existe uma alternativa criativa que melhore isso. Aleatoriedade só pode piorar a resposta.
Para textos de negócios: Temperatura moderada. Entre 0.3 e 0.6. Você quer algo profissional e bem polido, não robótico e repetitivo. Um pouco de variação mantém a prosa viva. Variação demais introduz erros ou escolhas estranhas de palavras que minam a credibilidade.
Para escrita criativa: Temperatura mais alta. Entre 0.7 e 1.0. Aqui a aleatoriedade ajuda de verdade. Escolhas inesperadas de palavras criam surpresa. Combinações incomuns produzem imagens frescas. Você quer o modelo explorando o seu espaço de possibilidades, não caindo em clichês.
Para brainstorming: Temperatura mais alta. Entre 0.9 e 1.2. Você explicitamente quer uma saída inesperada. Você está procurando ideias que não teria pensado, e o ponto inteiro é trazer opções de baixa probabilidade. Gere muitas saídas e faça a curadoria depois.
O modelo importa
Modelos diferentes respondem de forma diferente a mudanças de temperatura.
Modelos maiores toleram temperaturas mais altas melhor. Eles absorveram mais padrões, mais maneiras de completar qualquer ideia. Quando eles amostram opções de baixa probabilidade, essas opções ainda são informadas por um treinamento vasto. Modelos menores têm conhecimento mais raso. Suas saídas de baixa probabilidade têm mais chance de virar algo sem sentido.
Modelos mais novos também tendem a lidar com temperatura com mais elegância. Melhorias no treinamento e na arquitetura reduziram a distância entre a qualidade de saídas em alta temperatura e em baixa temperatura. O que produziria uma besteira em GPT-2 pode produzir reformulações alternativas interessantes em GPT-4.
Se você está usando uma categoria mais barata ou um modelo menor, mantenha a temperatura mais baixa. Com modelos poderosos, você tem mais espaço para experimentar.
Além do básico
A maioria dos usuários encontra apenas temperatura e, talvez, top-p. Quem usa API também pode ver:
Frequency penalty desencoraja repetir palavras já usadas na saída. Valores mais altos significam um desencorajamento mais forte. Isso ajuda com o problema de repetição em temperaturas baixas sem adicionar aleatoriedade pura.
Presence penalty incentiva introduzir novos tópicos em vez de ficar girando em torno do que já foi mencionado. Semelhante ao frequency penalty, mas mais sobre novidade conceitual do que repetição de palavras.
Max tokens controla o comprimento da saída. Não é sobre aleatoriedade, e sim sobre quando o modelo para de gerar.
Essas configurações importam mais para desenvolvedores construindo aplicações em cima de APIs de modelos de linguagem. Para uso típico em chat, temperatura e top-p são as que valem entender.
Configurações não são estratégia
Aqui está o que eu gostaria que alguém tivesse me dito quando comecei a experimentar esses controles: ajustar parâmetros não é o mesmo que dar boas instruções.
Um prompt brilhante em configurações padrão vai superar um prompt medíocre em configurações perfeitas. Contexto claro vence escolhas espertas de temperatura. Exemplos específicos vencem valores mexidos de top-p. Os fundamentos de se comunicar bem com modelos de linguagem importam mais do que otimização de parâmetros.
Dito isso, parâmetros importam nas margens. Quando você já tem um bom prompt, ajustar a temperatura pode melhorar de forma significativa os resultados para o seu caso de uso específico. Os ganhos são reais. Só não são os primeiros ganhos que você deveria buscar.
A verdade desconfortável
Configurações de temperatura revelam algo em que as pessoas às vezes preferem não pensar: modelos de linguagem são sistemas probabilísticos fazendo escolhas estatísticas, não motores de raciocínio chegando a respostas corretas.
Quando você zera a temperatura e obtém uma saída determinística, você não está obtendo a resposta certa. Você está obtendo a resposta mais provável. Essas não são a mesma coisa. Quando você aumenta a temperatura e obtém uma saída variada, você não está obtendo respostas criativas. Você está obtendo respostas amostradas. Essas também não são a mesma coisa.
O modelo não sabe qual palavra é correta. Ele sabe qual palavra é provável. Temperatura controla quão rigidamente ele segue essa probabilidade versus quanto ele explora alternativas. Nenhuma escolha deixa o modelo mais esperto ou mais preciso. Ambas só mudam quais saídas da sua distribuição de probabilidades você realmente vê.
Entender essa distinção muda como você usa essas ferramentas. Você para de esperar que as configurações certas destravem uma capacidade escondida. Você começa a pensar em qual estratégia de amostragem se encaixa na sua tarefa específica. Você fica confortável com a realidade de que modelos de linguagem são poderosos e úteis e também fundamentalmente diferentes de como a inteligência realmente funciona.
O controle de temperatura não é um dial de criatividade. É um dial de aleatoriedade. Às vezes a aleatoriedade te serve. Às vezes não. Saber a diferença é a maior parte do que existe para saber.