10  Geração de Texto

10.1 O Processo de Geração Auto-Regressiva

Os LLMs geram texto de forma auto-regressiva, ou seja, token por token, utilizando os tokens anteriormente gerados como contexto para a próxima previsão. Começando com um prompt de entrada, o modelo calcula a distribuição de probabilidade para o próximo token, seleciona um token (através de algum método de amostragem), adiciona-o à sequência, e repete o processo.

Esse processo continua até que alguma condição de parada seja atingida: um token especial de fim de sequência (EOS) é gerado, o número máximo de tokens é atingido, ou algum critério personalizado é satisfecho. A natureza sequencial da geração significa que tokens posteriores dependem de todos os tokens anteriores.

10.1.1 Estratégias de Amostragem

A seleção do próximo token é决定 crucial que afeta tanto a qualidade quanto a criatividade do texto gerado. Existem múltiplas estratégias, cada uma com trade-offs distintos.

A estratégia mais simples é a seleção gulosa (greedy), onde sempre escolhemos o token com maior probabilidade. Essa abordagem gera texto determinístico e tende a produzir frases grammaticalmente corretas, mas pode resultar em texto repetitivo e sem criatividade.

A amostragem aleatória (random sampling) seleciona tokens proporcionalmente à sua probabilidade. Isso introduzvariabilidade criativa, mas pode produzir texto incoerente ou incorreto quando tokens de baixa probabilidade são selecionados.

Temperatura é um parâmetro que controla a aleatoriedade da distribuição. Temperaturas altas (acima de 1) tornam a distribuição mais uniforme, aumentando a criatividade mas também o risco de erros. Temperaturas baixas (abaixo de 1) tornam a distribuição mais peaked, aproximando-se do comportamento guloso.

Top-k sampling limita a seleção aos k tokens mais prováveis, filtrando candidatos improváveis. Top-p sampling (ou nucleus sampling) seleciona o menor conjunto de tokens cuja probabilidade cumulativa excede um limiar p, adaptando dinamicamente o número de candidatos considerados.

10.1.2 Comprimento de Contexto e Janela de Atenção

Os LLMs têm um comprimento de contexto finito, que determina quantos tokens podem ser considerados simultaneamente durante a geração. Modelos mais antigos tinham contextos de alguns milhares de tokens; modelos modernos extendem isso para dezenas ou mesmo centenas de milhares de tokens.

A janela de contexto afeta diretamente o que o modelo pode “lembrar” durante a geração. Quando o texto gerado excede a janela de contexto, informações dos primeiros tokens podem ser perdidas ou diluídas. Técnicas como modelos de estado persistente (stateful models) e ferramentas de gerenciamento de contexto visam mitigar essa limitação.

10.1.3 Latência e Throughput

A velocidade de geração de texto é uma consideração prática importante. A geração auto-regressiva é inerentemente sequencial: cada token depende do anterior, tornando difícil o paralelismo dentro de uma única geração.

Métricas como tokens por segundo (tps) e tempo para primeiro token (TTFT) são usadas para avaliar a eficiência de inference. Técnicas como speculative decoding, que usa um modelo menor para propor múltiplos tokens que são então verificados pelo modelo maior, visam melhorar a velocidade de geração sem comprometer a qualidade.