Transformers Prof. Anderson Rocha Tavares Bloco 9 · Slide 9 / 11

Escalonamento e Softmax

QKᵀ/√dₖ → softmax linha a linha → matriz de scores S

Efeito do escalonamento

Frase:
dₖ = 2 → √dₖ = 1.41
248163264
S = softmax(QKᵀ / √dₖ)
O que é dₖ?
É a dimensão dos vetores de query e key. Aqui dₖ = 2 (apenas 2 dimensões, para facilitar a visualização); em modelos reais como o BERT, dₖ = 64.
Por que escalonar?
Com dₖ grande, os produtos internos crescem em magnitude: a softmax recebe valores muito extremos, satura e tem gradientes próximos de zero. Dividir por √dₖ estabiliza o treinamento.
dₖ vs d_model
d_model é a dimensão total do embedding (ex.: 768 no BERT, 12 288 no GPT-3). Com h cabeças de atenção, cada cabeça usa dₖ = d_model / h — assim, o custo total se mantém igual a uma atenção única de dimensão d_model.

Softmax linha a linha