Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

PyTorch — Avanzado

10h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • PyTorch

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Curso destinado a profesionales con experiencia previa en PyTorch que buscan llevar sus modelos a producción y escalarlos con garantías de eficiencia y reproducibilidad. A lo largo de las 10 horas, el participante aprenderá a diseñar arquitecturas de red personalizadas con flujos forward no lineales, a construir pipelines de datos robustos con augmentation y muestreo estratificado, y a dominar técnicas avanzadas de entrenamiento como mixed precision, gradient clipping y schedulers adaptativos. También abordará la evaluación crítica del rendimiento mediante múltiples métricas, la selección razonada de funciones de pérdida para escenarios complejos, la anticipación y mitigación de cuellos de botella de memoria y cómputo, y la optimización de la inferencia mediante TorchScript y ONNX. Al finalizar, el participante será capaz de entregar un experimento completamente reproducible —con logging, checkpointing e integración de búsqueda automática de hiperparámetros— listo para escalar en entornos reales.

Al finalizar el curso, el participante será capaz de:

  1. Conceptual — Explicar los principios que rigen el diseño de arquitecturas modulares con nn.Module, la gestión de memoria en GPU y los trade-offs entre distintas estrategias de pérdida y métricas de evaluación para tareas desbalanceadas o multi-objetivo.
  2. Conceptual — Describir cómo las técnicas de optimización de inferencia (TorchScript, ONNX) y las estrategias de escalado (gradient checkpointing, model parallelism) impactan en latencia, memoria y portabilidad del modelo.
  3. Procedimental — Construir redes neuronales personalizadas con bloques reutilizables y flujos forward no lineales, e implementar pipelines de datos avanzados con augmentation, muestreo estratificado y prefetch en GPU.
  4. Procedimental — Aplicar mixed precision, gradient clipping y schedulers adaptativos en el ciclo de entrenamiento, e integrar un framework de búsqueda automática de hiperparámetros (p. ej. Optuna) de forma reproducible.
  5. Integrador — Diseñar un sistema end-to-end que combine arquitectura personalizada, pipeline de datos eficiente, entrenamiento optimizado, evaluación multimétrica, logging con TensorBoard o W&B y exportación del modelo, demostrando la capacidad de reproducir cualquier experimento desde un checkpoint.

Bloque 1 — Arquitecturas avanzadas con nn.Module Se estudia la subclasificación de nn.Module como mecanismo central para construir redes con bloques reutilizables y flujos forward no lineales. Se analiza cómo descomponer arquitecturas complejas en componentes independientes y testeables, y se exploran patrones de diseño habituales en modelos de producción.

Bloque 2 — Pipelines de datos de alto rendimiento Se abordan las clases Dataset y DataLoader personalizadas para escenarios con datos heterogéneos. Se implementan transformaciones de augmentation en GPU, estrategias de muestreo estratificado para conjuntos desbalanceados y configuración de prefetch para minimizar tiempos de espera entre batches.

Bloque 3 — Optimización del ciclo de entrenamiento Se profundiza en mixed precision con torch.amp, gradient clipping y schedulers adaptativos como herramientas para reducir tiempo de cómputo y consumo de memoria. Se diseñan funciones de pérdida personalizadas basadas en nn.Module para problemas desbalanceados o multi-objetivo, evaluando argumentadamente los trade-offs de cada alternativa.

Bloque 4 — Evaluación crítica y búsqueda de hiperparámetros Se trabaja la selección y combinación de métricas —F1, AUC-ROC, calibración, entre otras— justificando su pertinencia según la naturaleza del problema. Se integra Optuna u otro framework de HPO en el bucle de entrenamiento para automatizar la exploración de learning rate, arquitectura y regularización de manera sistemática.

Bloque 5 — Escalado, eficiencia en producción y reproducibilidad Se examinan los cuellos de botella de memoria y cómputo más habituales, y se aplican técnicas como gradient checkpointing y model parallelism para anticiparlos antes de escalar. Se exportan modelos con TorchScript y ONNX midiendo la reducción de latencia respecto al modelo base, y se cierra el bloque diseñando un sistema de logging y checkpointing integrado con TensorBoard o W&B que garantice la reproducibilidad completa de cualquier experimento.

  • Python 3.10 o superior con entorno virtual dedicado (conda o venv).
  • PyTorch ≥ 2.2 con soporte CUDA (se recomienda GPU con al menos 8 GB VRAM; se proporcionará entorno en la nube como alternativa).
  • Librerías: torchvision, torch.amp, onnx, onnxruntime, optuna, tensorboard y/o cuenta activa en Weights & Biases.
  • Jupyter Lab o VS Code con extensión Python e integración de notebooks.
  • Git para control de versiones de experimentos y checkpoints.
  • Manejo fluido de tensores, autograd y el ciclo de entrenamiento estándar en PyTorch (contenido de nivel Intermedio — PPT02).
  • Familiaridad con Python orientado a objetos: herencia, métodos especiales y uso de entornos virtuales.
  • Conocimientos de álgebra lineal y cálculo aplicados a redes neuronales (gradientes, regla de la cadena).
  • Experiencia previa entrenando al menos un modelo supervisado completo (clasificación o regresión) con PyTorch.