Skip to content

English · Español

Fase 35 — Entrenamiento e inferencia distribuidos

Requiere: 18 — Bucle de entrenamiento, anticipo de mixed precision, checkpointing · 34 — Observabilidad, coste y capacidad Enseña: distributed-training · ddp · fsdp · tensor-parallel · allreduce · nccl Salta a cualquier capítulo desde el índice de referencia de fases.

Mapa del capítulo

Pre-escrita según A12. La teoría y los enunciados de los labs son borradores estables; las soluciones se escriben justo a tiempo al abrir la fase.

🇪🇸 La única fase del currículum donde Borja toca de verdad múltiples GPUs. Por eso cada experimento empieza calculando coste en USD antes de lanzar nada — y un guardia de presupuesto (budget_guard.py) corta si nos pasamos del techo de $5.


Objetivo

Vocabulario + modelos mentales + un dedo en la cartera. Al cerrar la fase Borja podrá:

  1. Esbozar cómo se shardea un bloque transformer bajo tensor parallel (TP), con QKV column-parallel, output row-parallel, MLP up column-parallel, MLP down row-parallel.
  2. Calcular la fracción de burbuja de un calendario pipeline-parallel (PP).
  3. Elegir la estrategia de paralelización adecuada (DDP / ZeRO-N / FSDP / TP / PP) dados un tamaño de modelo + una restricción de topología de cluster.
  4. Leer las fuentes de Megatron-LM y PyTorch FSDP con confianza.
  5. Saber lo que gastó. Factura cloud total de la Fase 35 ≤ $5.

Orden de lectura

  1. theory/00-motivation.md — por qué distribuir, para empezar. Encuadre de dos cuellos de botella.
  2. theory/01-data-parallel-and-zero.md — DDP, ZeRO-½/3, FSDP. La familia "shardear X, all-reduce".
  3. theory/02-parallelism-flavors.md — TP, PP, sequence parallel, expert parallel. La familia "shardear el modelo, comunicar en las fronteras".
  4. theory/03-collectives-and-cost.md — colectivos NCCL (all-reduce, reduce-scatter, all-gather), algoritmos en anillo vs en árbol, matemáticas de ancho de banda.
  5. theory/04-distributed-inference.md — TP para inferencia, prefill/decode desagregados, por qué es distinto del entrenamiento.
  6. lab/00-cloud-budget-and-tooling.md — encuesta de proveedores + estimaciones de coste + alta del budget guard. Ejecutar antes de cualquier spinup en la nube.
  7. lab/01-ddp-on-cpu.md — DDP entre 2 procesos CPU en local. Gratis.
  8. lab/02-tp-inference-cloud.md — inferencia TP a 2 GPUs. Tope duro de $3.
  9. lab/03-megatron-fsdp-reading.md — lectura anotada. Gratis.

solutions/ está vacío durante el pre-write — se llena al abrir la fase, una vez los internos de PyTorch de la Fase 25 de Borja estén en su sitio.

Definition of Done

Ver PHASE_35_PLAN.md §6. Resumiendo:

  • El experimento DDP-CPU corre en local, con el tiempo de all-reduce registrado.
  • El experimento TP-cloud corre con gasto ≤ $3; la curva de speedup queda commited.
  • Notas de lectura de Megatron + FSDP con ≥5 citas de decisiones de diseño cada una.
  • Gasto cloud total de la Fase 35 ≤ $5, registrado en experiments/35-cloud-budget.md.
  • Diagrama mermaid del sharding del bloque TP commited.
  • /quiz 35 ≥ 70%.

Lo que esta fase intencionadamente NO cubre

  • Implementar un DDP/TP/PP de grado producción desde cero. El listón es leer y una versión educativa mínima. Borja usará los frameworks reales para la capstone.
  • Clusters multi-nodo. Solo nodo único, 2 GPUs. El benchmarking multi-nodo con InfiniBand está fuera de presupuesto y fuera de alcance.
  • Expert parallelism de MoE en profundidad. Se toca en la Fase 36 (arquitecturas frontera), no aquí.
  • Paralelismo 3D (DP × TP × PP). Solo concepto; las matemáticas se ponen feas y el presupuesto dice que no.
  • Entrenar un modelo frontera. No es el objetivo. El objetivo es entender lo que hacen esos equipos.
  • Implementación de prefill/decode desagregados. Solo concepto — cubierto en el archivo de teoría 04.

El alcance de la Fase 35 es vocabulario de paralelización distribuida + un pequeño contacto práctico, dentro de presupuesto. Nada más.

Lecturas recomendadas

Opcional — enriquece pero no es necesario para aprobar la fase.