Glossar

Verteilte Ausbildung

Beschleunige das KI-Training mit verteiltem Training! Lerne, wie du die Trainingszeit verkürzen, Modelle skalieren und Ressourcen für komplexe ML-Projekte optimieren kannst.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Verteiltes Training ist eine Technik, die beim maschinellen Lernen eingesetzt wird, um den Trainingsprozess von Modellen zu beschleunigen, insbesondere von großen und komplexen Modellen, wie sie beim Deep Learning verwendet werden. Da die Datensätze immer größer und die Modelle immer anspruchsvoller werden, kann das Training auf einem einzelnen ProzessorCPU oder GPU) unverhältnismäßig langsam werden. Verteiltes Training löst dieses Problem, indem es die Rechenlast auf mehrere Recheneinheiten verteilt, die sich auf einem einzigen Rechner befinden oder über mehrere Rechner in einem Netzwerk oder einer Cloud-Umgebung verteilt sein können.

Wie verteiltes Training funktioniert

Der Kerngedanke des verteilten Trainings ist die Parallelität. Anstatt Daten zu verarbeiten und Modellaktualisierungen nacheinander auf einem Prozessor zu berechnen, wird die Aufgabe aufgeteilt und gleichzeitig auf mehreren Prozessoren (oft "Worker" genannt) ausgeführt. Es gibt zwei Hauptstrategien:

  • Datenparallelität: Der häufigste Ansatz. Der Datensatz wird in kleinere Teile aufgeteilt, und jeder Worker trainiert mit einer Kopie des Modells auf seinem eigenen Teil. Die Ergebnisse (Gradienten) werden dann kombiniert, um das zentrale Modell zu aktualisieren. Das funktioniert gut, wenn das Modell auf einen einzigen Worker passt, aber der Datensatz sehr groß ist. Frameworks wie PyTorch bieten Distributed Data Parallel.
  • Modellparallelität: Wird verwendet, wenn das Modell selbst zu groß ist, um in den Speicher eines einzelnen Workers zu passen. Verschiedene Teile des Modells werden auf verschiedenen Workern platziert und die Daten fließen während des Trainings zwischen ihnen. Dies ist komplexer zu implementieren als Datenparallelität. Erfahre mehr über die Ansätze vonTensorFlow zur Modellparallelität.

Reale Anwendungen der verteilten Ausbildung

Verteiltes Training ist für die Bewältigung großer KI-Probleme in verschiedenen Bereichen unerlässlich:

  • Training großer Sprachmodelle (LLMs): Modelle wie GPT-4 haben Milliarden von Parametern und werden auf riesigen Textdatensätzen trainiert. Verteiltes Training auf Tausenden von GPUs macht dies möglich. Solche Modelle ermöglichen Anwendungen von der maschinellen Übersetzung bis hin zu modernen Chatbots.
  • Fortgeschrittene Computer Vision Modelle: Das Training modernster Modelle für Aufgaben wie hochauflösende Bildsegmentierung, detaillierte medizinische Bildanalyse oder Wahrnehmungssysteme für autonome Fahrzeuge erfordert oft verteiltes Training, um komplexe Architekturen und große visuelle Datensätze wie ImageNet zu bewältigen.

Beispiele für Anwendungsfälle

  • Schulung der Ultralytics YOLO : Verteiltes Training kann die benötigte Zeit für die Ausbildung erheblich verkürzen Ultralytics YOLO Modelle erheblich verkürzen, insbesondere bei großen benutzerdefinierten Datensätzen für die Objekterkennung. Durch den Einsatz mehrerer GPUs erreichen die Nutzer eine schnellere Konvergenz und eine potenziell bessere Modellgenauigkeit.
  • Cloud-basierte Modellschulung: Plattformen wie Ultralytics HUB bieten eine zugängliche Möglichkeit, verteilte Trainingsressourcen in der Cloud zu nutzen. Dies ermöglicht es Nutzern ohne leistungsstarke lokale Hardware, große Modelle effizient mit einer verwalteten Infrastruktur von Anbietern wie AWS, Google Cloud oder Azure zu trainieren.

Verteiltes Training vs. andere Trainingsmethoden

Es ist hilfreich, die verteilte Ausbildung von verwandten Konzepten zu unterscheiden:

  • Zentralisierte Ausbildung: Der traditionelle Ansatz, bei dem der gesamte Ausbildungsprozess auf einer einzigen Maschine oder einem einzigen Gerät stattfindet. Er ist einfacher, aber oft zu langsam für moderne, umfangreiche Aufgaben.
  • Föderiertes Lernen: Ein anderer verteilter Ansatz, bei dem es vor allem um den Datenschutz geht. Beim föderierten Lernen werden die Modelle lokal auf dezentralen Geräten (z. B. Mobiltelefonen) anhand lokaler Daten trainiert. Nur die Modellaktualisierungen, nicht die Rohdaten, werden zur Zusammenfassung an einen zentralen Server gesendet. Dies steht im Gegensatz zum typischen verteilten Training, bei dem die Daten oft zentral gespeichert oder unter zentraler Kontrolle auf Arbeiter/innen verteilt werden.

Verteiltes Training ist eine grundlegende Technik, um die Grenzen des Umfangs und der Leistungsfähigkeit von KI-Modellen zu verschieben. Tools und Bibliotheken in Frameworks wie PyTorch, TensorFlowund spezialisierte Bibliotheken wie Horovod vereinfachen die Implementierung und machen das Training von Modellen in großem Maßstab leichter zugänglich.

Alles lesen