Amélioration de l'efficacité de l'entraînement parallèle à grande échelle avec C4 : Une approche pilotée par la communication
Boosting Large-scale Parallel Training Efficiency with C4: A Communication-Driven Approach
June 7, 2024
Auteurs: 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
Résumé
L'émergence des modèles de langage à grande échelle (LLMs) a nécessité l'adoption de techniques d'entraînement parallèle, impliquant le déploiement de milliers de GPU pour entraîner un seul modèle. Malheureusement, nous avons constaté que l'efficacité de l'entraînement parallèle actuel est souvent sous-optimale, principalement en raison de deux problèmes majeurs. Premièrement, les défaillances matérielles sont inévitables, entraînant des interruptions dans les tâches d'entraînement. L'incapacité à identifier rapidement les composants défectueux entraîne un gaspillage substantiel des ressources GPU. Deuxièmement, puisque les GPU doivent attendre que la synchronisation des paramètres soit terminée avant de passer au prochain cycle de calcul, les congestions réseau peuvent considérablement augmenter le temps d'attente des GPU. Pour relever ces défis, cet article propose une solution axée sur la communication, nommée C4. Les idées clés de C4 sont doubles. Premièrement, dans l'entraînement parallèle, la communication collective présente des caractéristiques périodiques et homogènes, de sorte que toute anomalie est certainement due à une forme de défaillance matérielle. En exploitant cette caractéristique, C4 peut identifier rapidement les composants défectueux, isoler rapidement l'anomalie et redémarrer la tâche, évitant ainsi le gaspillage de ressources causé par les retards dans la détection des anomalies. Deuxièmement, le modèle de communication prévisible de la communication collective, impliquant peu de flux de grande taille, permet à C4 d'exécuter efficacement la planification du trafic, réduisant considérablement la congestion réseau. C4 a été largement déployé dans nos systèmes de production, réduisant les surcoûts induits par les erreurs d'environ 30 % et améliorant les performances d'exécution d'environ 15 % pour certaines applications avec des coûts de communication modérés.
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.Summary
AI-Generated Summary