Skip to main content

Parâmetros de Amostragem (Temperatura, Top-p, Min-p)

PARA AGENTES DE IAChatGPTClaude

Hiperparâmetros matemáticos da decodificação estocástica (Temperatura, Top-P, Min-P, Penalidades) que controlam a distribuição de probabilidades na seleção do próximo token, determinando o nível de determinismo, precisão e criatividade do modelo.

1. Visão Geral do Conceito e Problema Sistêmico

O modelo de linguagem não gera texto pronto diretamente. Em cada passo autorregressivo, a camada de saída do transformer emite um array de números brutos não normalizados — logits para cada palavra de um vocabulário com mais de 100.000 elementos. A conversão desses números brutos em um token específico selecionado é regulada pelo algoritmo de decodificação.

Se você sempre escolher o token com a probabilidade absolutamente mais alta (busca gulosa ou Greedy Search), o modelo torna-se previsível, seco e frequentemente entra em ciclos infinitos de repetição das mesmas frases. Por outro lado, se as palavras forem escolhidas totalmente ao acaso, a geração transforma-se em delírio sem sentido e erros sintáticos.

Os Sampling Parameters (parâmetros de amostragem) são um conjunto de reguladores matemáticos que alteram a forma da distribuição de probabilidade antes da seleção do símbolo. Compreender sua mecânica interna permite que o engenheiro equilibre sutilmente entre o determinismo rigoroso de um compilador e a heurística criativa na busca por soluções.

2. Taxonomia Arquitetural e Modelo Mental

O pipeline de processamento dos logits consiste em filtros matemáticos sequenciais:

┌─────────────────────────────────────────────────────────────┐
│                 PIPELINE DE DECODIFICAÇÃO DE TOKENS         │
├─────────────────────────────────────────────────────────────┤
│ 1. Logits brutos z_i da Camada Linear do Transformer        │
├─────────────────────────────────────────────────────────────┤
│ 2. Modificação por Penalidades:                             │
│    • Frequency Penalty (Redução de peso pela quantidade de repetições)│
│    • Presence Penalty (Penalidade única para palavras já mencionadas)│
├─────────────────────────────────────────────────────────────┤
│ 3. Escalonamento por Temperatura: z'_i = z_i / T            │
│    T ➔ 0: picos tornam-se mais agudos (Determinismo Argmax) │
│    T > 1: a distribuição é suavizada (alta entropia)        │
├─────────────────────────────────────────────────────────────┤
│ 4. Normalização Softmax: P(w_i) = exp(z'_i) / Sum(exp(z'_j))│
├─────────────────────────────────────────────────────────────┤
│ 5. Filtros de Truncagem (Top-K ➔ Top-P ➔ Min-P)             │
│    Corte da longa «cauda» de tokens de baixa probabilidade e irrelevantes│
├─────────────────────────────────────────────────────────────┤
│ 6. Amostragem Multinomial Estocástica (Seleção final do token)│
└─────────────────────────────────────────────────────────────┘
  1. Temperatura ($T$):
    • Divisor escalonador para o vetor de logits antes da função Softmax. Quando $T \to 0$, a diferença entre o token mais provável e os outros tende ao infinito (determinismo). Com temperatura alta ($T = 1.0–1.5$), tokens de baixa probabilidade ganham uma chance real de serem selecionados.
  2. Top-P (Amostragem Nucleus):
    • Limiar dinâmico de probabilidade cumulativa. O algoritmo ordena os tokens em ordem decrescente e mantém apenas o subconjunto mínimo cuja soma de probabilidades atinge $P$ (por exemplo, 0.9 = 90% da massa da distribuição).
  3. Min-P (Limiar Dinâmico):
    • Filtro moderno avançado. Descarta todos os tokens cuja probabilidade individual seja menor que $P_{\min} = \text{Min-P} \times P_{\max}$, onde $P_{\max}$ é a probabilidade do líder absoluto. Se o líder tem 80% e Min-P = 0.05, todas as opções com chance inferior a 4% são descartadas.
  4. Penalidades de Repetição (Presence & Frequency Penalties):
    • Reduzem os valores dos logits dos tokens que já apareceram no texto gerado, prevenindo loops de repetição.

