
Deep Learning at Scale
Suneeta Mall
- Editorial
- O'Reilly
- Año
- 2024
- Páginas
- ~448
- Nivel
- Avanzado
De qué trata
Guía avanzada y exhaustiva de ingeniería de sistemas centrada en superar los cuellos de botella computacionales al escalar modelos de aprendizaje profundo desde una sola máquina hasta clústeres distribuidos multi-GPU y multi-nodo. Publicada en 2024, la obra trabaja sobre el ecosistema contemporáneo de Python y PyTorch (versión 2.x) en combinación con la infraestructura acelerada de hardware de NVIDIA. Está dirigida a ingenieros de machine learning, arquitectos de software e investigadores de nivel avanzado que ya dominan los conceptos teóricos del deep learning y necesitan resolver problemas reales de memoria insuficiente (OOM), latencia de comunicación y rendimiento a gran escala.
El texto desglosa minuciosamente la convergencia entre hardware, software y datos. Explica la arquitectura interna de los grafos de computación y el flujo de datos para después abordar los distintos paradigmas de paralelización: paralelismo de datos distribuido (DDP), paralelismo completamente fragmentado (PyTorch FSDP), paralelismo de tensores, de tuberías (pipeline parallelism) y estrategias híbridas. Enseña a integrar y configurar herramientas cruciales de la industria como Microsoft DeepSpeed (con sus etapas ZeRO), Ray y Ray Train para orquestación en la nube, Triton Inference Server para despliegue eficiente de inferencia y utilidades de perfilado (PyTorch Profiler y NVIDIA Nsight) para detectar atascos en la red NCCL y en el ancho de banda PCIe/NVLink.
A través de sus laboratorios prácticos, el lector diseña pipelines de entrenamiento distribuido, particiona pesos y estados de optimizadores para modelos de lenguaje masivos y ejecuta flujos de ajuste fino (fine-tuning) eficiente en modelos fundacionales. Su valor fundamental radica en desentrañar la mecánica de bajo nivel del hardware y las comunicaciones distribuidas, alejándose de recetas superficiales. Deja fuera el diseño teórico de nuevas arquitecturas de redes o la matemática introductoria de optimización; conviene tener un dominio sólido de Python, administración de entornos Linux y nociones básicas sobre la arquitectura de GPUs y CUDA.
- PyTorch Distributed
- FSDP
- DeepSpeed
- Ray Train
- Paralelismo de datos
- Paralelismo de tensores
- Pipeline parallelism
- Triton Inference Server
- GPU Profiling
- Modelos fundacionales
- Entrenamiento distribuido
¿Cómo enseña?
Teoría + práctica
- ✓ Incluye ejercicios
- ✓ Incluye proyectos
Proyectos
Arquitectura de entrenamiento distribuido con PyTorch FSDP y DeepSpeed
Configuración y benchmarking de entrenamiento paralelo multi-GPU en clústeres, fragmentando parámetros y gradientes con ZeRO y FSDP para entrenar modelos a gran escala sin agotar la memoria.
Pipeline de fine-tuning y despliegue escalable de modelos fundacionales
Flujo de trabajo para adaptar y ajustar modelos de gran tamaño de manera eficiente, orquestando el proceso con Ray Train y optimizando la inferencia en producción mediante Triton Inference Server.
