MegaScale: Skalierung des Trainings großer Sprachmodelle auf mehr als 10.000 GPUs
MegaScale: Scaling Large Language Model Training to More Than 10,000 GPUs
February 23, 2024
Autoren: 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
Zusammenfassung
Wir präsentieren das Design, die Implementierung und die technischen Erfahrungen beim Aufbau und Einsatz von MegaScale, einem Produktionssystem für das Training großer Sprachmodelle (LLMs) im Maßstab von mehr als 10.000 GPUs. Das Training von LLMs in dieser Größenordnung stellt beispiellose Herausforderungen an die Effizienz und Stabilität des Trainings dar. Wir verfolgen einen Full-Stack-Ansatz, der die algorithmischen und systemtechnischen Komponenten über das Modellblock- und Optimiererdesign, die Überlappung von Berechnung und Kommunikation, die Optimierung von Operatoren, die Datenpipeline und die Netzwerkleistungsoptimierung hinweg gemeinsam gestaltet. Die Aufrechterhaltung einer hohen Effizienz während des gesamten Trainingsprozesses (d.h. Stabilität) ist eine wichtige Überlegung in der Produktion, angesichts der langen Dauer von LLM-Trainingsjobs. Viele schwerwiegende Stabilitätsprobleme treten erst in großem Maßstab auf, und eine tiefgehende Beobachtbarkeit ist der Schlüssel zu ihrer Lösung. Wir entwickeln eine Reihe von Diagnosewerkzeugen, um Systemkomponenten und Ereignisse tief im Stack zu überwachen, Ursachen zu identifizieren und effektive Techniken zur Fehlertoleranz und zur Minderung von Nachzüglern abzuleiten. MegaScale erreicht eine Model FLOPs Utilization (MFU) von 55,2 % beim Training eines 175B LLM-Modells auf 12.288 GPUs, was die MFU im Vergleich zu Megatron-LM um das 1,34-fache verbessert. Wir teilen unsere Betriebserfahrungen bei der Identifizierung und Behebung von Ausfällen und Nachzüglern. Wir hoffen, dass diese Arbeit durch die Artikulation der Probleme und die Weitergabe unserer Erfahrungen aus einer Systemperspektive zukünftige Forschungen zu LLM-Systemen inspirieren kann.
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.