En la autoatención, Q, K y V provienen todos de la misma secuencia — cada token atiende a otros tokens en la misma entrada. En la atención cruzada, Q proviene de una fuente (por ejemplo, el decoder) y K, V provienen de otra (por ejemplo, el encoder). El token del decoder pregunta "¿qué en la entrada es relevante para lo que estoy generando ahora?" y el mecanismo de atención proporciona un resumen ponderado de la entrada.
Los modelos de texto a imagen usan atención cruzada para condicionar la generación de imágenes sobre el texto. El prompt de texto se codifica en embeddings (vía CLIP o T5), y en cada paso de denoising, las características de la imagen atienden a los embeddings de texto a través de capas de atención cruzada. Así es como el modelo sabe generar un "gato en una tabla de surf" — cada ubicación espacial en la imagen atiende a las palabras relevantes. Manipular estos mapas de atención cruzada es cómo funcionan técnicas como la ponderación de prompts y la edición de atención.
La autoatención y la atención cruzada tienen perfiles computacionales diferentes. La autoatención es cuadrática en la longitud de la secuencia (cada token atiende a todos los demás tokens). La atención cruzada es lineal en la longitud del decoder por la longitud del encoder (cada token del decoder atiende a todos los tokens del encoder). En la práctica, la salida del encoder suele ser mucho más corta que la secuencia del decoder, haciendo que la atención cruzada sea más barata que la autoatención del decoder.