Transformer: Softmax, Temperatura e Random Sampling

Visualização e explicação completa do processo interno de geração de texto

1. Input Vocab e Logits

A coluna Vocab (V) mostra as palavras candidatas: who, where, why, what, how.
A coluna Logit (Z) mostra o valor cru de ativação que o modelo gera antes de converter em probabilidades.
Por exemplo: why tem o maior logit (5,20), então tende a ser mais provável.

2. Temperatura (T)

A temperatura controla a aleatoriedade. Temperaturas baixas (T < 1) tornam o modelo mais “decidido”: amplificam as diferenças entre logits.
Temperaturas altas (T > 1) tornam o modelo mais “criativo”: achatam as diferenças e aproximam as probabilidades.

Matematicamente, cada logit é dividido pela temperatura: Z' = Z / T

Exemplo com T = 2.9:

3. Softmax

A função Softmax converte os valores ajustados (logits) em probabilidades normalizadas:
\(P_i = e^{Z_i/T} / \sum e^{Z_j/T}\)
Assim, todas as probabilidades somam 1.0.

4. Random Number (r)

O modelo gera um número aleatório entre 0 e 1 (r) e verifica em qual faixa cumulativa o número cai. Por exemplo:

PalavraFaixa
why0,00 – 0,41
what0,41 – 0,61
who0,61 – 0,77
how0,77 – 0,91
where0,91 – 1,00

Se o número r = 0.5, a palavra escolhida será “what”.
Cada execução gera um novo número aleatório — e, portanto, resultados diferentes respeitando as probabilidades.

5. O papel do Random no algoritmo

No ciclo interno de geração do modelo, o número aleatório é sempre gerado para cada token.
O processo é:
Softmax → Random → Escolha → Próximo token → Recalcula tudo.

Esse sorteio ponderado é o que faz o texto parecer humano e imprevisível.
Sem ele, o modelo seria totalmente determinístico e repetitivo.

6. Ciclo Auto-Regressivo

Cada token escolhido é realimentado no modelo, que calcula novos logits e reinicia o processo.

Experimente o sorteio de palavras

Clique no botão para simular o “random sampling”: