Microsoft acelera PyTorch con DeepSpeed

Microsoft ha lanzado DeepSpeed, una nueva biblioteca de optimización de aprendizaje profundo para PyTorch, que está diseñada para reducir el uso de memoria y entrenar modelos con un mejor paralelismo en el hardware existente.

De acuerdo con una publicación de blog de Microsoft Research que anuncia el nuevo marco, DeepSpeed ​​mejora la capacitación del modelo PyTorch a través de una tecnología de optimización de memoria que aumenta la cantidad de parámetros posibles con los que se puede entrenar un modelo, hace un mejor uso de la memoria local de la GPU y solo requiere cambios mínimos a una aplicación PyTorch existente para ser útil.

Es el impacto mínimo en el código PyTorch existente el que tiene el mayor impacto potencial. A medida que las bibliotecas de aprendizaje automático se afianzan y más aplicaciones se vuelven dependientes de ellas, hay menos espacio para nuevos marcos y más incentivos para hacer que los marcos existentes sean más efectivos y escalables.

PyTorch ya es rápido cuando se trata tanto de velocidad de cálculo como de desarrollo, pero siempre hay margen de mejora. Las aplicaciones escritas para PyTorch pueden utilizar DeepSpeed ​​con solo cambios mínimos en el código; no es necesario comenzar desde cero con otro marco.

Una forma en que DeepSpeed ​​mejora PyTorch es mejorando su paralelismo nativo. En un ejemplo, proporcionado por Microsoft en la documentación de DeepSpeed, tratando de entrenar un modelo usando el sistema paralelo de datos distribuidos de PyTorch en las GPU Nvidia V100 con 32 GB de memoria del dispositivo "[ran] sin memoria con 1.500 millones de modelos de parámetros ", mientras que DeepSpeed ​​pudo alcanzar los 6.000 millones de parámetros en el mismo hardware.

Otra mejora promocionada de DeepSpeed ​​es el uso más eficiente de la memoria de la GPU para el entrenamiento. Al dividir el entrenamiento del modelo en las GPU, DeepSpeed ​​permite que los datos necesarios se mantengan a mano, reduce los requisitos de memoria de cada GPU y reduce la sobrecarga de comunicación entre las GPU.

Un tercer beneficio es permitir más parámetros durante el entrenamiento del modelo para mejorar la precisión de la predicción. La optimización de hiperparámetros, que se refiere al ajuste de los parámetros o variables del proceso de capacitación en sí, puede mejorar la precisión de un modelo, pero generalmente a costa del esfuerzo manual y la experiencia.

Para eliminar la necesidad de experiencia y esfuerzo humano, muchos marcos de aprendizaje automático ahora admiten algún tipo de optimización automática de hiperparámetros. Con DeepSpeed, Microsoft afirma que "los modelos de aprendizaje profundo con 100 mil millones de parámetros" pueden capacitarse en "la generación actual de clústeres de GPU a un rendimiento de tres a cinco veces superior al del mejor sistema actual".

DeepSpeed ​​está disponible como código abierto gratuito bajo la Licencia MIT. Tutoriales en el repositorio oficial funciona con Microsoft Azure, pero Azure no está obligado a usar DeepSpeed.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *