Glossar

Verteilte Ausbildung

Beschleunigen Sie das KI-Training mit verteiltem Training! Erfahren Sie, wie Sie die Trainingszeit reduzieren, Modelle skalieren und Ressourcen für komplexe ML-Projekte optimieren können.

Verteiltes Training ist eine Technik, die beim maschinellen Lernen (ML) eingesetzt wird, um das Modelltraining zu beschleunigen, indem die Rechenlast auf mehrere Prozessoren verteilt wird. Diese Prozessoren, häufig Grafikprozessoren (GPUs), können sich auf einem einzigen Rechner befinden oder über mehrere Rechner in einem Netzwerk verteilt sein. Da die Datensätze immer größer und die Deep-Learning-Modelle immer komplexer werden, kann das Training auf einem einzigen Prozessor unpraktisch lange dauern. Verteiltes Training behebt diesen Engpass und macht es möglich, hochmoderne KI-Modelle in einem angemessenen Zeitrahmen zu entwickeln.

Wie funktioniert die verteilte Schulung?

Verteilte Ausbildungsstrategien lassen sich in erster Linie in zwei Kategorien einteilen, die auch in Kombination verwendet werden können:

  • Datenparallelität: Dies ist der häufigste Ansatz. Bei dieser Strategie wird das gesamte Modell auf jeder Arbeitsstation (oder GPU) repliziert. Der Haupttrainingsdatensatz wird in kleinere Teile aufgeteilt, und jedem Worker wird ein Teil zugewiesen. Jeder Worker berechnet unabhängig die Vorwärts- und Rückwärtsdurchläufe für seine Datenuntermenge, um Gradienten zu erzeugen. Diese Gradienten werden dann aggregiert und gemittelt, in der Regel durch einen Prozess wie All-Reduce, und der konsolidierte Gradient wird zur Aktualisierung der Modellparameter auf allen Workern verwendet. Dadurch wird sichergestellt, dass jede Kopie des Modells synchronisiert bleibt.
  • Modell-Parallelität: Diese Strategie wird verwendet, wenn ein Modell zu groß ist, um in den Speicher einer einzelnen GPU zu passen. Hier wird das Modell selbst partitioniert, wobei verschiedene Schichten oder Abschnitte auf verschiedenen Workern platziert werden. Die Daten werden zwischen den Workern weitergegeben, während sie durch die Schichten des neuronalen Netzes fließen. Dieser Ansatz ist aufgrund des hohen Kommunikationsbedarfs zwischen den Workern komplexer zu implementieren, ist aber für das Training umfangreicher Modelle wie Foundation Models unerlässlich. Architekturen wie Mixture of Experts (MoE) stützen sich stark auf Modellparallelität.

Anwendungen in der realen Welt

Verteiltes Training ist die Grundlage für viele moderne KI-Durchbrüche.

  1. Training groß angelegter Bildverarbeitungsmodelle: Unternehmen, die fortschrittliche Computer-Vision-Modelle entwickeln, wie z. B. Ultralytics YOLO11, verwenden häufig umfangreiche Datensätze wie COCO oder ImageNet. Mithilfe der Datenparallelität können sie das Training auf einen Cluster von GPUs verteilen. Dies verkürzt die Trainingszeit drastisch von Wochen auf nur Stunden oder Tage, ermöglicht schnellere Iterationen, eine umfangreichere Abstimmung der Hyperparameter und führt letztlich zu Modellen mit höherer Genauigkeit.
  2. Entwicklung von großen Sprachmodellen (LLMs): Die Erstellung von LLMs wie die der GPT-Serie wäre ohne verteiltes Training unmöglich. Diese Modelle enthalten Hunderte von Milliarden von Parametern und können nicht auf einem einzigen Gerät trainiert werden. Die Forscher verwenden einen hybriden Ansatz, bei dem die Modellparallelität zur Aufteilung des Modells auf GPUs und die Datenparallelität zur effizienten Verarbeitung riesiger Mengen von Textdaten kombiniert werden. Dies ist eine Kernkomponente von Projekten wie NVIDIAs Megatron-LM.

Verteiltes Training vs. verwandte Konzepte

Es ist wichtig, verteiltes Training von anderen verwandten Begriffen zu unterscheiden:

  • Föderiertes Lernen: Bei beiden sind zwar mehrere Geräte beteiligt, aber die Ziele und Beschränkungen sind unterschiedlich. Verteiltes Training wird normalerweise in einer kontrollierten Umgebung wie einem Rechenzentrum mit Hochgeschwindigkeitsverbindungen durchgeführt, um das Training für eine einzelne Einheit zu beschleunigen. Im Gegensatz dazu werden beim föderierten Lernen Modelle auf dezentralen Geräten (z. B. Smartphones) trainiert, ohne dass die privaten Daten auf einen zentralen Server übertragen werden. Das Hauptaugenmerk beim föderierten Lernen liegt auf dem Datenschutz, während es beim verteilten Training um Geschwindigkeit und Skalierung geht.
  • Edge AI: Diese Begriffe beziehen sich auf verschiedene Phasen des ML-Lebenszyklus. Verteiltes Training ist Teil der Trainingsphase. Edge AI betrifft die Einsatzphase, in der ein optimiertes Modell direkt auf einem lokalen, oft ressourcenbeschränkten Gerät wie einer Kamera oder dem Bordcomputer eines Autos Inferenzen ausführt. Ein mit verteilten Methoden trainiertes Modell kann für den Einsatz von Edge AI vorbereitet werden.

Werkzeuge und Umsetzung

Die Durchführung von verteilten Schulungen wird durch verschiedene Tools und Plattformen erleichtert:

  • ML-Rahmenwerke: Kern-Frameworks wie PyTorch und TensorFlow bieten integrierte Unterstützung für verteilte Ausbildungs-APIs, wie z. B. PyTorch VerteilteDatenParallel und TensorFlow's tf.distribute.Strategy.
  • Spezialisierte Bibliotheken: Bibliotheken wie Horovod, entwickelt von Uber, bieten einen rahmenunabhängigen Ansatz für verteiltes Deep Learning.
  • Cloud-Plattformen: Große Cloud-Anbieter wie AWS, Google Cloud und Microsoft Azure bieten verwaltete ML-Dienste und Infrastrukturen an, die für groß angelegte verteilte Schulungen optimiert sind.
  • MLOps-Plattformen: Plattformen wie Ultralytics HUB vereinfachen den Prozess durch die Bereitstellung von Schnittstellen für die Verwaltung von Datensätzen, die Auswahl von Modellen und den Start von Schulungsaufträgen, einschließlich Cloud-Schulungsoptionen, die die zugrunde liegende verteilte Infrastruktur verwalten. Gute MLOps-Praktiken sind der Schlüssel zur effektiven Verwaltung verteilter Schulungen.

Werden Sie Mitglied der Ultralytics-Gemeinschaft

Beteiligen Sie sich an der Zukunft der KI. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten
Link in die Zwischenablage kopiert