Im Rahmen von #OpenSourceWeek Day 4 führt Deepseek 2 neue Instruments vor, um das Deep -Lernen schneller und effizienter zu gestalten: Dualpipe und EPLB. Diese Instruments verbessern die Artwork und Weise, wie Laptop Berechnungen und Kommunikation während des Trainings umgehen und den Prozess reibungsloser und schneller machen. In der sich schnell verändernden Welt des tiefen Lernens ist es wichtig, Wege zu finden, um Modelle besser zu trainieren und weniger Ressourcen zu verwenden. Dualpipe und EPLB sind große Schritte bei der Lösung dieser Herausforderungen. In diesem Artikel wird erläutert, wie diese Instruments funktionieren und wie sie einen Unterschied im tiefen Lernen bewirken können.

Diese Veröffentlichung markiert Tag 4 unserer Feierlichkeiten zur Open -Supply -Woche nach den erfolgreichen Einführungen von FlashML am Tag 1Anwesend Deepep am Tag 2Und Deepgemm am Tag 3.

Pipeline Parallelität verstehen

Die Parallelität der Pipeline ist ein Ansatz, der die gleichzeitige Verarbeitung verschiedener Segmente der Trainingssequenz eines Modells erleichtert. Durch die Verteilung des Modells und die Behandlung mehrerer Eingaben gleichzeitig kann die Pipeline -Parallelität die Trainingszeit deutlich abkürzen. Traditionelle Pipeline -Methoden sind jedoch anfällig für Ineffizienzen, einschließlich Leerlaufintervalle oder „Blasen“, die die Leistung beeinträchtigen. Innovationen wie Dualpipe werden eingeführt, um diese Ineffizienzen zu verbessern und die Gesamteffizienz zu erhöhen.

Innerhalb des Deep -Lernens charakterisiert der Ausdruck „Blasen in einer Pipeline“ Intervalle der Inaktivität von GPUs während des Paralleltrainings von Pipeline, wobei ein Section der Pipeline ins Stocken geraten ist, und anhand von Daten aus einem vorgespannten Section. Dies erzeugt eine „Lücke“ oder eine „Blase“ im Rechenverlauf und gipfelt in ineffizientem GPU -Ressourcenmanagement.

Dualpipe: Bidirektionale Pipeline Parallelität

Dualpipe ist ein hoch entwickelter bidirektionaler Pipeline-Parallelismus-Algorithmus, der die Überlappung zwischen Vorwärts- und Rückwärtsberechnungsphasen maximieren soll. Dieser Ansatz ist besonders vorteilhaft bei der Reduzierung von Pipeline -Blasen, was die Trainingseffizienz erheblich beeinträchtigen kann.

Schlüsselmerkmale

  • Vollständige Überlappung: Erreicht eine vollständige Überlappung von Vorwärts- und Rückwärtsphasen und stellt sicher, dass die Ressourcen effektiv genutzt werden.
  • Reduzierte Pipeline -Blasen: Minimiert die Leerlaufzeit während des Trainings und führt zu einer verbesserten Ressourcenauslastung und schnelleren Trainingszeiten.

Technische Particulars

Die Leistung des Algorithmus kann anhand eines Planungsbeispiels mit 8 PP-Rängen und 20 Mikrobeflächen veranschaulicht werden. Die Mikro-Stapel in umgekehrter Richtung sind für die in der Vorwärtsrichtung symmetrisch und vereinfachen die Abbildung.

Verfahren Blase Parameter Aktivierung
1f1b (Pp-1) (𝐹+𝐵) 1 × Pp
Zb1p (Pp-1) (𝐹+𝐵-2𝑊) 1 × Pp
Dualpipe (Pp/2-1) (𝐹 & 𝐵+𝐵-3𝑊) 2 × PP + 1

Wo:

  • 𝐹: Ausführungszeit eines Vorwärtsbetrags
  • 𝐵: Ausführungszeit eines vollständigen Rückwärtsanteils
  • 𝐹 & 𝐵: Ausführungszeit von zwei gegenseitig überlappten Vorwärts- und Rückwärtsböcken

