Transformers
Los Transformers revolucionaron la Inteligencia Artificial moderna. Son la base de modelos como BERT, GPT, T5, ViT y prácticamente toda la IA generativa actual. En esta guía aprenderás cómo funcionan, qué problema resuelven y cómo se implementan.
Tabla de contenidos
- Limitaciones de las RNN y LSTM
- Qué es un Transformer
- Self‑Attention
- Multi‑Head Attention
- Positional Encoding
- Arquitectura Encoder‑Decoder
- Transformers modernos
- Ejemplo con Keras
- Ejercicios
1. Limitaciones de las RNN y LSTM
Aunque LSTM y GRU mejoran las RNN, siguen teniendo problemas:
- No se paralelizan bien
- Entrenamiento lento
- Dificultad para capturar dependencias muy largas
2. Qué es un Transformer
Un Transformer es una arquitectura basada completamente en mecanismos de atención, eliminando la necesidad de recurrencia o convoluciones.
3. Self‑Attention
El Self‑Attention permite que cada token de la secuencia atienda a todos los demás tokens.
Attention(Q, K, V) = softmax(QKᵀ / √dₖ) · V
4. Multi‑Head Attention
En lugar de una sola atención, el modelo usa varias cabezas para aprender diferentes patrones.
layers.MultiHeadAttention(num_heads=8, key_dim=64)
5. Positional Encoding
Como los Transformers no procesan secuencias de forma recurrente, necesitan codificar la posición de cada token.
PE(pos, i) = sin(pos / 10000^(i/d))
6. Arquitectura Encoder‑Decoder
- Encoder: procesa la entrada
- Decoder: genera la salida
- Usado en traducción automática
7. Transformers modernos
- BERT
- GPT
- T5
- ViT (Vision Transformer)
- DistilBERT
8. Ejemplo con Keras
import tensorflow as tf
from tensorflow.keras import layers
inputs = layers.Input(shape=(None, 64))
x = layers.MultiHeadAttention(num_heads=4, key_dim=64)(inputs, inputs)
x = layers.LayerNormalization()(x)
x = layers.Dense(128, activation='relu')(x)
outputs = layers.Dense(64)(x)
model = tf.keras.Model(inputs, outputs)
model.summary()
9. Ejercicios
- Explica por qué las RNN tienen problemas de paralelización.
- Define qué es Self‑Attention.
- ¿Qué es Multi‑Head Attention?
- Explica qué es Positional Encoding.
- Menciona dos modelos basados en Transformers.
# pista self-attention
"Cada token atiende a todos los demás."
# pista positional
"Codifica la posición de cada token."