Capítulo 6. Aceleración y optimización de PyTorch
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
En los capítulos anteriores, aprendiste a utilizar las capacidades incorporadas de PyTorch y a ampliarlas creando tus propios componentes personalizados para el aprendizaje profundo. Hacerlo te permite diseñar rápidamente nuevos modelos y algoritmos para entrenarlos.
Sin embargo, cuando se trata de conjuntos de datos muy grandes o de modelos más complejos, entrenar tus modelos en una sola CPU o GPU puede llevar muchísimo tiempo: puedes tardar días o incluso semanas en obtener resultados preliminares. Los tiempos de entrenamiento más largos pueden llegar a ser frustrantes, especialmente cuando quieres realizar muchos experimentos utilizando diferentes configuraciones de hiperparámetros.
En este capítulo, exploraremos las técnicas más avanzadas para acelerar y optimizar el desarrollo de tus modelos con PyTorch. En primer lugar, estudiaremos el uso de unidades de procesamiento tensorial (TPU) en lugar de dispositivos GPU y consideraremos casos en los que el uso de TPU puede mejorar el rendimiento. A continuación, te mostraré cómo utilizar las capacidades integradas de PyTorch para el procesamiento paralelo y el entrenamiento distribuido. Esto te proporcionará una referencia rápida para entrenar modelos a través de múltiples GPUs y múltiples máquinas, de modo que puedas escalar rápidamente tu entrenamiento cuando dispongas ...