Tutoriales y Guías

Estrategias de Paralelismo para Entrenar Modelos de Gran Escala en Múltiples GPUs

GPipe + PipeDream + Switch TransformerFuente: Lilian Weng23/09/2021, 21:00
El entrenamiento de grandes modelos de lenguaje neuronal presenta desafíos computacionales significativos, principalmente debido a las restricciones de memoria de las GPUs individuales y el tiempo prolongado requerido para la convergencia del modelo. Los modelos modernos con decenas de miles de millones de parámetros superan la capacidad de una única máquina. Varias estrategias de paralelismo abordan estas limitaciones. El paralelismo de datos replica el modelo completo en múltiples workers mientras distribuye los datos de entrenamiento entre ellos. Cuando el tamaño del modelo excede la memoria disponible, técnicas como la descarga de parámetros a CPU se vuelven necesarias. El paralelismo de modelo distribuye los pesos del modelo entre múltiples máquinas. El paralelismo de pipeline, implementado a través de frameworks como GPipe y PipeDream, combina estos enfoques particionando el modelo en capas y procesando múltiples mini-lotes en paralelo para reducir períodos de inactividad computacional. El paralelismo de tensor particiona operaciones tensoriales individuales, como se demuestra con Megatron-LM, paralelizando cálculos dentro de bloques de transformers. El enfoque Mixture of Experts ha surgido recientemente como técnica prominente, particularmente a través de implementaciones como GShard y Switch Transformer. En lugar de procesar siempre todos los parámetros, estos modelos emplean un mecanismo de gating para activar solo un subconjunto de redes de expertos para cada entrada, reduciendo significativamente la computación mientras escala parámetros totales a los trillones.
Estrategias de Paralelismo para Entrenar Modelos de Gran Escala en Múltiples GPUs — lupAI