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.
Conceptos en dos frases
Sección titulada «Conceptos en dos frases»- 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.
Qué cubren las clases
Sección titulada «Qué cubren las clases»| Clases | Tema |
|---|---|
| 1 | Visión general y tokenización |
| 2 | PyTorch (con einops) y contabilidad de recursos |
| 3–4 | Arquitecturas, hiperparámetros y alternativas a la atención |
| 5–6 | GPU, TPU, kernels, Triton y XLA |
| 7–8 | Paralelismo para entrenar en varias GPU |
| 9 y 11 | Leyes de escala (scaling laws) |
| 10 | Inferencia |
| 12 | Evaluación |
| 13–14 | Datos: fuentes, filtrado, deduplicación y mezcla |
| 15–16 | Mid-training y post-entrenamiento, incluido RLVR |
| 17 | Alineamiento y multimodalidad |
| Invitada | Clase 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.
Las tareas
Sección titulada «Las tareas»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:
- Basics: implementar un tokenizador, la arquitectura Transformer y el optimizador, y entrenar un modelo mínimo.
- Systems: perfilar el modelo, escribir FlashAttention2 en Triton y montar entrenamiento distribuido eficiente en memoria.
- Scaling: estudiar los componentes del Transformer y ajustar una ley de escala consultando una API de entrenamiento.
- Data: convertir volcados en bruto de Common Crawl en datos de preentrenamiento mediante filtrado y deduplicación.
- 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:
git clone https://github.com/stanford-cs336/assignment1-basics.gitcd assignment1-basicsuv run pytestLos 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.
Requisitos
Sección titulada «Requisitos»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.
Cómo aprovecharlo
Sección titulada «Cómo aprovecharlo»- 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.
Cuándo conviene y cuándo no
Sección titulada «Cuándo conviene y cuándo no»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.