English · Español
Fase 18 — Bucle de entrenamiento (training loop), checkpointing, preview de precisión mixta¶
Requiere: 12 — El corpus: diseñando el dataset microscópico · 17 — Bloque transformer diminuto y mini-GPT Enseña:
training-loop·batching·adamw·warmup·cosine-decay·checkpointingSalta a cualquier capítulo desde el índice de referencia de fases.
Mapa del capítulo¶
Preescrito según A12. Los enunciados de teoría y laboratorio son borradores estables; las soluciones se escriben justo a tiempo en la apertura de la fase.
La fase donde el modelo por fin aprende. El bucle de entrenamiento (training loop) es prosa de bajo glamour: batching correcto, una pérdida (loss) bien reducida, un schedule honesto, checkpoints que se cargan idénticos. Si esto no es sólido, las fases 19-22 son depuración eterna.
Objetivo¶
Entrenar MiniGPT (de la Fase 17) sobre el corpus de la Fase 12 de conjugaciones de verbos en inglés + traducciones al español, batir la baseline de n-gram de la Fase 14 sobre el split held-out (verbo, tiempo, persona), guardar el resultado como un checkpoint en safetensors recargable, y registrar el run en mlflow (instalado por primera vez en esta fase según LYNX_CORTEX_ADDENDUM.md §A8).
Al final de la Fase 18, Borja puede explicar — con código que él mismo escribió — por qué existe cada línea de src/minitrain/loop.py, qué se rompería si se eliminara, y cómo el estado del optimizador, el estado del scheduler, el estado del RNG y los pesos del modelo forman juntos un run de entrenamiento reproducible.
Orden de lectura¶
theory/00-motivation.md— por qué el bucle de entrenamiento es un ejercicio de corrección, no de tuning.theory/01-batching-loss-mask.md— batching de frases de longitud variable, padding, attention masks, convenciones de reducción de pérdida (loss).theory/02-optimizer-and-schedule.md— AdamW + warmup + cosine decay, derivados desde la base de la Fase 4.theory/03-mixed-precision-preview.md— matemáticas de fp16/bf16, por qué no entrenamos en mp en este hardware, qué profundizará la Fase 26.theory/04-checkpoints-and-mlflow.md— safetensors sobre pickle, disciplina del manifest, cómo mlflow lo envuelve (no lo reemplaza).lab/00-batch-and-mask.md— ensamblar batches desde los shards JSONL de conjugaciones de verbos con máscaras correctas.lab/01-train-mini.md— primer run real de entrenamiento; batir la baseline de n-gram.lab/02-checkpoint-roundtrip.md— guardar → recargar → forward; aserción de equivalencia byte a byte en fp64.lab/03-mp-drift.md— medir el drift numérico de fp16 en el paso forward.lab/04-mlflow-wiring.md— envolver la disciplina existente del manifest conmlflow, no reemplazarla.
solutions/ está vacío durante el pre-write — se rellena en la apertura de la fase tras arreglar la API de MiniGPT de la Fase 17 de Borja.
Definition of Done¶
Véase PHASE_18_PLAN.md §6. Brevemente:
models/minigpt-phase18-<hash>.safetensorsexiste y recarga byte a byte.- La perplexity de validación de
experiments/18-train-mini/bate la baseline de n-gram de la Fase 14 sobre el split held-out (verbo, tiempo, persona). - Existe un run de
mlflowlocalmente; URI registrado enPHASE_18_REPORT.md. - Existe un plot de drift fp16 por capa desde
experiments/18-mp-drift/. - Ningún import de
pickleensrc/minitrain/.
Lo que esta fase intencionadamente NO cubre¶
- PyTorch. Fase 24. El entrenamiento se queda en NumPy puro + minitorch hecho a mano +
safetensors+mlflow. - Entrenamiento real en precisión mixta. Fase 26. Calculamos el drift, no optimizamos a través de él.
- Entrenamiento distribuido. Fase 35. Solo un proceso.
- Búsqueda de hiperparámetros. La Fase 18 entrena una configuración que bate la baseline. El tuning es un ejercicio de dinámica de la Fase 19.
- LoRA / PEFT. Fase 28. Solo entrenamiento de todos los parámetros.
- Eval más allá de la perplexity. Fase 20. Aquí, perplexity vs baseline es la única métrica que decide la DoD.
- KV cache. Fase 22. El entrenamiento nunca usa una; la inferencia sí.
- Calidad de sampling / generación. Fase 21. El entrenamiento optimiza el log-likelihood; la política de decoding es la siguiente fase.
El alcance de la Fase 18 es el primer bucle de entrenamiento reproducible, observable y checkpointable para MiniGPT sobre el corpus de gramática verbal. Nada más.
Lecturas recomendadas¶
Opcional — enriquece pero no es necesario para aprobar la fase.
- 📄 Decoupled Weight Decay Regularization (AdamW) — Loshchilov & Hutter · 2017. el optimizador + decay que el bucle de entrenamiento usa.
- 📄 SGDR: Stochastic Gradient Descent with Warm Restarts — Loshchilov & Hutter · 2016. de dónde viene el schedule de LR coseno.