English · Español
00 — Motivación: por qué una corrida en la nube¶
🇪🇸 Hay un techo de aprendizaje que solo se rompe pagando: las dinámicas de pretraining (pretraining) a escala no se entienden leyendo papers. X1 paga ese mínimo ($50) para que palabras como "loss spike", "MFU 0.45" y "Chinchilla-óptimo" dejen de ser jerga y pasen a ser números medidos.
El currículo de 40 fases entrena un modelo de ≤500 k parámetros sobre un corpus de gramática verbal de 600 formas. Eso es suficiente para derivar cada mecanismo — atención (attention), autograd, batching, drift de precisión mixta, KV cache, RAG — desde primeros principios. No es suficiente para saber qué se siente entrenar a escala.
Este módulo existe para cerrar ese hueco con el menor gasto posible.
Qué significa "a escala" aquí¶
"Pretraining a escala" en la industria significa 1B–70B+ parámetros sobre 1T–15T tokens en 100–10000 GPUs durante 10–100 días. Ese mundo cuesta \(1M–\)100M por corrida. No vamos allí.
Vamos al primer peldaño que todavía enseña las dinámicas:
- 50M parámetros (~100× más grande que MiniGPT, ~140× más pequeño que Llama-3-8B).
- ~5B tokens (el presupuesto de datos compute-óptimo de Chinchilla para 50M parámetros; 50M × 20 ≈ 1B es técnicamente óptimo, sobre-entrenaremos ligeramente).
- 1× A100 80GB, 24 horas, ~$30.
A esta escala puedes:
- Ver una curva de loss real bajando de \(\ln V\) (entropía inicial) a ~3.0 nats/token sobre 5B tokens. (Modelos más grandes llegan a ~2.0; nosotros no.)
- Obtener un número honesto de MFU (model FLOPs utilization). 1× A100 en bf16, estilo GPT: 0.35–0.45 MFU es realista.
- Presenciar o inyectar un loss spike y ejecutar el post-mortem.
- Citar Chinchilla y comprobar si tu corrida coincidió con la predicción.
No puedes:
- Observar las transiciones cualitativas de fase ("capacidades emergentes") que aparecen pasados los ~1B parámetros y ~50B tokens. Eso necesita dinero real.
- Hacer stress-test de paralelismo 3D, ZeRO-3 o la aritmética de pipeline bubble experimentalmente. La Fase 35 los cubre como teoría + lectura.
- Practicar recuperación de cluster (caídas de nodo, timeouts de NCCL, corrupción de checkpoint a escala). Currículo distinto (el que tiene forma SRE).
El hueco honesto de HIRING_PATH.md¶
De HIRING_PATH.md línea 262:
Pretraining a escala. El currículo entrena un modelo de 100k–500k parámetros sobre un corpus de 600 formas. Las dinámicas del pretraining de miles de millones de parámetros (idiosincrasias de la curva de loss, inestabilidades estilo OPT, sutilezas de dynamic-loss-scaling) se leen, no se viven. La Fase 35 hace una panorámica de distribuido; no ejecuta un job de 70B.
X1 hace un movimiento dirigido contra este hueco: sí ejecuta un job real (pequeño) de pretraining. Tras X1 tienes un checkpoint safetensors de un modelo que entrenaste desde inicialización aleatoria sobre datos web reales, más una curva de loss, más un libro de costes.
Eso no es 70B. Tampoco es cero. Es el mínimo no-cero.
Por qué no simplemente leer más papers¶
Deberías hacer también eso — theory/01-04 existen por esa razón. Pero:
- Los números en papers se citan en cifras redondas convenientes. (Los "20 tokens/parámetro" de Chinchilla son una curva ajustada, no un entero.) Ejecutar una vez te muestra el ruido alrededor del titular.
- El impuesto de infraestructura del pretraining (throughput del data pipeline (data pipeline), cadencia de checkpoint, interleaving de eval, kill-and-resume) es invisible desde un paper. El lab te fuerza a atravesarlo.
- Un loss spike a la hora 14 de tu corrida es pedagogía que no puedes comprar de otra forma.
Qué no es este módulo¶
Tres modos de fallo para un módulo de aprendizaje de "pretraining a escala" que hay que evitar:
1. La caza de benchmarks. Esto no es "vencer a OLMo-150M en su suite de eval". No tenemos los datos ni el presupuesto. Perderemos. La eval es "¿terminó la corrida?, ¿produjo un checkpoint?, ¿la curva de loss coincidió con la predicción de la scaling law dentro de una tolerancia declarada?".
2. El desfile de frameworks. Es tentador usar esto como excusa para aprender accelerate, deepspeed, megatron, lightning, todo a la vez. No usaremos ninguno. Single-GPU, torch.compile plano, un único fichero de Python. El objetivo es mantener cada línea del training loop visible a la hora 14 cuando algo va mal.
3. El tinker infinito. Una configuración, derivada de la teoría. Si diverge, post-mortem, un re-lanzamiento. No barremos. Los barridos son cómo gastas $5 k por accidente.
La tesis de disciplina de coste¶
La Fase 35 introdujo src/distributed/budget_guard.py y un tope de $5. X1 sube el tope a $50 pero mantiene la disciplina. Cada acción en la nube en este módulo empieza con:
"Esto lanzará 1× A100 80GB spot en Lambda a $1.10/h, correrá durante ~24 h incluyendo impuesto de setup = $26.40. Presupuesto para lab 00: $35. Confirmado aceptable, $8.60 de buffer."
Si no puedes escribir esa frase sobre una corrida, la corrida no se lanza. El wrapper budget_guard.py de la Fase 35 lo impone — mismo módulo, tope subido, mismas reglas.
Si el gasto hora a hora excede la proyección en >20% (p. ej. el precio spot se triplicó), el guard avisa; tú decides matar o continuar. No hay modo de sobre-gasto silencioso.
Qué aterriza en el currículo más amplio¶
X1 es post-currículo pero retroalimenta a unos pocos sitios:
- Cuantización de la Fase 26. El artefacto capstone de X1 es el modelo base de 50M. Lo pasas por los caminos int8 / int4 de la Fase 26 y mides $/token en inferencia. Esto ancla la matemática de cuantización en un checkpoint que entrenaste.
- Agentes de la Fase 32. El tutor de gramática de la Fase 32 usa un LLM de pesos abiertos (clase Llama-3-8B o similar). Tras X1, tienes una intuición calibrada de lo que ese modelo le costó al equipo que lo pre-entrenó (puedes hacer la cuenta en
theory/02), lo que afina la decisión "usar vs entrenar". - Honestidad de
HIRING_PATH.md. La línea de la página 1 — "He ejecutado un job de pretraining sobre una GPU en la nube; aquí está la curva de loss, el coste y el ajuste de scaling law" — ya no es un disclaimer. Es un enlace.
Recapitulación de un párrafo¶
X1 cierra el hueco de "no hay pretraining real" en el currículo con una corrida dirigida, con tope de presupuesto, single-GPU: 50M parámetros, ~5B tokens, 24 horas, ~$30, tope duro de $50. El objetivo son números vividos: una curva de loss que puedes defender, un ajuste de scaling law que mediste, un post-mortem de loss spike que escribiste. No es ganar un benchmark, no es un desfile de frameworks, no es un tinker infinito. Una configuración, derivada de la teoría, ejecutada una vez, post-mortemizada y entregada como artefacto.
Siguiente: theory/01-scaling-laws.md.