O diagrama mostra o caminho de uma Query até o vetor de saída. Primeiro, a Query (o que o token atual procura) é comparada com as Keys (referências de cada token) por produto escalar Q·Kᵀ. O resultado é o similarity score: quanto cada token é relevante para essa Query.
Os scores são divididos por √d_k para não ficarem grandes demais e saturarem o softmax. O softmax os transforma em attention weights, valores positivos que somam 1 e indicam a importância de cada token.
Por fim, os pesos multiplicam os Values, que carregam a informação de fato, e a soma ponderada gera o vetor de saída. Por isso o modelo foca nas partes mais relevantes da entrada em vez de tratá-las todas igualmente.
- Fórmula: Attention(Q,K,V) = softmax(QKᵀ/√d_k)·V
- Resolve o gargalo de comprimir tudo em um único vetor e ajuda com dependências longas, problemas típicos dos RNNs.
- Self-attention e multi-head attention, base dos Transformers e dos LLMs, são construídas sobre esse mecanismo.