Na camada de atenção, os vetores Q, K e V são utilizados para calcular uma pontuação de alinhamento entre cada token em cada posição em uma sequência. Essas pontuações de alinhamento são então normalizadas em pesos de atenção usando uma função softmax.
Para cada token x em uma sequência, as pontuações de alinhamento são calculadas computando o produto escalar do vetor de consulta do token Qx com o vetor de chave K de cada um dos outros tokens: ou seja, multiplicando-os. Se uma relação significativa entre dois tokens se reflete na semelhança entre seus respectivos vetores, multiplicá-los resultará em um valor elevado. Se os dois vetores não estiverem alinhados, multiplicá-los resultará em um valor pequeno ou negativo. A maioria dos modelos transformadores utilizam uma variante chamada atenção por produto escalar escalada, na qual QK é escalada, ou seja, multiplicada por para melhorar a estabilidade de treinamento.
Essas pontuações de alinhamento entre consulta e chave são então inseridas em uma função softmax. O softmax normaliza todas as entradas para um valor entre 0 e 1, de forma que a soma total seja 1. Os resultados da função softmax são os pesos de atenção, cada um representando a parcela (de 1) da atenção do token x a ser direcionada a cada um dos outros tokens. Se o peso de atenção de um token estiver próximo de 0, ele será ignorado. Um peso de atenção de 1 significa que um token recebe toda a atenção de x e os demais serão ignorados.
Por fim, o vetor de valor de cada token é multiplicado por seu peso de atenção. Essas contribuições ponderadas pela atenção de cada token anterior são calculadas em média e somadas à representação vetorial original do token x. Com isso, a incorporação vetorial do token x é atualizada para refletir o contexto fornecido pelos outros tokens da sequência que lhe são relevantes.
A incorporação vetorial atualizada é então enviada para outra camada linear, com sua própria matriz de pesos WZ, onde o vetor com contexto atualizado é normalizado para um número consistente de dimensões e, em seguida, encaminhado para a próxima camada de atenção. Cada camada de atenção progressiva captura maiores nuances contextuais.