MegaScale : Mise à l'échelle de l'entraînement de grands modèles de langage à plus de 10 000 GPU
MegaScale: Scaling Large Language Model Training to More Than 10,000 GPUs
February 23, 2024
Auteurs: Ziheng Jiang, Haibin Lin, Yinmin Zhong, Qi Huang, Yangrui Chen, Zhi Zhang, Yanghua Peng, Xiang Li, Cong Xie, Shibiao Nong, Yulu Jia, Sun He, Hongmin Chen, Zhihao Bai, Qi Hou, Shipeng Yan, Ding Zhou, Yiyao Sheng, Zhuo Jiang, Haohan Xu, Haoran Wei, Zhang Zhang, Pengfei Nie, Leqi Zou, Sida Zhao, Liang Xiang, Zherui Liu, Zhe Li, Xiaoying Jia, Jianxi Ye, Xin Jin, Xin Liu
cs.AI
Résumé
Nous présentons la conception, la mise en œuvre et l'expérience d'ingénierie dans la construction et le déploiement de MegaScale, un système de production pour l'entraînement de modèles de langage à grande échelle (LLM) sur plus de 10 000 GPU. L'entraînement de LLM à cette échelle pose des défis sans précédent en termes d'efficacité et de stabilité de l'entraînement. Nous adoptons une approche full-stack qui co-conçoit les composants algorithmiques et système à travers la conception des blocs de modèle et de l'optimiseur, le chevauchement des calculs et des communications, l'optimisation des opérateurs, le pipeline de données et le réglage des performances réseau. Maintenir une efficacité élevée tout au long du processus d'entraînement (c'est-à-dire la stabilité) est une considération importante en production, étant donné la longue durée des tâches d'entraînement des LLM. De nombreux problèmes de stabilité difficiles n'apparaissent qu'à grande échelle, et une observabilité approfondie est la clé pour les résoudre. Nous développons un ensemble d'outils de diagnostic pour surveiller les composants système et les événements en profondeur dans la pile, identifier les causes racines et dériver des techniques efficaces pour atteindre la tolérance aux fautes et atténuer les retardataires. MegaScale atteint une utilisation des FLOPs du modèle (MFU) de 55,2 % lors de l'entraînement d'un modèle LLM de 175B sur 12 288 GPU, améliorant le MFU de 1,34x par rapport à Megatron-LM. Nous partageons notre expérience opérationnelle dans l'identification et la correction des défaillances et des retardataires. Nous espérons qu'en articulant les problèmes et en partageant notre expérience d'un point de vue système, ce travail pourra inspirer les futures recherches sur les systèmes LLM.
English
We present the design, implementation and engineering experience in building
and deploying MegaScale, a production system for training large language models
(LLMs) at the scale of more than 10,000 GPUs. Training LLMs at this scale
brings unprecedented challenges to training efficiency and stability. We take a
full-stack approach that co-designs the algorithmic and system components
across model block and optimizer design, computation and communication
overlapping, operator optimization, data pipeline, and network performance
tuning. Maintaining high efficiency throughout the training process (i.e.,
stability) is an important consideration in production given the long extent of
LLM training jobs. Many hard stability issues only emerge at large scale, and
in-depth observability is the key to address them. We develop a set of
diagnosis tools to monitor system components and events deep in the stack,
identify root causes, and derive effective techniques to achieve fault
tolerance and mitigate stragglers. MegaScale achieves 55.2% Model FLOPs
Utilization (MFU) when training a 175B LLM model on 12,288 GPUs, improving the
MFU by 1.34x compared to Megatron-LM. We share our operational experience in
identifying and fixing failures and stragglers. We hope by articulating the
problems and sharing our experience from a systems perspective, this work can
inspire future LLM systems research.