Verbesserung der KI-Trainingsgeschwindigkeit mit Parm
Ein neues System optimiert das Training für grosse KI-Modelle, indem es die Kommunikationskosten senkt.
― 6 min Lesedauer
Inhaltsverzeichnis
Das Training von grossflächigen Modellen in der KI ist für Forscher ein grosses Thema geworden. Eine gängige Methode, um mit diesen grossen Modellen umzugehen, sind sogenannte Mixture-of-Experts (MoE) Schichten, die dabei helfen, die Modellgrösse zu erhöhen, ohne die Rechenkosten deutlich zu steigern. Allerdings wächst mit der Grösse der Modelle auch der Kommunikationsaufwand während des Trainings. Das kann den Trainingsprozess verlangsamen, besonders wenn viele GPUs oder TPUs zum Einsatz kommen.
Um das zu überwinden, haben Forscher verschiedene Möglichkeiten entwickelt, wie Aufgaben verarbeitet und Daten kommuniziert werden. Viele dieser Methoden haben jedoch weiterhin mit den Kommunikationskosten zu kämpfen, die mit mehreren parallelen Setups einhergehen. Dieser Artikel untersucht ein neues System namens Parm, das dazu entwickelt wurde, die Trainingsgeschwindigkeit von MoE-Modellen zu verbessern und dabei die Kommunikationskosten niedrig zu halten.
Die Herausforderung grosser Modelle
Mit der zunehmenden Grösse der KI-Modelle steigen auch die benötigten Rechenressourcen für deren Training. Zum Beispiel erfordert das Training eines Modells mit Milliarden von Parametern eine unglaubliche Menge an Rechenleistung. Hier kommen die MoE-Schichten ins Spiel. Sie ermöglichen es, Modelle in der Grösse wachsen zu lassen, während die zusätzlichen Rechenkosten minimiert werden. MoE-Schichten funktionieren, indem nur Teile des Modells (genannt Experten) für spezifische Aufgaben aktiviert werden. Diese selektive Aktivierung hält den Gesamtbedarf an Rechenleistung niedriger.
Allerdings kann selbst bei MoE die Kommunikationszeit beim Einsatz mehrerer GPUs einen grossen Teil der gesamten Trainingszeit ausmachen. Die Art und Weise, wie die Aufgaben auf die GPUs verteilt werden, kann zu Verzögerungen führen, besonders wenn die Kommunikation zwischen ihnen nicht gut verwaltet wird. Daher ist ein besserer Ansatz zur Planung von Aufgaben und zum Management des Datentransfers nötig.
Verständnis der Mixture-of-Experts-Schichten
MoE-Schichten bestehen aus mehreren Experten, die jeweils dafür ausgelegt sind, unterschiedliche Teile der Arbeitslast zu bewältigen. Das System verwendet eine Schaltfunktion, um zu entscheiden, welcher Experte an welchem Teil der Daten arbeitet. Dadurch sind beim Verarbeiten nur wenige Experten zu einem bestimmten Zeitpunkt aktiv. Diese Anordnung ermöglicht es, das Modell zu skalieren, ohne die Rechenzeit zu verdoppeln.
Jeder Experte arbeitet normalerweise unabhängig und kann als kleines neuronales Netzwerk betrachtet werden. Trotz ihrer geringen Grösse schaffen es diese Experten in Kombination, ein leistungsstarkes Modell zu bilden. Allerdings kann der Schaltmechanismus manchmal zu ungleichen Arbeitslasten zwischen den Experten führen. Um dem entgegenzuwirken, werden Limits gesetzt, wie viele Aufgaben ein Experte gleichzeitig bewältigen kann, um eine ausgewogenere Arbeitslast zu gewährleisten.
Arten des Parallelismus
Beim Training grosser Modelle kommen verschiedene Parallelismusarten zum Einsatz:
Datenparallelismus (DP): Dabei wird die Datenmenge auf mehrere Geräte verteilt, während dasselbe Modell auf jedem verwendet wird. Jedes Gerät bearbeitet einen Teil der Daten gleichzeitig.
Modellparallelismus (MP): Hier wird das Modell selbst auf verschiedene Geräte aufgeteilt. Teile des Modells werden auf separaten GPUs verarbeitet.
Pipeline-Parallelismus (PP): Dabei wird das Modell in Phasen unterteilt, sodass Daten gleichzeitig durch verschiedene Teile des Modells fliessen können.
Experten-Parallelismus (EP): Dies platziert die Experten auf mehreren Geräten. Wenn ein Gerät nicht alle Experten halten kann, wird die Arbeit auf mehrere Geräte verteilt.
Expert-Sharding-Parallelismus (ESP): Hier wird ein einzelner Experte in kleinere Teile zerlegt, die auf mehreren Geräten ausgeführt werden können.
Während MoE-Modelle typischerweise EP und ESP zusammen für mehr Effizienz nutzen, stehen sie dennoch vor Herausforderungen im Zusammenhang mit den Kommunikationskosten während des Trainings.
Leistungsengpässe
Die Geschwindigkeit des Trainings grosser MoE-Modelle kann erheblich davon beeinflusst werden, wie lange die Kommunikation zwischen den GPUs dauert. Die Forschung zeigt, dass die Kommunikation bis zu 60 % der gesamten Trainingszeit für MoE-Schichten auf Clustern von High-End-GPUs in Anspruch nehmen kann. Dieses Problem verstärkt sich, wenn mehrere parallele Setups gleichzeitig verwendet werden.
Bei der Suche nach Verbesserungen der Trainingsleistung haben Forscher das Problem aus verschiedenen Blickwinkeln betrachtet. Einige konzentrierten sich auf Algorithmen, die die Arbeitslasten zwischen den Geräten ausbalancieren. Andere arbeiteten daran, die Effizienz der Kommunikationsmethoden zu verbessern. Viele frühere Lösungen hatten jedoch hauptsächlich die Kommunikationskosten im Zusammenhang mit EP im Blick und haben andere Aspekte der Kommunikation, die mit MP und ESP einhergehen, übersehen.
Das Parm-System
Als Reaktion auf diese Herausforderungen wurde Parm entwickelt. Es schlägt zwei neue Kommunikationspläne vor, die darauf abzielen, das Aufgabenmanagement zu verbessern, wenn MP, EP und ESP zusammen verwendet werden. Die Grundidee dieser Pläne ist es, unnötige Berechnungen und Kommunikation zu reduzieren, indem Kommunikationsaufgaben strategisch platziert werden.
Hauptmerkmale von Parm
Reduzierter Kommunikationsaufwand: Parm konzentriert sich darauf, wie oft Daten zwischen den Geräten hin und her gesendet werden, was zu weniger Gesamtkommunikation führt.
Beseitigung von Doppelaufgaben: Das System organisiert die Aufgaben so, dass dieselbe Berechnung nicht mehrfach auf verschiedenen Geräten durchgeführt wird.
Aufgabenüberlappung: Parm erlaubt es, dass verschiedene Kommunikationsarten sich überschneiden. Das ist wichtig, um die verfügbare Bandbreite optimal zu nutzen.
Durch die Einführung dedizierter Pläne kann Parm Aufgaben effizienter ausführen, was zu kürzeren Trainingszeiten führt.
Wie Parm funktioniert
Parm funktioniert, indem temporär MP während bestimmter Aufgaben deaktiviert wird, um die Leistung zu optimieren. Zwei Pläne werden implementiert: einer vor der Schaltoperation der MoE-Schicht und ein anderer vor der Kombinationsoperation. Dies verhindert die Duplizierung von Aufgaben und ermöglicht einen reibungsloseren Informationsfluss.
Überblick der Pläne
Erster Plan: Deaktiviert MP vor der Schaltfunktion und aktiviert es nach der Kombinationsoperation wieder. Das ermöglicht eine effiziente Aufteilung der Aufgaben.
Zweiter Plan: Schaltet MP nach der Schaltfunktion aus und reaktiviert es vor dem Kombinationsprozess. Das bietet Flexibilität je nach spezifischen Bedingungen.
Jeder Plan hat je nach verschiedenen Konfigurationseinstellungen unterschiedliche Vorteile, und die Wahl des richtigen Plans hilft, die Trainingszeit zu minimieren.
Experimentelle Ergebnisse
Um die Effektivität von Parm zu validieren, wurden umfangreiche Tests mit einem 8-GPU-Server und einem 32-GPU-Cluster durchgeführt. Die Ergebnisse zeigen, dass Parm bestehende Systeme wie DeepSpeed-MoE erheblich übertrifft und Geschwindigkeitssteigerungen zwischen 1,13 und 5,77 Mal bei einer Vielzahl von MoE-Konfigurationen erreicht.
Leistungskennzahlen
Bei unterschiedlichen Setups konnte Parm die gesamte Trainingszeit reduzieren und gleichzeitig reale Modelle trainieren, darunter Versionen auf Basis von GPT-2 und BERT. Die Experimente bestätigten, dass die Planungsstrategien von Parm eine konsistent schnellere Trainingsleistung in verschiedenen Szenarien liefern können.
Fazit
Die Schaffung von Parm markiert einen wichtigen Fortschritt im Training grosser KI-Modelle. Durch die Verbesserung der Planung von Aufgaben und Kommunikationsabläufen hat es erhebliche Effizienz- und Geschwindigkeitsgewinne gezeigt. Da die Nachfrage nach grösseren und komplexeren KI-Modellen weiter wächst, werden Systeme wie Parm entscheidend sein, um die mit dem effektiven Training dieser Modelle verbundenen Herausforderungen zu überwinden.
Titel: Parm: Efficient Training of Large Sparsely-Activated Models with Dedicated Schedules
Zusammenfassung: Sparsely-activated Mixture-of-Expert (MoE) layers have found practical applications in enlarging the model size of large-scale foundation models, with only a sub-linear increase in computation demands. Despite the wide adoption of hybrid parallel paradigms like model parallelism, expert parallelism, and expert-sharding parallelism (i.e., MP+EP+ESP) to support MoE model training on GPU clusters, the training efficiency is hindered by communication costs introduced by these parallel paradigms. To address this limitation, we propose Parm, a system that accelerates MP+EP+ESP training by designing two dedicated schedules for placing communication tasks. The proposed schedules eliminate redundant computations and communications and enable overlaps between intra-node and inter-node communications, ultimately reducing the overall training time. As the two schedules are not mutually exclusive, we provide comprehensive theoretical analyses and derive an automatic and accurate solution to determine which schedule should be applied in different scenarios. Experimental results on an 8-GPU server and a 32-GPU cluster demonstrate that Parm outperforms the state-of-the-art MoE training system, DeepSpeed-MoE, achieving 1.13$\times$ to 5.77$\times$ speedup on 1296 manually configured MoE layers and approximately 3$\times$ improvement on two real-world MoE models based on BERT and GPT-2.
Autoren: Xinglin Pan Wenxiang Lin, Shaohuai Shi, Xiaowen Chu, Weinong Sun, Bo Li
Letzte Aktualisierung: 2024-06-30 00:00:00
Sprache: English
Quell-URL: https://arxiv.org/abs/2407.00599
Quell-PDF: https://arxiv.org/pdf/2407.00599
Lizenz: https://creativecommons.org/licenses/by/4.0/
Änderungen: Diese Zusammenfassung wurde mit Unterstützung von AI erstellt und kann Ungenauigkeiten enthalten. Genaue Informationen entnehmen Sie bitte den hier verlinkten Originaldokumenten.
Vielen Dank an arxiv für die Nutzung seiner Open-Access-Interoperabilität.