El Transformer es una arquitectura neuronal que procesa una secuencia mediante atención. Cada posición puede combinar información de otras posiciones sin recorrerlas una a una como una red recurrente. Esa propiedad permitió paralelizar el entrenamiento y escalar modelos de texto, imagen, audio y vídeo.1
La atención es la operación distintiva, pero un Transformer completo también necesita embeddings, información posicional, proyecciones, redes feed-forward, conexiones residuales y normalización.
Un token empieza como un identificador entero. Una matriz aprendida lo convierte en un vector. Tokens que aparecen en contextos parecidos pueden acabar con representaciones relacionadas.
La atención, por sí sola, no conoce el orden. El modelo necesita añadir o incorporar la posición. El paper original usó codificaciones sinusoidales sumadas al embedding de entrada. Arquitecturas posteriores emplean embeddings posicionales aprendidos, posiciones relativas o transformaciones rotatorias como RoPE.12
ENTRADA DEL TRANSFORMER
Identidad del token + posición: el orden cambia la relación
La autoatención no incorpora el orden por sí sola. El modelo necesita una señal posicional para distinguir secuencias con casi los mismos tokens pero relaciones distintas.
SECUENCIA A
modeloe(modelo)posición 1 · PE(1)
→
corrigióe(corrigió)posición 2 · PE(2)
→
evaluadore(evaluador)posición 3 · PE(3)
quién actúa: el modelo →quién recibe: el evaluador
SECUENCIA B
evaluadore(evaluador)posición 1 · PE(1)
→
corrigióe(corrigió)posición 2 · PE(2)
→
modeloe(modelo)posición 3 · PE(3)
quién actúa: el evaluador →quién recibe: el modelo
Transformer originalxi = e(tokeni) + PE(i)
Embedding y codificación posicional tienen la misma dimensión y se suman antes de entrar en la pila.
Familias posterioresLa posición no tiene que sumarse al embedding
RoPE, por ejemplo, introduce posición mediante rotaciones aplicadas a Q y K dentro de la atención.
Identidad ≠ ordenEl embedding de token representa qué unidad es; la señal posicional indica dónde aparece.
Mismos tokens ≠ misma secuenciaCambiar posiciones puede invertir relaciones aunque el vocabulario sea casi idéntico.
No hay un único mecanismoLa suma sinusoidal explica el Transformer original; posiciones aprendidas, relativas y RoPE usan contratos distintos.
La posición no es un detalle cosmético: permite distinguir quién actúa sobre quién aunque una secuencia contenga prácticamente los mismos tokens. El mecanismo exacto no es universal; la suma embedding + posición describe el Transformer original, mientras que RoPE incorpora la posición mediante rotaciones dentro del cálculo de atención.2
Key (K): qué señal ofrece cada posición para ser encontrada
Value (V): qué contenido aporta si recibe atención
La atención escalada conecta cuatro operaciones: proyectar Q, K y V; calcular compatibilidades; normalizar los pesos; y mezclar los valores.1
SELF-ATTENTION
La ecuación de atención convertida en flujo
Q decide qué busca cada posición; K calcula compatibilidad; V aporta el contenido que finalmente se mezcla.
1Proyectar
X
→
Qqueries
Kkeys
Vvalues
Tres proyecciones aprendidas de la misma representación.
2Comparar
S = QKT / √dk
Cada fila compara una query con todas las keys.
3Normalizar
A = softmax(S)
Los pesos de cada fila quedan normalizados y suman 1.
4Mezclar valores
Z = AV
α₁v₁+α₂v₂+…→z
La salida es una combinación ponderada de los values.
Attention(Q, K, V)= softmax(QKT / √dk) V
Los colores son una guía pedagógica, no pesos de un modelo concreto. La operación real se ejecuta sobre matrices.
El producto QKᵀ calcula compatibilidades entre posiciones. El factor √d_k controla la escala de los logits. softmax convierte cada fila en pesos normalizados. La multiplicación por V produce una combinación ponderada de información.
El visualizador de atención Transformer permite cambiar scores, máscara causal y valores para observar directamente cómo esas operaciones modifican los pesos y la salida de una cabeza.
La interpretación “cada palabra mira a todas las demás” es útil, aunque incompleta. En realidad, cada cabeza aprende proyecciones distintas y puede especializarse en patrones diferentes.
En lugar de ejecutar una sola atención con toda la dimensión, el bloque divide la representación en varias cabezas. Cada cabeza calcula sus propias matrices Q, K y V.
MULTI-HEAD ATTENTION
Varias proyecciones leen relaciones distintas antes de recombinarse
Cada cabeza recibe la misma secuencia, aprende sus propias proyecciones Q/K/V y produce una salida contextual. Después se concatenan todas las cabezas y una proyección WO las vuelve a mezclar.
ENTRADAX
n × dmodel
→
cabeza 1W1Q,K,V
Q₁K₁V₁
z₁
cabeza 2W2Q,K,V
Q₂K₂V₂
z₂
… cabeza hWhQ,K,V
QₕKₕVₕ
zₕ
→
RECOMBINAR
[ z₁ | z₂ | … | zₕ ]
× WO
salida multi-head
CADA CABEZAheadi = Attention(QWiQ, KWiK, VWiV)
SALIDAMultiHead = Concat(head₁, …, headₕ) WO
COMPARTENla misma secuencia de entrada
NO COMPARTENlas proyecciones Q/K/V
NO HAY ROLES FIJOSuna cabeza no tiene una semántica universal preasignada
Los patrones de las matrices son ilustrativos. La arquitectura permite subespacios de atención distintos; no implica que una cabeza concreta tenga siempre una función interpretable y estable.
Una cabeza puede capturar dependencias locales. Otra puede relacionar entidades alejadas. Otra puede ayudar a copiar estructura o seguir delimitadores. No existe una asignación fija y universal, pero la separación aumenta la capacidad de representar relaciones simultáneas.
Un decoder autoregresivo no debe ver el futuro durante el entrenamiento. Se aplica una máscara triangular que impide a la posición t atender a tokens posteriores.1
DECODER AUTOREGRESIVO
La máscara causal separa paralelismo de acceso al futuro
Durante el entrenamiento se calculan muchas posiciones a la vez, pero cada query solo puede atender a su propio prefijo.
keys →12345
queries ↓12345
✓××××✓✓×××✓✓✓××✓✓✓✓×✓✓✓✓✓
visiblebloqueado: token futuro
ENTRENAMIENTO
Paralelo en filas
Las posiciones conocidas del lote se calculan juntas. La máscara invalida los logits que apuntan al futuro antes de aplicar softmax.
q₁q₂q₃q₄q₅
GENERACIÓN
Secuencial en tokens nuevos
El token siguiente todavía no existe. La caché KV reutiliza keys y values del prefijo para no recomputarlos en cada paso.
t₁→t₂→t₃→t₄ ?
Contrato: posición t puede usar 1…t; nunca t+1…n.
Así, aunque todas las posiciones del lote se procesen en paralelo durante el entrenamiento, cada predicción respeta el mismo contrato que existirá al generar: solo puede usar el prefijo disponible.
Durante la inferencia, la generación sigue siendo secuencial porque el token siguiente no existe hasta que se elige el anterior. La caché KV evita recalcular claves y valores de todo el prefijo en cada paso. El explorador de KV cache y contexto hace visible cómo crece esa memoria con la longitud, GQA/MQA, precisión y concurrencia.
Después de la atención, cada posición atraviesa una red densa aplicada de forma independiente y con los mismos parámetros para todas las posiciones de esa capa.1
RED FEED-FORWARD · POR POSICIÓN
La atención mezcla información entre tokens; la FFN transforma cada posición por separado
Después de la atención, cada vector pasa por la misma transformación de la capa: expansión a una dimensión interna, no linealidad o puerta y proyección de vuelta a dmodel. Durante esta operación no hay mezcla lateral entre posiciones.
ATTENTIONmezcla entre posiciones
POS. 1x₁
POS. 2x₂
POS. 3x₃
Una posición puede incorporar información de otras posiciones.
FFNtransformación independiente
POS. 1x₁
↓
LINEALdmodel → dff
↓
NO LINEALIDAD / PUERTAσ(·)
↓
LINEALdff → dmodel
↓
SALIDAy₁
POS. 2x₂
↓
MISMOS W₁, b₁dmodel → dff
↓
MISMA FUNCIÓNσ(·)
↓
MISMOS W₂, b₂dff → dmodel
↓
SALIDAy₂
POS. 3x₃
↓
LINEALdmodel → dff
↓
NO LINEALIDAD / PUERTAσ(·)
↓
LINEALdff → dmodel
↓
SALIDAy₃
Cada posición se transforma de forma independiente, pero comparte los parámetros de esa FFN dentro de la capa.
FORMA GENERALFFN(x) = W₂ σ(W₁x + b₁) + b₂Transformer original: ReLU entre dos proyecciones; dmodel=512 y dff=2048. Las arquitecturas modernas cambian anchos y pueden usar variantes con puertas como SwiGLU.
ATTENTIONdecide de qué posiciones recoger información
FFNtransforma localmente la representación resultante
PARÁMETROSse comparten entre posiciones de una capa; cambian entre capas
En modelos grandes, esta parte contiene una fracción importante de los parámetros y del cómputo. Arquitecturas modernas utilizan activaciones y puertas como GELU, SwiGLU o variantes equivalentes. Los modelos mixture-of-experts sustituyen una única red densa por varios expertos y enrutan cada token hacia una parte de ellos.
Cada subbloque no sustituye sin más la representación que recibe: aprende una transformación sobre una ruta residual que conserva la entrada. La posición de la normalización determina dónde se modifica la señal antes de continuar por la pila de capas.
RESIDUAL + NORMALIZACIÓN
La posición de la normalización cambia la ruta por la que viaja la representación
Cada subcapa aprende una transformación F —atención o FFN— mientras una ruta residual conserva la representación de entrada. Post-norm y pre-norm colocan la normalización en puntos distintos de ese mismo circuito.
La ruta de identidad también atraviesa la normalización antes de llegar a la siguiente capa.
PRE-NORMy = x + F(Norm(x))
ENTRADAx
↙︎ ↘︎
RUTA RESIDUALidentidadsin normalizar
RAMA DE LA SUBCAPANorm(x)↓F(·)Attention / FFN
+SUMA
↓
SALIDAy
La identidad queda como camino directo entre capas; la normalización vive dentro de la rama que aprende la corrección.
SE REPITEuna vez alrededor de atención y otra alrededor de la FFN
NO CAMBIAla idea residual: la subcapa aprende una corrección sobre x
SÍ CAMBIAdónde se normaliza la señal que atraviesa el bloque
El Transformer de 2017 usó post-norm. Xiong et al. analizaron por qué la colocación de LayerNorm afecta a la estabilidad de optimización y mostraron gradientes mejor comportados al inicio para pre-norm en su análisis y experimentos; eso no implica que una variante sea universalmente superior en cualquier arquitectura.
El Transformer original usó post-norm: suma primero la salida de la subcapa a la ruta residual y normaliza después.1 En pre-norm, la normalización se aplica dentro de la rama de la subcapa, dejando una ruta de identidad directa entre capas. El análisis de Xiong et al. muestra por qué esa colocación cambia el comportamiento de los gradientes al inicio del entrenamiento y puede mejorar la estabilidad de optimización.3
La misma estructura residual rodea tanto la atención como la red feed-forward. El detalle exacto de la normalización cambia entre familias, pero la idea central se mantiene: cada subcapa aprende una corrección sobre una representación que también puede avanzar por la ruta residual.
Encoder, decoder y encoder-decoder: cambia el contrato de atención
Comparten bloques Transformer, pero no exponen la misma información a cada posición. La diferencia está en qué puede atender a qué y en cómo fluye la información entre entrada y salida.
Cada posición puede combinar información de todo el input. Q, K y V proceden de la misma secuencia.
DECODERGenerar sin mirar el futuro
x₁x₂x₃x₄
self-attention causal→p(xt+1 | x≤t)
Cada posición solo puede usar el prefijo disponible. Ese mismo contrato sostiene la generación autoregresiva.
ENCODER-DECODERRepresentar entrada y generar salida
ENCODER
ABCD
memoria del input · K,V
Q → cross-attention ← K,V
DECODER
y₁y₂y₃
self-attention causal
Las queries vienen del decoder; keys y values vienen del encoder. Así la salida puede consultar todo el input mientras mantiene causalidad sobre sus propios tokens.
EncoderVisibilidad completa dentro del input.
DecoderVisibilidad causal dentro de la salida.
Encoder-decoderCausalidad en la salida + cross-attention sobre todo el input.
Idea clave: “Transformer” no describe un único diagrama. Describe bloques reutilizables cuyo patrón de atención cambia según la tarea.
BERT popularizó el uso de encoders con contexto bidireccional para producir representaciones útiles en clasificación, extracción y comprensión.4 Las familias GPT popularizaron el decoder causal para generación. El Transformer original combinaba ambos: el encoder representaba toda la entrada y el decoder generaba la salida consultando esas representaciones mediante cross-attention.1
“Transformer” no implica por tanto un único diagrama. Describe una familia de bloques y contratos de atención.
Las RNN y LSTM actualizan un estado paso a paso. Eso introduce una dependencia secuencial difícil de paralelizar y obliga a transportar información lejana a través de muchos pasos.
Por qué la atención cambió la ruta entre posiciones
La diferencia no es que una RNN “no pueda recordar” y un Transformer sí. Es la geometría del cómputo: una red recurrente propaga estado paso a paso; self-attention puede conectar dos posiciones conocidas dentro de una sola capa y procesar esas posiciones en paralelo.
SELF-ATTENTIONcada posición consulta el conjunto conocido
x₁1
x₂2
x₃3
x₄4
y₁
y₂
y₃
y₄
DEPENDENCIA x₁ ↔ y₄puede cruzar una sola capa de atención
OPERACIONES SECUENCIALES / CAPAO(1)
CAMINO MÁXIMO ENTRE POSICIONESO(1)
PARALELISMOdurante entrenamiento, las posiciones conocidas de una capa de atención pueden calcularse juntas; la recurrencia introduce una dependencia paso a paso
CAMINO CORTOuna relación distante no necesita atravesar una cadena de estados recurrentes dentro de la capa
PRECIOla atención densa compara pares de posiciones: gana paralelismo y camino corto, pero introduce la matriz n × n explicada en la sección siguiente
IMPORTANTEEsto describe el cómputo dentro de una capa sobre posiciones ya conocidas. Un decoder autoregresivo sigue generando tokens nuevos secuencialmente: el token t+1 no existe hasta decidir t.
La ventaja aparece sobre posiciones ya conocidas durante el entrenamiento: la atención reduce el número de operaciones secuenciales dentro de una capa y acorta el camino entre posiciones distantes. El precio es la interacción densa entre pares, que se vuelve importante al crecer el contexto.
Para una secuencia de longitud n, la matriz QKᵀ tiene n × n elementos. Su memoria y parte del cómputo crecen de forma cuadrática con la longitud.
Eso no significa que todo el coste del modelo sea siempre O(n²). Las proyecciones y redes feed-forward también pesan, y las implementaciones optimizadas evitan materializar ciertos intermedios. Pero el crecimiento de la interacción entre todos los pares sigue siendo un límite estructural para contextos muy largos.
COSTE DE ATENCIÓN DENSA
La longitud crece linealmente; las interacciones por pares, cuadráticamente
En self-attention densa, cada una de las n queries se compara con n keys. El cuello estructural aparece en la matriz de scores n × n, no en una afirmación de que todo el Transformer cueste siempre O(n²).
Qn × dkuna query por posición
×
Kᵀdk × nuna key por posición
→
QKᵀn × ncompatibilidad entre pares
→
softmax · Vn × dvmezcla de values
n = 416 scores
4 queries × 4 keys = 16 compatibilidades.
2× tokens→4× scores
n = 864 scores
8 queries × 8 keys = 64 compatibilidades.
Qué crece con n
INTERACCIÓN ALL-TO-ALLscores de atención · ~ n²
Para dimensiones fijas por cabeza, el trabajo de comparar todas las posiciones entre sí crece cuadráticamente con la longitud.
OTROS BLOQUESproyecciones + FFN · ~ n
Con ancho del modelo fijo, estas operaciones se aplican por posición. Por eso el coste total no se resume correctamente como “todo es O(n²)”.
KERNEL EXACTOFlashAttention · menos tráfico de memoria
Usa tiling para no materializar toda la matriz de atención en HBM y reducir lecturas/escrituras. Sigue calculando atención densa exacta.
Cuando n crece, hay varios puntos del espacio de diseño
CAMBIAR EL PATRÓNatención local o dispersareduce qué pares interactúan
REDUCIR LO QUE ENTRAretrieval, compresión, memoria externaevita atender a contexto irrelevante
CAMBIAR LA ARQUITECTURASSM e híbridosexploran otra dinámica de secuencia
n × n ES EL OBJETO CLAVEla matriz de scores representa interacciones entre pares de posiciones
OPTIMIZAR MEMORIA ≠ CAMBIAR EL PATRÓNFlashAttention mejora el movimiento de datos sin convertir la atención densa exacta en atención lineal
O(n²) NO DESCRIBE TODO EL MODELOFFN, proyecciones y otros componentes también contribuyen al coste total
Mamba mostró que una familia de modelos de espacio de estados selectivos podía procesar secuencias con crecimiento lineal y mantener capacidades competitivas en varios dominios.6 Eso no convierte al Transformer en obsoleto. Abre otro punto del espacio de diseño.
La arquitectura trabaja con secuencias de vectores, no exclusivamente con palabras.
Vision Transformer divide una imagen en parches, proyecta cada parche a un vector y aplica un encoder Transformer.5 En audio pueden usarse frames o tokens acústicos. En vídeo se combinan estructura espacial y temporal. En modelos multimodales, texto, imagen y audio pueden alinearse en espacios compartidos o conectarse mediante atención cruzada.
No. La atención combina representaciones disponibles en el contexto. Una caché KV conserva claves y valores para reutilizarlos durante la generación, pero no equivale a memoria persistente ni garantiza recordar información entre sesiones.
Cuando la dimensión de las claves crece, el producto escalar tiende a aumentar su varianza. Dividir por √d_k evita logits demasiado extremos y mantiene una región de gradiente más útil para softmax.
No. Un encoder puede producir representaciones o clasificaciones. Un Vision Transformer puede clasificar imágenes. La generación autoregresiva es una configuración concreta, no una propiedad obligatoria.
No. Aumenta la información disponible, pero también el coste y la dificultad de localizar la evidencia relevante. La calidad depende de la posición, el ruido, el entrenamiento para contexto largo y la estrategia de recuperación.