Open starstream opened 4 months ago
O paralelismo de pipeline é uma técnica crucial para treinamento distribuído em larga escala, mas pode sofrer com "bolhas" no pipeline. Essas bolhas são ineficiências que surgem devido a atrasos de sincronização entre diferentes estágios do pipeline. Vamos explorar algumas estratégias para lidar com isso:
DataParallel (DP): Essa abordagem replica o modelo inteiro em várias GPUs, com cada GPU processando uma parte dos dados. Após cada etapa de treinamento, as configurações sincronizam seus resultados. No entanto, o DP não aborda diretamente as bolhas no pipeline.
TensorParallel (TP): No TP, os tensores são divididos em pedaços, e cada fragmento reside em uma GPU designada. Durante o processamento, os fragmentos são calculados em paralelo, e os resultados são sincronizados no final da etapa. O TP reduz o uso de memória, mas ainda não elimina as bolhas no pipeline.
PipelineParallel (PP): O PP divide verticalmente o modelo entre as GPUs, colocando apenas camadas específicas em cada GPU. Cada GPU processa diferentes estágios do pipeline em paralelo, trabalhando com pequenos lotes de dados. O PP pode mitigar as bolhas no pipeline otimizando o paralelismo em nível de camada.
Zero Redundancy Optimizer (ZeRO): O ZeRO divide os tensores de maneira semelhante ao TP, mas reconstrói o tensor inteiro durante os cálculos de avanço ou retrocesso. Isso evita a modificação do modelo e suporta técnicas de descarregamento para memória limitada da GPU.
Zero Bubble Pipeline Parallelism: Pesquisas recentes introduzem estratégias de agendamento para alcançar zero bolhas no pipeline sob semântica de treinamento síncrono. Esses métodos visam minimizar os atrasos de sincronização e melhorar a eficiência.
Adaptive Blockwise Task-interleaved Pipeline Parallelism (ZeroPP): O ZeroPP equilibra bolhas no pipeline, memória e comunicação usando agendamento adaptativo. Ele agenda os cálculos de gradiente de entrada cedo e insere cálculos de gradiente de peso para reduzir as bolhas.
Marking as stale. No activity in 60 days.
Your question Ask a clear and concise question about Megatron-LM. How can I profile bubble time and p2p comm time in pipeline parallelism?