Ir al contenido
angel.library

Stanford CS336 — Language Modeling from Scratch

Curso de Stanford University, impartido por Tatsunori Hashimoto y Percy Liang. Edición de primavera de 2026, publicada por Stanford Online.

CS336 es la asignatura de Stanford en la que construyes un modelo de lenguaje desde cero: no lo usas por API ni ajustas uno ya hecho, sino que escribes el tokenizador, el Transformer y el optimizador, lo entrenas, lo escalas, preparas sus datos y lo alineas. La playlist recoge las 18 clases grabadas de la edición de 2026.

  • Un modelo de lenguaje (LLM) es una red neuronal entrenada para predecir el siguiente fragmento de texto. ChatGPT o Claude son modelos de lenguaje con mucho trabajo encima.
  • La tokenización es el paso que convierte texto en números (tokens) que la red puede procesar. Muchas rarezas de los LLM, como contar letras mal, vienen de aquí.
  • El post-entrenamiento es lo que ocurre después del entrenamiento masivo: ajuste supervisado (SFT) y aprendizaje por refuerzo (RLHF, RLVR) para que el modelo siga instrucciones o razone.
  • PyTorch es la librería de Python más usada para construir y entrenar redes neuronales. Es el lenguaje de trabajo de todo el curso.
ClasesTema
1Visión general y tokenización
2PyTorch (con einops) y contabilidad de recursos
3–4Arquitecturas, hiperparámetros y alternativas a la atención
5–6GPU, TPU, kernels, Triton y XLA
7–8Paralelismo para entrenar en varias GPU
9 y 11Leyes de escala (scaling laws)
10Inferencia
12Evaluación
13–14Datos: fuentes, filtrado, deduplicación y mezcla
15–16Mid-training y post-entrenamiento, incluido RLVR
17Alineamiento y multimodalidad
InvitadaClase de Dan Fu

Cada clase dura entre 1 h 10 min y 1 h 30 min. Las diapositivas y el código de las clases están en el repositorio stanford-cs336/lectures.

Lo que diferencia a CS336 de ver vídeos sobre LLM son las cinco tareas, públicas en la organización de GitHub del curso:

  1. Basics: implementar un tokenizador, la arquitectura Transformer y el optimizador, y entrenar un modelo mínimo.
  2. Systems: perfilar el modelo, escribir FlashAttention2 en Triton y montar entrenamiento distribuido eficiente en memoria.
  3. Scaling: estudiar los componentes del Transformer y ajustar una ley de escala consultando una API de entrenamiento.
  4. Data: convertir volcados en bruto de Common Crawl en datos de preentrenamiento mediante filtrado y deduplicación.
  5. Alignment and Reasoning RL: ajuste supervisado y aprendizaje por refuerzo para resolver problemas de matemáticas, con una parte opcional sobre DPO.

Son repositorios de la versión para estudiantes, con tests para comprobar tu implementación. La tarea 1, por ejemplo, gestiona el entorno con uv y arranca con todos los tests fallando hasta que completas las funciones de tests/adapters.py:

Ventana de terminal
git clone https://github.com/stanford-cs336/assignment1-basics.git
cd assignment1-basics
uv run pytest

Los datos de entrenamiento (TinyStories y una muestra de OpenWebText) se descargan aparte; los enlaces están en el README de la tarea. La propia web avisa de que es una asignatura de 5 créditos y muy centrada en la implementación: cuenta con que cada tarea lleve muchas horas.

Según la web del curso:

  • Dominio de Python y experiencia con deep learning y optimización de sistemas.
  • Cálculo y álgebra lineal de nivel universitario.
  • Probabilidad y estadística básicas.
  • Un curso previo de machine learning (CS221, CS229, CS230, CS224N o equivalente).

Si te falta base, LLMs from Scratch de Sebastian Raschka recorre un camino parecido a un ritmo más suave y con modelos más pequeños, y es buena preparación.

  • Sigue las clases con las tareas al lado. Ver las 18 clases sin implementar nada te deja una idea general; hacer la tarea 1 te deja entender cómo funciona un LLM por dentro.
  • Usa el doblaje como apoyo, no como sustituto. El audio en español es automático y la terminología técnica (atención, kernel, scaling law) puede salir mal traducida. Los subtítulos en inglés y las diapositivas ayudan a fijar los términos.
  • Mira las ediciones anteriores. La web enlaza las de 2024 y 2025, útiles si una clase de 2026 no te queda clara.

Conviene si ya programas en Python, tienes base de machine learning y quieres entender de verdad cómo se entrena un modelo de lenguaje, o si trabajas cerca de infraestructura de IA (inferencia, GPU, datos).

No conviene como primer contacto con la IA o con la programación. Para usar modelos en tus aplicaciones no hace falta este nivel: empieza por la terminología básica de IA o por cursos introductorios como los de NVIDIA.