Cómo lee un transformer «The cat sat on the mat», paso a paso
Seguimos una frase a través de una capa de transformer: tokens, embeddings, posiciones, self-attention, conexiones residuales, normalización y red feed-forward.
Un modelo de lenguaje grande es un modelo de deep learning basado en la arquitectura transformer y entrenado con enormes cantidades de texto para entender y generar lenguaje humano. Si le escribes una frase sencilla, «The cat sat on the mat» («El gato se sentó en la alfombra»), el modelo no la lee como tú. Convierte las palabras en números, les añade información sobre dónde está cada una, deja que cada palabra mire a todas las demás para reunir contexto y luego refina esos números una y otra vez hasta que cada palabra tiene una representación más rica y con más sentido.
Todo eso ocurre dentro de un transformer, y la idea básica no exige matemáticas pesadas. Basta con seguir la frase desde el texto en bruto hasta un conjunto final de números que contiene significado, relaciones y contexto. Este es el recorrido de «The cat sat on the mat» por una capa de transformer.
Cuatro ideas para no perderse
- Attention: los tokens hablan entre sí.
- Red feed-forward (FFN): cada token procesa lo que ha recogido.
- Conexión residual: no se tira la información antigua.
- Normalización: los números se mantienen estables.
Qué entra en el bloque
1. Texto
La entrada es la frase en inglés tal cual. Por el camino las palabras no se convierten en otras palabras. Lo que cambia en cada paso es la representación vectorial de cada token.
2. Tokens
La frase se trocea en pequeñas unidades llamadas tokens, que suelen ser palabras enteras o fragmentos de palabras: «The», «cat», «sat», «on», «the», «mat».
3. Embeddings
Cada token se convierte en una lista de números, su embedding, que funciona como una primera huella aproximada del significado de la palabra. En este punto «cat» y «mat» ya tienen huellas distintas, pero ninguno sabe nada del resto de la frase. Cada ID de token se transforma en un vector:
The → [vector]
cat → [vector]
sat → [vector]
on → [vector]
the → [vector]
mat → [vector]
4. Posición
El orden importa, así que cada token recibe también una marca de su lugar: primero, segundo, etcétera. Ahora «cat» sabe que es la segunda palabra y «mat» que es la última. Las huellas se enriquecen un poco.
5. Self-attention
Aquí el transformer se pregunta, para cada token, qué otros tokens de la frase son relevantes. El modelo deja que los tokens se miren entre sí y puede aprender vínculos fuertes, como que «The» va ligado a «cat» y que «sat» describe una acción en la que participa «cat». Cada token mira a todos los demás y decide cuánta atención merece cada uno. «Sat» se apoya mucho en «cat», quien se sienta, y en «mat», el lugar. El «the» delante de «mat» atiende sobre todo a «mat».
Después de la atención, cada token ha absorbido información útil del resto de la frase. «Cat» tiene ahora una vaga idea de que es quien está sentado, y «mat» una pista de que algo está sobre ella. Dicho de otro modo:
- cat pasa a ser «cat más información sobre su contexto»
- sat pasa a ser «sat más información sobre quién se sienta»
- mat pasa a ser «mat más información sobre su relación con 'on'»
Los tokens han pasado de representaciones aisladas a representaciones conscientes del contexto.
6. Conexión residual
La información original del token no debe perderse, así que el resultado de la atención se le suma. Para «cat»:
Original: "cat"
+Attention
information: "cat is related to The and sat"
Updated : "cat + its contextual information"
7. Normalización
Después, las representaciones se normalizan:
Updated representations
↓
Normalize
↓
Well-scaled representations
Conceptualmente, para la frase:
cat + context
↓
normalized cat + context
sat + context
↓
normalized sat + context
¿Qué ha cambiado? Aquí el significado no debería cambiar. Los números se reescalan para que la red sea más estable y más fácil de entrenar.
8. Red feed-forward
A continuación, cada token trabaja sobre su propia representación actualizada. Una pequeña red neuronal, la red feed-forward, examina por separado los números de cada token y los vuelve a transformar: afina significados, combina ideas o prepara el vector para la siguiente capa. Puede que «cat» salga con una idea más clara de ser un animal sentado y «mat» con una idea más clara de ser una superficie. Este trabajo no es el mismo que el de la atención:
In Attention "Which other tokens are useful?"
In FNN "Now that I have this information, how should I transform it?"
9. Segunda conexión residual
La información anterior se conserva de nuevo, con la misma idea aplicada a cada token:
Before FFN:
"cat + context"
+
FFN output:
"refined representation"
↓
After residual:
"cat + context + refined information"
Qué ha cambiado:
Previous representation
+
FFN's new information
↓
Richer representation
10. Segunda normalización
Las representaciones actualizadas se normalizan una vez más, por estabilidad:
Richer representations
↓
Norm
↓
Stable richer representations
11. Una representación más rica
Lo que empezó como huellas toscas de palabras es ahora un conjunto de números mucho más completo. Cada token contiene su propio significado, su posición y cómo se relaciona con las demás palabras. Esta representación pasa a la siguiente capa del transformer o a la etapa de salida final, donde el ciclo se repite y la lectura que hace el modelo de «The cat sat on the mat» se vuelve más profunda.
Antes del bloque, cada token contiene sobre todo información sobre sí mismo:
The → mostly information about "The"
cat → mostly information about "cat"
sat → mostly information about "sat"
on → mostly information about "on"
the → mostly information about "the"
mat → mostly information about "mat"
Después del bloque:
The
↓
"The + information from its context"
cat
↓
"cat + information about its relationships"
sat
↓
"sat + information about cat and the sentence"
on
↓
"on + relationship information"
the
↓
"the + contextual information"
mat
↓
"mat + information about its relationship with on"
.
↓
". + sentence-ending context"
Luego viene otro bloque transformer:
Block 1
──────────────
The → contextual representation
cat → contextual representation
sat → contextual representation
on → contextual representation
the → contextual representation
mat → contextual representation
↓
Block 2
──────────────
The → more refined representation
cat → more refined representation
sat → more refined representation
on → more refined representation
the → more refined representation
mat → more refined representation
El mismo proceso se repite después a lo largo de muchas capas. Un transformer transforma progresivamente las representaciones de los tokens: de información simple del token a información contextual y de ahí a representaciones muy ricas que el modelo final usa para predecir el siguiente token.
En resumen
Un transformer no entiende el lenguaje como una persona. Toma una frase como «The cat sat on the mat», la divide en tokens y convierte cada uno en números con información de posición añadida. La atención permite que cada palabra reúna contexto de las demás, las conexiones residuales y la normalización mezclan y refinan los números, y una red feed-forward los transforma aún más. Tras muchas repeticiones, el modelo tiene una imagen numérica de la frase mucho más rica, que codifica en silencio significado, relaciones y orden. Esa imagen es la que permite a los modelos de lenguaje grandes continuar un texto, responder preguntas o proponer ideas nuevas con tanta soltura.