ChatPaper.aiChatPaper

Paralelismo de Tuberías con Cero Burbujas

Zero Bubble Pipeline Parallelism

November 30, 2023
Autores: Penghui Qi, Xinyi Wan, Guangxing Huang, Min Lin
cs.AI

Resumen

El paralelismo de pipeline es uno de los componentes clave para el entrenamiento distribuido a gran escala, aunque su eficiencia se ve afectada por las burbujas de pipeline, que se consideraban inevitables. En este trabajo, presentamos una estrategia de planificación que, hasta donde sabemos, es la primera en lograr con éxito cero burbujas de pipeline bajo semántica de entrenamiento sincrónico. La idea clave detrás de esta mejora es dividir el cálculo de retropropagación en dos partes: una que calcula el gradiente para la entrada y otra que lo calcula para los parámetros. Basándonos en esta idea, diseñamos manualmente nuevos planes de pipeline que superan significativamente a los métodos de referencia. Además, desarrollamos un algoritmo que encuentra automáticamente un plan óptimo basado en la configuración específica del modelo y el límite de memoria. Adicionalmente, para lograr verdaderamente cero burbujas, introducimos una técnica novedosa para evitar sincronizaciones durante el paso del optimizador. Las evaluaciones experimentales muestran que nuestro método supera al plan 1F1B hasta en un 23% en rendimiento bajo un límite de memoria similar. Este número puede aumentar hasta un 31% cuando se relaja la restricción de memoria. Creemos que nuestros resultados representan un avance importante en el aprovechamiento del verdadero potencial del paralelismo de pipeline. Hemos liberado nuestra implementación basada en el popular repositorio Megatron-LM en https://github.com/sail-sg/zero-bubble-pipeline-parallelism.
English
Pipeline parallelism is one of the key components for large-scale distributed training, yet its efficiency suffers from pipeline bubbles which were deemed inevitable. In this work, we introduce a scheduling strategy that, to our knowledge, is the first to successfully achieve zero pipeline bubbles under synchronous training semantics. The key idea behind this improvement is to split the backward computation into two parts, one that computes gradient for the input and another that computes for the parameters. Based on this idea, we handcraft novel pipeline schedules that significantly outperform the baseline methods. We further develop an algorithm that automatically finds an optimal schedule based on specific model configuration and memory limit. Additionally, to truly achieve zero bubble, we introduce a novel technique to bypass synchronizations during the optimizer step. Experimental evaluations show that our method outperforms the 1F1B schedule up to 23% in throughput under a similar memory limit. This number can be further pushed to 31% when the memory constraint is relaxed. We believe our results mark a major step forward in harnessing the true potential of pipeline parallelism. We open sourced our implementation based on the popular Megatron-LM repository on https://github.com/sail-sg/zero-bubble-pipeline-parallelism.
PDF253December 15, 2024