Aumentando a Eficiência do Treinamento Paralelo em Grande Escala com C4: Uma Abordagem Orientada à Comunicação
Boosting Large-scale Parallel Training Efficiency with C4: A Communication-Driven Approach
June 7, 2024
Autores: Jianbo Dong, Bin Luo, Jun Zhang, Pengcheng Zhang, Fei Feng, Yikai Zhu, Ang Liu, Zian Chen, Yi Shi, Hairong Jiao, Gang Lu, Yu Guan, Ennan Zhai, Wencong Xiao, Hanyu Zhao, Man Yuan, Siran Yang, Xiang Li, Jiamang Wang, Rui Men, Jianwei Zhang, Huang Zhong, Dennis Cai, Yuan Xie, Binzhang Fu
cs.AI
Resumo
O surgimento dos Modelos de Linguagem de Grande Escala (LLMs) tornou necessária a adoção de técnicas de treinamento paralelo, envolvendo a utilização de milhares de GPUs para treinar um único modelo. Infelizmente, descobrimos que a eficiência do treinamento paralelo atual muitas vezes é subótima, principalmente devido a dois problemas principais. Primeiramente, falhas de hardware são inevitáveis, levando a interrupções nas tarefas de treinamento. A incapacidade de identificar rapidamente os componentes defeituosos resulta em um desperdício substancial de recursos de GPU. Em segundo lugar, como as GPUs precisam aguardar a sincronização de parâmetros ser concluída antes de prosseguir para a próxima rodada de computação, congestionamentos na rede podem aumentar significativamente o tempo de espera das GPUs. Para enfrentar esses desafios, este artigo apresenta uma solução orientada por comunicação, denominada C4. Os principais insights do C4 são dois. Primeiro, no treinamento paralelo, a comunicação coletiva exibe características periódicas e homogêneas, de modo que qualquer anomalia certamente é causada por algum tipo de falha de hardware. Ao aproveitar essa característica, o C4 pode identificar rapidamente os componentes defeituosos, isolar prontamente a anomalia e reiniciar a tarefa, evitando assim o desperdício de recursos causado por atrasos na detecção de anomalias. Segundo, o modelo de comunicação previsível da comunicação coletiva, que envolve poucos fluxos grandes, permite que o C4 execute o planejamento de tráfego de forma eficiente, reduzindo substancialmente o congestionamento da rede. O C4 foi amplamente implementado em nossos sistemas de produção, reduzindo a sobrecarga causada por erros em aproximadamente 30% e melhorando o desempenho em tempo de execução em cerca de 15% para certas aplicações com custos moderados de comunicação.
English
The emergence of Large Language Models (LLMs) has necessitated the adoption
of parallel training techniques, involving the deployment of thousands of GPUs
to train a single model. Unfortunately, we have found that the efficiency of
current parallel training is often suboptimal, largely due to the following two
main issues. Firstly, hardware failures are inevitable, leading to
interruptions in the training tasks. The inability to quickly identify the
faulty components results in a substantial waste of GPU resources. Secondly,
since GPUs must wait for parameter synchronization to complete before
proceeding to the next round of computation, network congestions can greatly
increase the waiting time for GPUs. To address these challenges, this paper
introduces a communication-driven solution, namely the C4. The key insights of
C4 are two folds. First, in parallel training, collective communication
exhibits periodic and homogeneous characteristics, so any anomalies are
certainly due to some form of hardware malfunction. By leveraging this feature,
C4 can rapidly identify the faulty components, swiftly isolate the anomaly, and
restart the task, thereby avoiding resource wastage caused by delays in anomaly
detection. Second, the predictable communication model of collective
communication, involving few large flows, allows C4 to efficiently execute
traffic planning, substantially reducing network congestion. C4 has been
extensively implemented across our production systems, cutting error-induced
overhead by roughly 30% and enhancing runtime performance by about 15% for
certain applications with moderate communication costs.