Azure Machine Learning (AzureML) ahora proporciona una pila optimizada que utiliza la última tecnología de GPU NVIDIA con Quantum InfiniBand para entrenar y ajustar de manera eficiente modelos grandes como Megatron-Turing y GPT-3.
En los últimos años, los modelos de aprendizaje profundo basados en transformadores a gran escala entrenados en grandes cantidades de datos se utilizan para nuevos productos y varias tareas cognitivas. Estos modelos han crecido en tamaño y magnitud y las necesidades de capacitación y ajuste de los clientes han crecido en consecuencia.
El entrenamiento y el ajuste fino de este tipo de modelos requieren una arquitectura compleja y distribuida y la configuración de estas arquitecturas requiere varios pasos manuales y propensos a errores. Con esta nueva pila optimizada, AzureML permite una mejor experiencia en términos de usabilidad y rendimiento, proporcionando una canalización de capacitación fácil de usar. La pila propuesta de AzureML incluye: hardware, sistema operativo, imagen de máquina virtual, imagen de Docker (con PyTorch optimizado, DeepSpeed, ONNX Runtime y otros paquetes de Python) para rendimiento y escalabilidad sin complejidad.
Pila optimizada para capacitación distribuida escalable en Azure
Una posible configuración experimental está compuesta por la serie NDm A100 v4 que incluye dos CPU AMD EPYC 7V12 de 64 núcleos con socket, 1,7 TB de memoria principal y ocho GPU A100 de 80 GB. Se utiliza una topología PCIe equilibrada para conectar 4 GPU a cada CPU y cada GPU tiene su propia topología independiente de 200 Gb/s NVIDIA Mellanox HDR InfiniBand. Los 1,7 TB de memoria principal y las capacidades de descarga de la biblioteca DeepSpeed permiten escalar a modelos de gran tamaño. Esta configuración se puede usar tanto en AzureML Studio como en Azure VMSS, pero se recomienda la solución de AzureML Studio porque es la forma más fácil de configurar y ejecutar de manera correcta y sencilla.
Diferencias entre la arquitectura distribuida y la configuración de entrenamiento de AzureML
La pila propuesta de AzureML permite un entrenamiento eficiente de tamaños de modelo 2 veces más grandes (2 billones frente a 1 billón de parámetros), escalando a 2 veces más GPU (1024 frente a 512) y hasta 1,8 veces más rendimiento de cómputo/GPU (150 TFLOP frente a 100 TFLOP). 81 TFLOP). Esta pila también tiene la capacidad de ofrecer una escalabilidad casi lineal en términos de aumentar el tamaño del modelo y el aumento de la cantidad de GPU. Gracias a DeepSpeed ZeRO-3 con sus capacidades de descarga de CPU y esta nueva pila de AzureML, se mantiene el rendimiento eficiente/GPU de 157 TFLOP a medida que el modelo aumenta de 175 mil millones a 2 billones de parámetros y, dado un tamaño de modelo (por ejemplo, 175 mil millones en el siguiente gráfico), se logra una escala lineal si aumenta el número de GPU.
Los resultados más detallados se describen en el blog técnico ampliado de deepspeed.
una. rendimiento/GPU frente al tamaño del modelo de 175 mil millones a 2 billones de parámetros (BS/GPU=8),
b. Linear aumenta el escalado del rendimiento con el aumento del número de dispositivos GPU para el modelo 175B (BS/GPU=16).