Technischer Leitfaden

Modell- und Pipeline-Parallelität

Wenn ein Modell zu groß ist, um auf eine GPU zu passen, wird das Modell selbst durch Modell- und Pipeline-Parallelität auf mehrere Geräte aufgeteilt.

  • 2 Minuten gelesen
  • Zuletzt aktualisiert
Auf dieser Seite2 Minuten gelesen
  1. Übersicht
  2. Tiefer Einblick
  3. Strategische Auswirkungen
  4. Die Zukunft der Modell- und Pipeline-Parallelität
  5. Reale Umsetzung
  6. Risiken und Leitplanken
  7. Implementierungs-Roadmap
  8. Entdecken Sie weiter
  9. Häufig gestellte Fragen

Übersicht

This is what makes training giant language models with hundreds of billions of parameters physically possible.

Tiefer Einblick

Durch die Modellparallelität wird ein einzelnes Modell auf mehrere GPUs aufgeteilt, sodass kein Gerät alle Gewichte halten muss. Es gibt zwei Hauptgeschmacksrichtungen. Tensor-(Intra-Layer-)Parallelität teilt die Mathematik innerhalb einer Ebene auf, z. B. das Zerteilen einer großen Matrixmultiplikation auf GPUs, die jeweils einen Teil der Ausgabe berechnen. Durch die Pipeline-Parallelität (zwischen Schichten) werden verschiedene aufeinanderfolgende Schichten verschiedenen GPUs zugewiesen, sodass Schichtblock 1 auf GPU 0, Block 2 auf GPU 1 und so weiter lebt, wobei Aktivierungen wie am Fließband weitergeleitet werden. Die Herausforderung beim naiven Pipelining ist die „Blase“: Während GPU 0 im ersten Batch arbeitet, bleiben nachgeschaltete GPUs im Leerlauf. Beim Pipelining wird jede Charge in Mikrochargen aufgeteilt, sodass alle Phasen ausgelastet bleiben und die Auslastung erheblich verbessert wird.

Strategische Auswirkungen

Kosten und Budget

Architekturentscheidungen beeinflussen über Jahre hinweg die Leistung und die Betriebskosten.

Klarere Entscheidungen

Technische Schulungen helfen Teams dabei, den richtigen Stack auszuwählen, nicht nur den neuesten.

Qualitätskontrolle

Bessere technische Entscheidungen reduzieren Zuverlässigkeitsvorfälle in der Produktion.

Die Zukunft der Modell- und Pipeline-Parallelität

Frameworks automatisieren zunehmend das schwierige Problem der Entscheidung, wie ein Modell auf mehrere Geräte aufgeteilt werden soll, indem sie Profilerstellung und Suche verwenden, um Rechenleistung und Kommunikation in Einklang zu bringen. Erwarten Sie eine engere Integration von Tensor-, Pipeline- und Datenparallelität (3D-Parallelität), eine intelligentere Mikro-Batch-Planung, um Pipeline-Blasen nahezu zu eliminieren, und Hardware mit schnelleren Verbindungen, sodass die Aufteilung einer einzelnen Schicht auf Chips für immer größere Modelle billiger und routinemäßiger wird.

Reale Umsetzung

Trainieren von Modellen im GPT-Stil mit NVIDIA Megatron-LM, das die Aufmerksamkeit jeder Transformatorschicht und die Feed-Forward-Matrizen über Tensorparallelität auf GPUs aufteilt.

Mithilfe von GPipe können verschiedene Schichten eines riesigen Visions- oder Sprachmodells auf separaten Beschleunigern platziert werden, während Mikro-Batching diese beschäftigt.

Die Pipeline-Engine von DeepSpeed ​​unterteilt ein Modell mit mehreren Hundert Milliarden Parametern in Stufen über viele Knoten hinweg.

Kombination von Tensor-Parallelität innerhalb eines einzelnen 8-GPU-Servers mit Pipeline-Parallelität über mehrere Server hinweg, um ein Modell zu trainieren, das viel zu groß für eine Maschine ist.

Risiken und Leitplanken

  • Die Optimierung eines Benchmarks kann umfassendere Systemschwächen verbergen.

  • Infrastruktur- und Wartungskosten werden oft unterschätzt.

  • Sicherheits- und Beobachtbarkeitslücken können größer werden, wenn die Systeme komplexer werden.

Implementierungs-Roadmap

  1. Definieren Sie vor der Implementierung Latenz-, Qualitäts- und Kostenziele.

  2. Benchmark unter realistischen Last- und Datenbedingungen.

  3. Instrumentenüberwachung auf Fehler, Drift und Benutzereinflüsse.

  4. Bereiten Sie vor der Skalierung Rollback- und Incident-Response-Pfade vor.

Entdecken Sie weiter

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Model and Pipeline Parallelism quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Quiz starten

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Häufig gestellte Fragen

What is Model and Pipeline Parallelism?

Wenn ein Modell zu groß ist, um auf eine GPU zu passen, wird das Modell selbst durch Modell- und Pipeline-Parallelität auf mehrere Geräte aufgeteilt. Dies macht das Training riesiger Sprachmodelle mit Hunderten von Milliarden Parametern physikalisch möglich.

Welches grundlegende Problem lösen Modell- und Pipeline-Parallelität?

Modell- und Pipeline-Parallelität teilen das Modell selbst auf mehrere Geräte auf und ermöglichen so das Training von Netzwerken, die weitaus größer sind, als jede einzelne GPU aufnehmen könnte.

Wie funktioniert die Aufteilung der Tensorparallelität (innerhalb der Schicht)?

Tensorparallelität teilt die Berechnung innerhalb einer einzelnen Ebene auf, indem sie beispielsweise eine große Gewichtsmatrix aufteilt, sodass jede GPU einen Teil der Ausgabe berechnet.

Was ist die „Blase“ in der naiven Pipeline-Parallelität?

Early in a pipeline step, downstream stages have no input yet and sit idle, wasting GPU time; Diese Leerlauflücke wird Blase genannt.

Wie reduziert die Pipeline-Parallelität die Blase?

Durch die Aufteilung eines Stapels in Mikrostapel können mehrere Mikrostapel gleichzeitig verschiedene Phasen belegen, wodurch alle GPUs ausgelastet bleiben und die Leerlaufzeit verkürzt wird.

Warum bleibt die Tensorparallelität normalerweise innerhalb eines einzelnen Knotens erhalten?

Die Tensorparallelität kommuniziert häufig, um Teilmatrixergebnisse neu zu kombinieren. Daher wird sie dort platziert, wo die Verbindungsbandbreite am höchsten ist, innerhalb eines Knotens über NVLink.