Essencial
Scaled dot-product attention e o √d_k
Dividir os scores query–key pela raiz quadrada da dimensão deles mantém o softmax utilizável — no Qwen3.8-27B esse divisor é √256 = 16, e a matriz de scores em contexto completo motiva toda a track 7.
Atualizada em
01 · Conceito
Conceito
A lição 4.2 deixou uma parte da fórmula de attention sem explicação: a misteriosa divisão por . O problema concreto que ela resolve aparece assim que a dimensão de head muda. Compare dois heads hipotéticos pontuando o mesmo par de tokens, um com 4 dimensões e outro com 256. Mesmo que cada feature individual carregue a mesma quantidade de sinal, o produto escalar do head largo soma 64 vezes mais termos, então seus scores brutos oscilam numa faixa muito maior. E alguma coisa logo adiante está prestes a ser muito sensível a essa faixa.
Escreva um score como
Sob a intuição usada no artigo original do Transformer — componentes aproximadamente independentes, média zero, variância um —, cada produto tem variância próxima de um, então a soma tem e desvio padrão próximo de . Para os attention heads do Qwen3.8-27B, : os scores brutos típicos são da ordem de vezes maiores do que a contribuição de uma única feature, puramente por causa da largura.
Por que isso importa? O softmax exponencia suas entradas, então escala é comportamento. A abordagem ingênua — jogar os scores brutos direto no softmax — funciona aceitavelmente para heads minúsculos e falha silenciosamente para os largos. Percorra isso com três keys. Suponha que o padrão de preferência “verdadeiro” seja suave: uma key duas vezes mais compatível que a seguinte. Em escala pequena os scores brutos poderiam ser , e o softmax distribui peso significativo pelas três. Agora deixe o head de largura 256 inflar tudo pelo seu fator natural de 16: o mesmo padrão vira . O softmax de coloca cerca de 98% do peso na primeira key — uma certeza quase do tipo o vencedor leva tudo que o modelo nunca conquistou, e na região saturada a maioria dos gradientes é quase zero, então o aprendizado trava exatamente onde deveria estar ajustando.
A correção é dividir pelo desvio padrão que a largura introduziu:
Com os números do Qwen, os scores inflados divididos por voltam a — o regime treinável. O divisor também pode ser lido como uma temperatura fixa de softmax : uma escala escolhida uma vez a partir da geometria, em vez de exposta como um botão de ajuste. O modelo ainda pode aprender attention mais concentrada ou mais espalhada aumentando ou reduzindo as normas de query e key; a escala só remove o aguçamento automático que a largura sozinha causaria.
Estabilidade numérica é uma correção separada e complementar. Na prática o softmax subtrai o máximo da linha antes de exponenciar, o que evita overflow sem mudar a distribuição resultante. A subtração do máximo resolve representabilidade; resolve saturação. Você precisa das duas.
Agora a segunda razão pela qual esta lição importa: o tamanho da coisa que está sendo normalizada. A matriz de scores tem uma entrada por par query–key. O comprimento de contexto nativo do Qwen3.8-27B é de 262.144 tokens. Em contexto completo, um head de uma camada pontua
pares query–key — cerca de 69 bilhões de entradas de score, antes de multiplicar pelos 24 query heads do modelo e antes de notar que 16 das suas 64 camadas rodam esse cálculo. Nada na divisão por √256 muda essa contagem; a escala conserta as estatísticas dos scores, não a quantidade deles. Essa é a conta quadrática da lição 4.1 tornada concreta, e é a motivação permanente da track 7: kernels no estilo FlashAttention que evitam materializar a matriz, o KV cache cuja aritmética aparece na lição 7.2 e o projeto grouped-query da lição 7.6 que o Qwen já embute no seu arranjo de 24 query heads e 4 KV heads. A resposta mais profunda do Qwen — substituir attention por completo em 48 das 64 camadas — chega na lição 4.15.
A lição generaliza para além de um denominador. Sempre que uma soma reúne muitas contribuições aproximadamente independentes, sua magnitude típica cresce com o número de termos, e passá-la por uma não linearidade sensível muda o comportamento apenas porque a largura mudou. O Transformer compensa com uma escala derivada da variância — uma correção de dois caracteres na fórmula, estrutural em qualquer largura, de um head de brinquedo até 256.
02 · Analogia
Analogia
Suponha que jurados avaliem uma apresentação somando notas de muitas categorias independentes. Um espetáculo julgado em 256 categorias naturalmente acumula totais positivos e negativos maiores do que um julgado em quatro, mesmo que a qualidade por categoria não mude. Jogar esses totais brutos numa regra do tipo o vencedor leva tudo faria a planilha maior parecer absurdamente certa. Dividir pela raiz quadrada do número de categorias restaura uma escala comparável antes da votação final.
03 · Explique de volta
Explique de volta
Derive por que a variância do produto escalar cresce com a dimensão das keys, informe o divisor de escala que o Qwen3.8-27B usa e explique quanto custa a matriz de scores em contexto completo.
Comparar com uma resposta-modelo
Se as componentes de query e key são aproximadamente independentes, com média zero e variância unitária, cada produto contribui com variância próxima de um, então somar d_k produtos dá variância próxima de d_k e desvio padrão próximo da raiz quadrada de d_k. Dividir os scores por essa raiz mantém a magnitude típica estável, evitando que o softmax sature só porque o head ficou mais largo. O Qwen3.8-27B usa dimensão de head 256, então o divisor é a raiz quadrada de 256, que é 16. No contexto nativo de 262.144 tokens do modelo, a matriz de scores de um único head guarda 262.144 ao quadrado — cerca de 6,9 × 10^10 — entradas, e é por isso que attention exata em contexto longo precisa das técnicas de memória e de kernel da track 7.
04 · Teste seu entendimento
Teste seu entendimento
Conclua o teach-back e acerte o quiz para finalizar a aula.
◎ · Marcador de evidência
Fontes
- Ashish Vaswani et al. (2017). Attention Is All You Need.
- Qwen Team (2026). Qwen3.8-27B Model Card.