Na auto-atenção, Q, K e V todos vêm da mesma sequência — cada token atende a outros tokens na mesma entrada. Na atenção cruzada, Q vem de uma fonte (ex., o decoder) e K, V vêm de outra (ex., o encoder). O token do decoder pergunta "o que na entrada é relevante para o que estou gerando agora?" e o mecanismo de atenção fornece um resumo ponderado da entrada.
Modelos text-to-image usam atenção cruzada para condicionar a geração de imagem no texto. O prompt de texto é codificado em embeddings (via CLIP ou T5), e em cada passo de denoising, as features da imagem atendem aos embeddings de texto através de camadas de atenção cruzada. É assim que o modelo sabe gerar um "gato em uma prancha de surf" — cada localização espacial na imagem atende às palavras relevantes. Manipular esses mapas de atenção cruzada é como técnicas de ponderação de prompt e edição de atenção funcionam.
Auto-atenção e atenção cruzada têm perfis computacionais diferentes. A auto-atenção é quadrática no comprimento da sequência (cada token atende a todos os outros tokens). A atenção cruzada é linear no comprimento do decoder vezes o comprimento do encoder (cada token do decoder atende a todos os tokens do encoder). Na prática, a saída do encoder é frequentemente muito mais curta que a sequência do decoder, tornando a atenção cruzada mais barata que a auto-atenção do decoder.