Beispiel DualPipe-Planungskonfiguration für 8 PP-Ränge (Pipeline Parallelism) und 20 Mikrobeflüsse mit Schwerpunkt auf zwei Richtungen. Die in der umgekehrten Richtung verarbeiteten Mikro-Stapel spiegeln diejenigen in Vorwärtsrichtung wider und ermöglichen es uns, ihre Batch-Kennungen auszulassen, um die Abbildung zu vereinfachen. Zwei Zellen, die eine gemeinsame schwarze Rand haben, sind an überlappenden Berechnungs- und Kommunikationsaufgaben beteiligt.

Weitere Informationen besuchen Sie Dualpipe Github Repository

EPLB: Experten-Parallel-Lastausgleicher

EPLB oder Experten-Parallel-Lastausgleich optimiert das Lastausgleich im V3/R1-Coaching. Es verteilt die Workloads effizient über mehrere Verarbeitungseinheiten hinweg und steigert die Gesamtleistung.

Schlüsselmerkmale

  • Expertenparallelität: Verwendet Expertenmodelle, um die Belastung effektiv auszugleichen, und stellt sicher, dass jede Verarbeitungseinheit ihr volles Potenzial ausübt.
  • Dynamischer Lastausgleich: Anpassen Sie sich während des Trainings an unterschiedliche Arbeitsbelastungen an und ermöglichen Echtzeitanpassungen, um eine optimale Leistung aufrechtzuerhalten.

Technische Particulars

EPLB (Effiziente Pipeline -Lastverteilung) zielt auf die vernünftige Zuordnung von Aufgaben zu zugänglichen Ressourcen ab, um die Leerlaufintervalle zu verringern und den Durchsatz zu verbessern. Diese Methodik ist in Kontexten, in denen unterschiedliche Modelle oder Aufgaben unterschiedliche Rechenleistung erfordern, von erhöhter Bedeutung.

Der Lastausgleichsalgorithmus verwendet zwei unterschiedliche Richtlinien, die auf unterschiedliche Umstände zugeschnitten sind:

Hierarchische Lastausgleich

Die hierarchische Lastausgleichspolitik aktiviert aktiviert, wenn sich die Anzahl der Serverknoten gleichmäßig in die Anzahl der Expertengruppen unterteilt. Diese Strategie nutzt die gruppenbegrenzte Expertenrouting, indem sie anfänglich Expertengruppen auf Knoten organisiert, die die ausgewogene Lastverteilung fördert. Anschließend erfolgt die Expertenreplikation innerhalb jedes Knotens, um das Lastgleichgewicht aufrechtzuerhalten. Letztendlich werden diese replizierten Experten dem einzelnen GPUs zugeordnet, wodurch das Lastbilanz über verschiedene GPUs hinweg erreicht wird. Die hierarchische Lastausgleichspolitik eignet sich besonders für die Vorausfüllung bei der Bearbeitung kleinerer Experten-Parallel-Größen.

Globaler Lastausgleich

Wenn die Anzahl der Serverknoten die Expertengruppen nicht teilt, wird die globale Lastausgleichsrichtlinie implementiert. Dieser Ansatz beinhaltet die globale Replikation von Experten unabhängig von ihrer Gruppierung innerhalb von Expertengruppen. Nach der Replikation sind die Experten gleichmäßig an einzelne GPUs verteilt, um sicherzustellen, dass das Lastbilanz über den GPUs beibehalten wird. Die globale Lastausgleichsrichtlinie gilt in der Dekodierungsphase, wenn größere Experten-Parallel-Größen behandelt werden.

Beispielcode:

import torch

import eplb

weight = torch.tensor((( 90, 132,  40,  61, 104, 165,  39,   4,  73,  56, 183,  86),

                       ( 20, 107, 104,  64,  19, 197, 187, 157, 172,  86,  16,  27)))

num_replicas = 16

num_groups = 4

num_nodes = 2

num_gpus = 8

phy2log, log2phy, logcnt = eplb.rebalance_experts(weight, num_replicas, num_groups, num_nodes, num_gpus)

print(phy2log)

Ausgabe:

tensor((( 5,  6,  5,  7,  8,  4,  3,  4, 10,  9, 10,  2,  0,  1, 11,  1),

         ( 7, 10,  6,  8,  6, 11,  8,  9,  2,  4,  5,  1,  5,  0,  3,  1)))

