🐱
😺
😸
🙀
😻

TRANSFORMER

Ilustrado con Gatitos 🐱

Basado en The Illustrated Transformer de Jay Alammar
pero con más 🐱 y menos matemáticas intimidantes

🐱 Gatitos
Atención
🧠 Magia
Empezar el viaje

📦 La Caja Mágica

Primero, veamos el Transformer como una caja negra mágica.
Entra un gatito en inglés, sale un gatito en español.

🐱 "The cat sits" (Inglés) 🤖 TRANSFORMER ✨ Magia ✨ 🐱 "El gato se sienta" (Español)
😺

¿Qué hace el Transformer?

Es como un traductor gatuno superinteligente. Pero a diferencia de traductores antiguos que leían palabra por palabra, este puede ver TODAS las palabras al mismo tiempo.

🐱 Imagina que el gatito puede ver toda la oración de un vistazo, en lugar de leer letra por letra.

🔄 Abriendo la Caja: Encoder y Decoder

Dentro de la caja hay dos equipos de gatitos trabajando juntos.

🐱 "The cat sits" ENCODERS Equipo que ENTIENDE 🧠 😺 Encoder 6 😺 Encoder 5 😺 Encoder 4 😺 Encoder 3 😺 Encoder 2 😺 Encoder 1 📤 Contexto DECODERS Equipo que GENERA 📝 😸 Decoder 6 😸 Decoder 5 😸 Decoder 4 😸 Decoder 3 😸 Decoder 2 😸 Decoder 1 🐱 "El gato se sienta"

😺 ENCODERS (x6)

El equipo que ENTIENDE

  • 🐱 Lee la oración completa
  • 🧠 Entiende el contexto
  • 📦 Empaqueta el significado
Analogía: Son como gatitos que leen un libro y luego te cuentan de qué trata.

😸 DECODERS (x6)

El equipo que GENERA

  • 📥 Recibe el contexto del encoder
  • ✍️ Genera palabra por palabra
  • 🎯 Produce la traducción
Analogía: Son como gatitos que escuchan el resumen y lo escriben en otro idioma.
💡
¿Por qué 6 de cada uno?

Cada capa entiende algo más profundo. Es como si el primer gatito entendiera las palabras, el segundo la gramática, el tercero el contexto, y así sucesivamente hasta entender completamente el significado.

🔢 Embeddings: Convirtiendo Palabras en Números

Los gatitos no entienden texto, solo números.
Necesitamos convertir cada palabra en una lista de 512 números.

The Vector 512D 0.23 -0.45 0.87 ... 0.12 🐱 cat Vector 512D 0.91 0.82 -0.15 ... 0.67 sits Vector 512D -0.33 0.56 0.44 ... -0.28 🧠 ¿Por qué 512? Es el tamaño del "cerebro" del modelo. Palabras similares tienen vectores similares! 🐱≈🐈

🐱 Palabras Similares = Vectores Cercanos

🐱 gato ↔️ 🐈 felino
Muy cercanos (0.95)
🐱 gato ↔️ 🐕 perro
Algo cercanos (0.65)
🐱 gato ↔️ 🚗 carro
Muy lejanos (0.12)

👁️ Self-Attention: El Superpoder del Transformer

Este es el truco mágico que hace al Transformer especial.
Cada palabra puede "mirar" a todas las demás para entender mejor su contexto.

Ejemplo: ¿A quién se refiere "ÉL"?

El gato no cruzó la calle porque ÉL estaba cansado

🐱 El modelo entiende que "ÉL" se refiere a "gato" porque puede ver toda la oración y encontrar conexiones!

Cómo Funciona Self-Attention (Paso a Paso)

1

Cada palabra hace 3 preguntas

🔍 Query "¿Qué busco?"
🔑 Key "¿Qué ofrezco?"
💎 Value "¿Qué contengo?"
2

Calculamos compatibilidad

Query de "ÉL" × Key de "gato" = Score alto! 🎯

Query de "ÉL" × Key de "calle" = Score bajo 😐

3

Softmax (convertir a %)

gato: 70%
cansado: 15%
cruzó: 10%
otros: 5%
4

Mezclar Values según %

La representación de "ÉL" ahora incluye

70% de "gato" + 15% de "cansado" + ...

🎉 "ÉL" ahora "sabe" que es un gato!

🔑 Query, Key, Value: La Trinidad del Attention

Imagina que cada palabra es un gatito en una fiesta 🎉

😺 ÉL 🔍 "Busco mi amigo" 🐱 gato 🔑 "Soy yo!" 💎 Score: 0.95 🛣️ calle Score: 0.15 😴 cansado Score: 0.45 Resultado 🎯 "ÉL" ahora contiene: 70% 🐱 + 20% 😴 + 10% otros = Sabe que es el gato! ✅
🔍

Query (Pregunta)

"¿Qué información estoy buscando?"

Ejemplo:

El gatito "ÉL" pregunta: "¿A quién me refiero?"

Q = embedding × WQ
🔑

Key (Etiqueta)

