Atención por Producto Punto en Transformers: Por Qué se Usa y Cómo Funciona

Aclaración: “Conversión de Punto” → Atención por Producto Punto

Se refiere al mecanismo de atención por producto punto escalado en el corazón de la arquitectura Transformer (Vaswani et al., 2017).

¿Por Qué Producto Punto?

  1. Medida de similitud: El producto punto Q·Kᵀ cuantifica el alineamiento entre vectores de consulta y clave. Valor alto = alta relevancia.
  2. Eficiencia computacional: Se reduce a multiplicación de matrices por lotes (GEMM), altamente optimizada en GPUs/TPUs.
  3. Paralelismo: Todas las posiciones se procesan simultáneamente, sin recurrencia.
  4. Alineación suave: Softmax normaliza las puntuaciones en una distribución de probabilidad (los pesos suman 1), permitiendo atención diferenciable y amigable con gradientes.

Paso a Paso (Simplificado)

  1. Tokens de entrada → insertados (embeddings).
  2. Proyecciones lineales crean las matrices Consulta (Q), Clave (K) y Valor (V).
  3. Puntuaciones = Q Kᵀ / √d_k (el escalado estabiliza los gradientes).
  4. Pesos de atención = softmax(Puntuaciones).
  5. Contexto = Pesos × V → representación de salida.

Alternativas

  • Atención aditiva (Bahdanau): tanh(W₁Q + W₂K) — más parámetros, más lenta.
  • Atención multi-cabeza: Cabezas de producto punto en paralelo con diferentes proyecciones — captura relaciones diversas.

La mezcla de expresividad, velocidad y amigabilidad con el hardware de la atención por producto punto hizo de los Transformers la arquitectura dominante en PLN y más allá.