Capítulo 1: ¿Qué son los modelos de lenguaje grandes?
Introducción
Los modelos de lenguaje grandes (LLM) representan uno de los avances más significativos en la inteligencia artificial. Estas enormes redes neuronales han demostrado habilidades notables para comprender y generar lenguaje humano, mostrando a menudo comportamientos que no fueron programados explícitamente.
Definición de modelos de lenguaje grandes
El factor de escala
Un modelo de lenguaje grande es una red neuronal entrenada con enormes cantidades de datos de texto, caracterizada por:
- Cantidad de parámetros: De miles de millones a billones de parámetros entrenables
- Datos de entrenamiento: Terabytes de texto de fuentes diversas
- Requerimientos de cómputo: Miles de horas-GPU para el entrenamiento
# Comparación de tamaños de modelos (conteos aproximados de parámetros)
model_sizes = {
"BERT-base": "110M",
"GPT-2": "1.5B",
"GPT-3": "175B",
"GPT-4": "~1.8T (estimated)",
"Llama-2-70B": "70B",
"Claude-3": "Unknown (estimated >100B)"
}
¿Qué los hace “grandes”?
El término "grande" se refiere a múltiples dimensiones:
| Dimensión | Modelos pequeños | Modelos de lenguaje grandes |
|---|---|---|
| Parámetros | Millones | Miles de millones a billones |
| Datos de entrenamiento | GB | TB a PB |
| Ventana de contexto | 512 tokens | 4K-128K+ tokens |
| Cómputo de entrenamiento | Días-GPU | Años-GPU |
Capacidades principales
1. Generación de texto
Los LLM sobresalen en generar texto coherente y apropiado al contexto:
# Ejemplo: Completado de texto
prompt = "The transformer architecture revolutionized NLP because"
# LLM completion: "it enabled parallel processing of sequences
# and captured long-range dependencies more effectively than
# recurrent approaches."
2. Aprendizaje en contexto
Una de las capacidades más notables de los LLM es aprender a partir de ejemplos proporcionados en el prompt:
# Ejemplo de few-shot learning
prompt = """
Translate English to French:
"Hello" -> "Bonjour"
"Thank you" -> "Merci"
"Good morning" -> """
# LLM output: "Bon matin" or "Bonjour"
3. Razonamiento y resolución de problemas
Los LLM modernos demuestran capacidades básicas de razonamiento:
# Razonamiento chain-of-thought
prompt = """
If a train travels at 60 mph for 2.5 hours,
how far does it travel?
Let me think step by step:
1. Distance = Speed × Time
2. Speed = 60 mph
3. Time = 2.5 hours
4. Distance = 60 × 2.5 = 150 miles
Answer: 150 miles
"""
Capacidades emergentes
Las capacidades emergentes son habilidades que aparecen solo cuando los modelos alcanzan cierta escala, ausentes en modelos más pequeños.
Ejemplos de emergencia
- Razonamiento de múltiples pasos: Descomponer problemas complejos en pasos
- Generación de código: Escribir programas funcionales a partir de descripciones
- Traducción: Traducir entre idiomas sin entrenamiento explícito
- Seguimiento de instrucciones: Comprender y ejecutar instrucciones complejas
La hipótesis de escalado
La investigación ha mostrado relaciones predecibles entre:
Donde:
- = Pérdida (menor es mejor)
- = Número de parámetros
- = Constantes determinadas empíricamente
Esto sugiere que simplemente escalar los modelos conduce a mejoras predecibles en la capacidad.
LLM vs. modelos de lenguaje tradicionales
Modelos de lenguaje estadísticos
Los modelos tradicionales estimaban probabilidades usando estadísticas n-gram:
Limitaciones:
- Ventana de contexto fija
- Problemas de datos dispersos
- Sin comprensión semántica
Modelos de lenguaje neuronales (pre-LLM)
Los primeros enfoques neuronales usaban RNN y LSTM:
# Modelo de lenguaje basado en RNN (simplificado)
class RNNLanguageModel:
def __init__(self, vocab_size, hidden_size):
self.embedding = Embedding(vocab_size, hidden_size)
self.rnn = RNN(hidden_size, hidden_size)
self.output = Linear(hidden_size, vocab_size)
def forward(self, x, hidden):
embedded = self.embedding(x)
output, hidden = self.rnn(embedded, hidden)
return self.output(output), hidden
Limitaciones:
- Procesamiento secuencial (entrenamiento lento)
- Gradientes que desaparecen
- Dependencias limitadas a largo plazo
Modelos de lenguaje grandes
Los LLM superan estas limitaciones mediante:
- Procesamiento en paralelo: Los transformers procesan todos los tokens simultáneamente
- Mecanismo de atención: Conexiones directas entre cualquier posición
- Escala: Capacidad masiva del modelo permite aprender patrones complejos
Los componentes fundamentales de los LLM
1. Tokenización
Conversión de texto a representaciones numéricas:
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("gpt2")
text = "Large Language Models are fascinating!"
tokens = tokenizer.encode(text)
# [16902, 15417, 32329, 389, 21120, 0]
2. Embeddings
Representaciones vectoriales densas de los tokens:
# Cada token se asigna a un vector de alta dimensión
embedding_dim = 768 # Común en modelos base
# "The" -> [0.23, -0.45, 0.12, ..., 0.89] # 768 valores
3. Capas de transformer
Las unidades centrales de procesamiento:
Input → Embedding → [Transformer Block × N] → Output
↓
Attention + FFN
4. Proyección de salida
Conversión de representaciones internas a probabilidades sobre el vocabulario:
Ejemplo práctico: ¿Cómo generan texto los LLM?
def generate_text(model, tokenizer, prompt, max_tokens=50):
"""
Simple autoregressive text generation
"""
input_ids = tokenizer.encode(prompt, return_tensors="pt")
for _ in range(max_tokens):
# Get model predictions
outputs = model(input_ids)
next_token_logits = outputs.logits[:, -1, :]
# Sample next token
next_token = torch.argmax(next_token_logits, dim=-1)
# Append to sequence
input_ids = torch.cat([input_ids, next_token.unsqueeze(0)], dim=-1)
# Stop if EOS token
if next_token == tokenizer.eos_token_id:
break
return tokenizer.decode(input_ids[0])
Puntos clave
- Los LLM se definen por la escala: miles de millones de parámetros, terabytes de datos de entrenamiento
- Las capacidades emergentes aparecen solo a escala suficiente
- La arquitectura Transformer permite entrenamiento eficiente y dependencias a largo plazo
- Generación autoregresiva: los LLM predicen un token a la vez
- Aprendizaje en contexto: los LLM pueden aprender de ejemplos en el prompt
Mirando hacia adelante
En el próximo capítulo, rastrearemos la evolución histórica de los modelos de lenguaje, desde las primeras redes neuronales recurrentes hasta la arquitectura Transformer revolucionaria que hizo posibles los LLM modernos.