Skip to content

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 · checkpointing Salta 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

  1. theory/00-motivation.md — por qué el bucle de entrenamiento es un ejercicio de corrección, no de tuning.
  2. theory/01-batching-loss-mask.md — batching de frases de longitud variable, padding, attention masks, convenciones de reducción de pérdida (loss).
  3. theory/02-optimizer-and-schedule.md — AdamW + warmup + cosine decay, derivados desde la base de la Fase 4.
  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.
  5. theory/04-checkpoints-and-mlflow.md — safetensors sobre pickle, disciplina del manifest, cómo mlflow lo envuelve (no lo reemplaza).
  6. lab/00-batch-and-mask.md — ensamblar batches desde los shards JSONL de conjugaciones de verbos con máscaras correctas.
  7. lab/01-train-mini.md — primer run real de entrenamiento; batir la baseline de n-gram.
  8. lab/02-checkpoint-roundtrip.md — guardar → recargar → forward; aserción de equivalencia byte a byte en fp64.
  9. lab/03-mp-drift.md — medir el drift numérico de fp16 en el paso forward.
  10. lab/04-mlflow-wiring.md — envolver la disciplina existente del manifest con mlflow, 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>.safetensors existe 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 mlflow localmente; URI registrado en PHASE_18_REPORT.md.
  • Existe un plot de drift fp16 por capa desde experiments/18-mp-drift/.
  • Ningún import de pickle en src/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.