"¿Qué información tengo para ofrecer?"

Ejemplo:

El gatito "gato" responde: "Soy un sustantivo masculino!"

K = embedding × WK
💎

Value (Contenido)

"Este es mi contenido real si me eliges"

Ejemplo:

El gatito "gato" dice: "Aquí está toda mi info de 🐱"

V = embedding × WV

La Fórmula Mágica ✨

Attention(Q, K, V) = softmax( Q × KT √64 ) × V
1️⃣ Q × KT = ¿Cuánto matchean?
2️⃣ ÷ √64 = Estabilizar números
3️⃣ softmax = Convertir a porcentajes
4️⃣ × V = Mezclar contenidos

🐙 Multi-Head Attention: 8 Gatitos Expertos

En lugar de UN gatito mirando, tenemos 8 gatitos especialistas
mirando diferentes aspectos al mismo tiempo!

Palabra: "ÉL"
😺 1
Gramática ¿Es sujeto?
😸 2
Referencia ¿A quién se refiere?
😻 3
Género ¿Masculino/Femenino?
🙀 4
Número ¿Singular/Plural?
😹 5
Acción ¿Qué hace?
😼 6
Tiempo ¿Pasado/Presente?
😽 7
Lugar ¿Dónde está?
🐱 8
Emoción ¿Cómo se siente?
⬇️ Concatenar
Todas las perspectivas juntas (8 × 64 = 512 dimensiones)

Ejemplo Visual: "El gato comió porque él tenía hambre"

Head 1
"él"
gato comió hambre

Busca el sujeto → 🐱 gato

Head 5
"él"
gato comió hambre

Busca la acción → comió

Head 8
"él"
gato comió hambre

Busca emoción → hambre

🐙
¿Por qué múltiples cabezas?

Es como tener 8 gatitos expertos en diferentes temas. Uno sabe de gramática, otro de emociones, otro de referencias... ¡Juntos entienden TODO! 🎯

📍 Positional Encoding: ¿Dónde Está Cada Gatito?

El Transformer procesa todo en paralelo, pero necesita saber
el orden de las palabras. ¡"Gato come ratón" ≠ "Ratón come gato"!

El Problema 😱

Sin posición, el modelo ve:

gato come ratón

= Bolsa de palabras sin orden

Con posición, el modelo ve:

1gato 2come 3ratón

= Secuencia ordenada ✨

La Solución: Ondas Sinusoidales 🌊

1 2 3 4
Posiciones pares: PE(pos, 2i) = sin(pos / 10000^(2i/512))
Posiciones impares: PE(pos, 2i+1) = cos(pos / 10000^(2i/512))

Sumamos Posición + Embedding

Embedding "gato"
0.23 -0.45 0.87 ...
+
Posición 1
0.00 1.00 0.00 ...
=
Input al Encoder
0.23 0.55 0.87 ...
🐱

Analogía Gatuna

Imagina que cada gatito tiene un collar con número. Así aunque todos corran en paralelo, sabemos quién va primero, segundo, tercero... ¡El orden importa para contar la historia!

📤 El Decoder: Generando la Traducción

Ya entendimos el input. Ahora el Decoder genera la salida
palabra por palabra, usando el contexto del Encoder.

🎭

1. Masked Self-Attention

El decoder solo puede ver palabras anteriores

El gato se sienta
El 🚫 🚫 🚫
gato 🚫 🚫
se 🚫
sienta

🐱 Cuando generamos "se", solo podemos ver "El gato", NO "sienta"

🔗

2. Cross-Attention (Encoder-Decoder)

El decoder mira al encoder para obtener contexto

Encoder (EN)
The cat sits
Decoder (ES)
gato

🐱 Para generar "gato" en español, el decoder mira principalmente "cat" en inglés

🎰

3. Linear + Softmax: Elegir la palabra

Calculamos probabilidades para TODAS las palabras del vocabulario

gato
75%
felino
12%
minino
8%
otros...
5%
🐱 "gato"

Generación Paso a Paso

[START] El
[START] El gato
[START] El gato se
[START] El gato se sienta
[START] El gato se sienta [END] ✅

🎯 ¡Lo Lograste! Resumen Final

🇬🇧 Input EN 🔢 Embed + Posición 📍 😺 ENCODER Self-Attention + FFN × 6 Contexto 😸 DECODER Masked Attn Cross Attn + FFN × 6 📊 Softmax 🇪🇸 Output ES

🐱 Lo que Aprendiste Hoy

👁️

Self-Attention

Cada palabra puede ver a todas las demás

🔍🔑💎

Query, Key, Value

Preguntar, buscar, obtener info

🐙

Multi-Head

8 perspectivas diferentes

📍

Positional Encoding

El orden sí importa

🎭

Masked Attention

No ver el futuro al generar

🔗

Cross-Attention

Decoder consulta al Encoder

¡Felicidades! 🎉🐱

Ahora entiendes cómo funcionan ChatGPT, BERT, y todos los modelos modernos de IA.

Inspirado en Jay Alammar
Hecho con 💜 y muchos 🐱