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·ncclSalta 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á:
- 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.
- Calcular la fracción de burbuja de un calendario pipeline-parallel (PP).
- 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.
- Leer las fuentes de Megatron-LM y PyTorch FSDP con confianza.
- Saber lo que gastó. Factura cloud total de la Fase 35 ≤ $5.
Orden de lectura¶
theory/00-motivation.md— por qué distribuir, para empezar. Encuadre de dos cuellos de botella.theory/01-data-parallel-and-zero.md— DDP, ZeRO-½/3, FSDP. La familia "shardear X, all-reduce".theory/02-parallelism-flavors.md— TP, PP, sequence parallel, expert parallel. La familia "shardear el modelo, comunicar en las fronteras".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.theory/04-distributed-inference.md— TP para inferencia, prefill/decode desagregados, por qué es distinto del entrenamiento.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.lab/01-ddp-on-cpu.md— DDP entre 2 procesos CPU en local. Gratis.lab/02-tp-inference-cloud.md— inferencia TP a 2 GPUs. Tope duro de $3.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.
- 📄 ZeRO: Memory Optimizations Toward Training Trillion-Parameter Models — Rajbhandari et al. · 2019. el sharding tras FSDP/DeepSpeed.
- 📄 Megatron-LM: Training Multi-Billion Parameter Models Using Model Parallelism — Shoeybi et al. · 2019. paralelismo tensorial, formalizado.
- 📄 Ring Attention with Blockwise Transformers — Liu, Zaharia, Abbeel · 2023. paralelismo de contexto para ventanas de millones de tokens.