3. Pipeline Técnico e Mecânica Interna

O ciclo de vida de um único passo de seleção estocástica de token:

  1. Obtenção dos Logits: A última camada da rede emite o vetor bruto de logits $z = [12.4, 8.1, 15.6, -3.2, \dots]$.
  2. Aplicação das Penalidades de Repetição: Se uma palavra já apareceu três vezes, seu logit é reduzido pela quantidade $3 \times \text{frequency_penalty}$.
  3. Divisão por Temperatura: Cada valor do vetor é dividido pela temperatura: $z'_i = z_i / T$.
  4. Cálculo de Probabilidades via Softmax: Os logits são convertidos em probabilidades normalizadas entre 0 e 1, cuja soma é estritamente igual a 1.0.
  5. Filtragem via Min-P: Encontra-se a pontuação máxima $P_{\max} = 0.70$. Com $\text{Min-P} = 0.1$, o limiar é $0.07$. Todos os tokens com probabilidade abaixo de 7% são removidos do pool.
  6. Sorteio Estocástico (Multinomial Sampling): Um gerador de números pseudoaleatórios (PRNG) realiza a amostragem do pool de probabilidades preservado. O token selecionado é enviado à saída.

4. Cenários Práticos de Engenharia em Produção

01. Geração Livre de Erros de Consultas SQL e Esquemas de Validação

Um serviço backend gera código de migração com base no prompt do usuário:

  • Configuração: temperature: 0.0 (Greedy Search).
  • O modelo garante a escolha das construções sintáticas mais padrão, eliminando erros aleatórios de vírgula ou palavras-chave inexistentes.

02. Uso de Min-p para Refatoração de Alta Qualidade

Um agente refatora um módulo algorítmico complexo:

  • Configuração: temperature: 0.7, min_p: 0.05.
  • O modelo ganha liberdade criativa na escolha do padrão arquitetural, mas o mecanismo Min-P protege robustamente contra a seleção de funções alucinadas aleatórias.

03. Brainstorming Exploratório de Arquitetura (High Entropy Search)

Geração de ideias de negócio não triviais e cenários de teste:

  • Configuração: temperature: 0.9, top_p: 0.95.
  • O modelo propõe casos extremos inesperados, cenários de carga não convencionais e hipóteses alternativas de falhas de sistema.

5. Armadilhas, Erros Comuns e Segurança

  • As penalidades de repetição quebram a sintaxe do código: Um frequency_penalty alto (por exemplo, > 0.5) em tarefas de programação leva ao desastre: o modelo tenta evitar repetições naturais de palavras-chave (return, const, chaves de fechamento }}), o que quebra a compilação. Para código, as penalidades devem ser zero.
  • Temperatura fixa em novos modelos de raciocínio: Em modelos da classe OpenAI o1 ou DeepSeek-R1, a cadeia de pensamento interna foi treinada sob uma temperatura estritamente fixa (geralmente $T=1.0$ ou $0.6$). Tentar forçar $T=0$ via API é frequentemente proibido ou destrói o processo de autocorreção do modelo.
  • Conflito de filtros excessivamente agressivos: Definir simultaneamente top_p: 0.1 e um min_p alto pode reduzir a amostra a um único token ou a zero, causando falha no motor de inferência.
  • Ilusão de reprodutibilidade via Seed: O parâmetro seed fixa o estado inicial do gerador de números aleatórios, mas não garante o mesmo texto quando há mudança na versão do driver CUDA ou no número de threads paralelas no batch.
/ Perguntas FrequentesSchema.org FAQPage

FAQ: Parâmetros de Amostragem (Temperatura, Top-p, Min-p)

Para código estrito e esquemas estruturados, recomenda-se `Temperature = 0.0` (decodificação gulosa, Greedy Search) ou `Temperature = 0.2` em combinação com `Min-P = 0.05`. Isso minimiza desvios sintáticos e evita erros aleatórios de tipagem.
/ Links internos
Todos os termos