Definition Was ist DeepSpeed?

DeepSpeed ist eine Library für PyTorch, die von Microsoft entwickelt wurde und unter Open-Source-Lizenz frei verfügbar ist. Die Bibliothek ist für die Optimierung des Trainings von Deep-Learning-Modellen vorgesehen. Sie ermöglicht ein effizientes und performantes verteiltes Training, indem sie den Bedarf an Rechenleistung und Arbeitsspeicher reduziert. DeepSpeed kommt zum Beispiel für das Training großer generativer Sprachmodelle mit vielen Parametern wie für das Modell Turing-NLG zum Einsatz.

Anbieter zum Thema

(Bild: © aga7ta - stock.adobe.com)

DeepSpeed ist der Name einer von Microsoft entwickelten und im Jahr 2020 erstmals veröffentlichten Open-Source-Bibliothek für das Open Source Machine Learning Framework PyTorch. Sie steht unter MIT-Lizenz und ist über GitHub frei verfügbar. Die Library wurde im Rahmen einer KI-Initiative von Microsoft entwickelt und ist für das effiziente und performante Training von großen Deep-Learning-Modellen vorgesehen.

Einsetzbar ist die Library sowohl in verteilten Umgebungen als auch auf Einzelrechnern. DeepSpeed reduziert den Bedarf an Rechenleistung und Arbeitsspeicher und arbeitet mit der Parallelisierung von Aufgaben. DeepSpeed lässt sich zusammen mit dem Zero Redundancy Optimizer (ZeRO) verwenden. Er bietet verschiedene Techniken zur Arbeitsspeicheroptimierung beim Training von Deep-Learning-Modellen mit einer sehr großen Anzahl an Parametern. ZeRO erlaubt es, große Modelle im Arbeitsspeicher auszuführen.

DeepSpeed wurde für das Training großer generativer Sprachmodelle wie das Turing oder das Megatron-Turing Natural Language Generation Model (MT-NLG) entwickelt. Nach eigenen Aussagen der Entwickler erreicht DeepSpeed eine bis zu zehnfach höhere Trainingsgeschwindigkeit und erlaubt bis zu zehnmal größere Modelle. Für den Einsatz der Library sind nur minimale Code-Anpassungen notwendig. Installieren lässt sich DeepSpeed über das Paketverwaltungsprogramm von Python pip. Die aktuelle Version von DeepSpeed ist v0.5.10 (Stand Januar 2022).

Merkmale und Funktionen der Library DeepSpeed

Große Deep-Learning-Modelle mit vielen Parametern zu trainieren, ist aus vielerlei Hinsicht eine Herausforderung. Die Modelle benötigen sehr viel Speicher und Rechenkapazität. Mithilfe der Library DeepSpeed ist ein performantes, verteiltes Training solch großer Modelle möglich. Sie sorgt für einen effizienten Einsatz der vorhandenen Speicher- und Rechenressourcen und parallelisiert Datenabläufe. Zur Arbeitsspeicheroptimierung kommt der Zero Redundancy Optimizer (ZeRO) zum Einsatz. Auf einem einzelnen Rechner mit einer einzigen GPU lassen sich Modelle mit bis zu 13 Milliarden Parametern trainieren, ohne dass der Rechner an die Speichergrenzen gelangt.

DeepSpeed unterstützt die Daten-, Modell- und Pipeline-Parallelisierung und deren Kombinationen. Die Macher von DeepSpeed nennen diese Parallelisierung auch 3D-Parallelisierung. Die Kommunikation in verteilten Umgebungen ist effizient gestaltet und belegt mit DeepSpeed deutlich weniger Bandbreite. Im Folgenden einige weitere Merkmale und Features der Library DeepSpeed:

  • Unterstützung von Single-GPU-, Multi-GPU, und Multi-Node-Umgebungen,
  • kompakte, sparsame, effiziente und schnelle Kernels,
  • einfach gestaltete Trainings-API,
  • Verhinderung der Gradientenexplosion durch Gradient Clipping,
  • Deep Learning mit Mixed Precision, Gradient Accumulation und Checkpoints
  • Large-Batch-Training mit dem LAMB Optimizer,
  • Unterstützung von Mixture of Experts (MoE),
  • Performance-Analysen und Debugging

und vieles mehr.

Beispiele für Anwendungen der PyTorch-Bibliothek DeepSpeed

Die PyTorch-Bibliothek DeepSpeed bietet ein breites Anwendungsspektrum. Sie ist sowohl für Deep-Learning-Anwendungen in hoch performanten, verteilten Rechnerumgebungen als auch für Trainingsvorgänge auf einzelnen GPUs und Einzelrechnern nutzbar. Eine bekannte Anwendung der Library ist das Training des Sprachmodells Turing-NLG mit seinen 17 Milliarden Parametern. Auch der Nachfolger des generativen Sprachmodells, das Megatron-Turing Natural Language Generation Model (MT-NLG), wurde mithilfe von DeepSpeed trainiert.

Das Megatron-Turing Natural Language Generation Model ist in Kooperation der Unternehmen Microsoft und Nvidia entstanden und mit seinen 530 Milliarden Parametern dreimal größer als das GPT-3-Sprachmodell. Die DeepSpeed Library ist Bestandteil eines spezielles Software-Stacks für verteiltes maschinelles Lernen, der auf Nvidia-Selene-Supercomputern zum Einsatz kommt. Aufgabe von DeepSpeed ist es, den Speicherverbrauch und die Rechnerlast zu reduzieren. Zur Skalierung des Modells innerhalb eines Knotens ist das Tensor-Slicing des Megatron-LM vorgesehen.

Vorteile der Open Source Library DeepSpeed

Der Einsatz der Open Source Library DeepSpeed für das Training von Deep-Learning-Modellen bietet zahlreiche Vorteile wie:

  • unter Open-Source-Lizenz (MIT-Lizenz) frei auf GitHub verfügbare Library
  • nur wenige Code-Anpassungen zur Nutzung der Bibliothek mit PyTorch notwendig
  • mit Standard-Hardware (CPUs und GPUs) einsetzbar
  • Unterstützung von 3D-Parallelisierung (Daten, Modell und Pipeline)
  • zusammen mit dem Zero Redundancy Optimizer (ZeRO) zur Optimierung des Speichers nutzbar
  • effizienter Umgang mit dem Speicher dadurch bis zu zehnmal größere Modelle trainierbar
  • bis zu zehnmal höhere Trainingsgeschwindigkeiten
  • effiziente Kommunikation mit reduziertem Bedarf an Bandbreite in verteilten Umgebungen
  • in verteilten Rechnerumgebungen und auf Single-GPUs nutzbar
  • extrem skalierbar

(ID:47981969)