Die visuelle Darstellung zeigt eine doppelte Konfiguration der Mischung von Experten (MOE), wobei jede Stufe 12 spezialisierte Experten umfasst. Um die Robustheit des Modells zu steigern und Backup -Mechanismen zu schaffen, stellen wir zusätzliche 4 Experten in jeder Stufe ein. Diese Modifikation führt zu einer kumulativen insgesamt 16 Experten professional Stufe, die als Backups dient. Das System repliziert und verteilt diese Experten über 2 Rechenknoten, wobei jeder Knoten 4 GPUs enthält. Es wendet die hierarchische Lastausgleichspolitik an und zeigt die strategische Replikation und Zuweisung von Experten gemäß dem Plan.

Ausführliche Anweisungen zur Implementierung finden Sie in der EPLB GitHub Repository.

Profilerierungsdaten: Überlappung der Berechnungskommunikation analysieren

Um die Überlappung der Berechnungskommunikation in V3/R1 effektiv zu analysieren, liefern die Profiling-Daten wesentliche Erkenntnisse. Die Engpässe der Leistung und die Optimierung des Schulungsprozesses können anhand dieser Daten verstanden werden.

Schlüsselmerkmale

  • Umfassende Analyse: Dieser Ansatz bietet eine umfassende Bewertung der Berechnungs- und Kommunikationsphasen und erleichtert ein tiefes Verständnis der Systemleistungsmetriken.
  • Efficiency -Erkenntnisse: Es zeigt Möglichkeiten zur Verbesserung der Schulungseffizienz und der Ausstattung von Entwicklern kritische Informationen, um die Optimierungsbemühungen zu leiten.

Trainingsprofildaten

Das Trainingsprofildaten zeigt die Strategie für die Überlappung einzelner Vorwärts- und Rückwärtsbrocken innerhalb von Dualpipe. Jeder Chunk enthält 4 Schichten Mischung von Experten (MOE). Die parallele Konfiguration entspricht den Einstellungen, die in Deepseek-V3-Vorbau verwendet werden, speziell unter Verwendung von EP64 (Epoch 64) und TP1 (Temporal Polsterding mit 1 Token) Konfigurationen mit einer Sequenzlänge von 4K. Um die Dinge einfach zu halten, schließen wir die PP -Kommunikation (Pipeline Parallelism) während der Profilerstellung aus.

Weitere Informationen und den Zugriff auf die Profilerierungsdaten finden Sie in der Profiling Information Github Repository.

Anwendungen in der Praxis

Die praktische Anwendung von Dualpipe und EPLB hat ermutigende Ergebnisse in verschiedenen Bereichen wie natürlicher Sprachverarbeitung, Laptop Imaginative and prescient und Verstärkungslernen gezeigt. Durch die Verfeinerung des Schulungsprozesses ermöglichen diese Methoden eine beschleunigte Modellkonvergenz und eine erhöhte Präzision, was sich sowohl für Forscher als auch für Praktiker als unverzichtbare Instrumente erweist.

Zukünftige Anweisungen

Im Verlauf des Bereichs Deep Studying wird die Nachfrage nach effizienteren Trainingsmethoden wahrscheinlich eskalieren. Zukünftige Untersuchungen können sich auf die Verstärkung der Wirksamkeit von Dualpipe und EPLB konzentrieren, möglicherweise durch Untersuchung von Hybridmodellen, die die Vorteile von beiden zusammenzunehmen. Darüber hinaus könnte die Integration dieser Strategien mit modernen Technologien, einschließlich Quantencomputer, neuartige Wege für die Optimierung ebnen.

Abschluss

Die Fortschritte in der Parallelitätsstrategien über Dualpipe- und EPLB -Strategien markieren erhebliche Fortschritte bei der Verfeinerung von Schulungsverfahren für tiefe Lernen. Durch die Nutzung dieser Algorithmen können sowohl Forscher als auch Praktiker überlegene Ressourcennutzung und beschleunigte Schulungsdauern erzielen und in effizienterer Modellerstellung gipfeln. Die Assimilation von Profilerierung von Daten erhöht die Fähigkeit, diese Prozesse zu kalibrieren, und garantiert, dass Deep Studying’s Trajektorie des schnellen Fortschritts bestehen bleibt.

Harsh Mishra ist ein KI/ML -Ingenieur, der mehr Zeit damit verbringt, mit großen Sprachmodellen zu sprechen als mit tatsächlichen Menschen. Leidenschaft über Genai, NLP und Maschinen schlauer (damit sie ihn noch nicht ersetzen). Wenn er Fashions nicht optimiert, optimiert er wahrscheinlich seine Kaffeeaufnahme. 🚀☕



Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert