Capítulo 06 · Entrenamiento · 10 min
Cómo aprende
Loss, descenso de gradiente, backpropagation. Y por qué se necesitan miles de millones de parámetros.
Aprender es corregir una prediccion
Durante el entrenamiento, el modelo no conversa. No sabe que es un usuario. No intenta ser util.
Solo recibe fragmentos de texto y debe predecir el siguiente token. Cuando se equivoca, medimos el error, lo propagamos hacia atras y modificamos un poco sus parametros para que la proxima vez sea menos probable cometer el mismo error.
La curva de loss baja por escalones — cada escalón corresponde a un nuevo patrón que el modelo acaba de aprender. Los cuatro regímenes de learning rate exponen los errores clásicos: demasiado bajo y el modelo se estanca; demasiado alto y diverge.
La loss
La loss es una medida de sorpresa. Si la respuesta correcta recibe mucha probabilidad, la loss es baja. Si recibe poca probabilidad, la loss sube.
Imagina que la continuacion correcta es Madrid:
- el modelo asigna 80 % a
Madrid→ poca sorpresa - asigna 2 % a
Madrid→ mucha sorpresa
Entrenar consiste en bajar esa sorpresa, paso tras paso, sobre cantidades enormes de texto.
Descenso por gradiente
El modelo contiene miles de millones de parametros. Cada parametro influye un poco en las probabilidades finales. Para reducir la loss, necesitamos saber en que direccion mover cada parametro.
Eso hace el descenso por gradiente: calcula la pendiente de la loss con respecto a cada peso y da un pequeño paso cuesta abajo.
η (eta) es el learning rate: el tamaño del paso. Demasiado pequeño, casi no avanzamos. Demasiado grande, saltamos sobre el valle y divergimos.
Adam: el descenso, pero mejor
La ecuacion Parametros ← Parametros − η × Gradiente describe el descenso de gradiente puro. En la practica, nadie lo usa tal cual para entrenar un LLM.
El optimizador de referencia se llama Adam (y su variante moderna AdamW). La idea: en vez de avanzar a ciegas en la direccion del gradiente actual, mantenemos una memoria de la direccion media reciente (el momentum) y de la varianza de las actualizaciones para cada parametro.
- Los parametros cuyo gradiente apunta sistematicamente en la misma direccion dan pasos grandes.
- Los que oscilan (gradiente ruidoso) dan pasos pequeños.
Adam se adapta asi automaticamente a cada parametro, mientras que SGD aplica el mismo learning rate a todos. Es mas estable y converge mucho mas rapido en la practica. AdamW (la version mas usada) añade ademas una regularizacion llamada weight decay que evita que los pesos exploten a lo largo del entrenamiento.
Hoy en dia, entrenar un LLM sin AdamW es tan raro como programar en ensamblador sin una buena razon.
Backpropagation
La backpropagation permite repartir el error por todo el modelo.
Si la prediccion final fue mala, no basta con ajustar la ultima capa. Hay que descubrir que embeddings, heads de atencion, capas feed-forward y normalizaciones contribuyeron al error. La regla de la cadena permite calcular esa responsabilidad, capa por capa, desde la salida hacia la entrada.
Escala
Un ejemplo de entrenamiento no enseña mucho. Diez millones tampoco bastan. Los LLM modernos aprenden con billones de tokens.
La escala cambia la naturaleza del aprendizaje:
- los patrones frecuentes se estabilizan
- los patrones raros aparecen suficientes veces para ser aprendidos
- capacidades que no se programaron explicitamente emergen como consecuencia de la prediccion
El modelo no memoriza cada frase. Comprime regularidades estadisticas en sus pesos.
Volvemos a esto en detalle en el capitulo 19 (leyes de escalado de Kaplan y Chinchilla) — incluido por que GPT-3 estaba subentrenado en datos y cual es el ratio optimo entre parametros y tokens.
Batch size: cuantos ejemplos a la vez
Nunca calculamos el gradiente sobre un solo ejemplo. Agrupamos varias secuencias en un batch, calculamos el gradiente medio sobre todo el batch y solo entonces actualizamos los parametros una vez.
Cuanto mas grande es el batch, mas estable es el gradiente (menos ruido) y mayor learning rate podemos permitirnos. Pero hace falta suficiente memoria GPU para guardarlo todo.
Para los LLM modernos, el batch size efectivo alcanza varios millones de tokens — normalmente combinando:
- El batch local (por GPU) — limitado por la VRAM.
- La gradient accumulation — calcular varios batches pequeños y aplicar la actualizacion solo al final.
- El paralelismo de datos — repartir el batch entre decenas, cientos o a veces miles de GPUs.
Lo que los ingenieros llaman global batch size es la cantidad total de datos que contribuye a un solo paso de optimizacion. En GPT-4 hablamos de millones de tokens por paso. Y, normalmente, todo el corpus se recorre una o varias veces — cada pasada completa es una epoca.
Los datos: la mitad del trabajo
Se habla mucho de parametros. Se habla menos de la preparacion de datos — que se lleva en realidad la mitad del tiempo de cualquier equipo serio que entrene un modelo.
- Filtrado — eliminar el contenido de baja calidad (spam, paginas de error 404, contenido autogenerado, listados de productos sin contexto).
- Deduplicacion — quitar duplicados. Common Crawl contiene muchas copias de las mismas paginas; dejarlas hace que el modelo aprenda de memoria en vez de generalizar.
- Mezcla — equilibrar las fuentes (Wikipedia, libros, codigo, articulos cientificos) segun su valor pedagogico, no su tamaño bruto.
- Filtrado de calidad — en los mejores equipos, un clasificador puntua cada documento para conservar solo lo que parece contenido de manual o articulo bien documentado.
- Descontaminacion — comprobar que los benchmarks de evaluacion (MMLU, HumanEval...) no se filtran en el corpus de entrenamiento.
El resumen brutal de un investigador de Meta: «pasamos el 10 % del tiempo entrenando el modelo y el 90 % preparando los datos.»
Tambien por eso los mejores modelos abiertos (Llama, Mistral, DeepSeek) casi nunca revelan los detalles de su receta de datos: es su principal ventaja competitiva.
Lo siguiente
Una vez entrenado, el modelo sabe producir distribuciones utiles sobre el siguiente token. Pero generar una respuesta no es solo tomar siempre el maximo. Hay que decidir cuanto azar permitir.
Ese es el tema de la generacion y el muestreo.
Actualizado el