Die Welt der Künstlichen Intelligenz (KI) erlebt gerade einen bedeutenden Wandel. Johannes Hagemann, ein führender Forscher im Bereich der dezentralen KI, hat kürzlich die Veröffentlichung der ersten Forschungsergebnisse zu dezentralem Training bekannt gegeben. Diese Arbeit repliziert DeepMind's DiLoCo-Experimente in einem skalierbaren, dezentralen Trainingsframework. Dies ermöglicht das Training von Modellen in mehreren Ländern mit einer Compute-Auslastung von 90-95%. Die Ergebnisse zeigen, dass DiLoCo auf das Dreifache der ursprünglichen Arbeit skaliert werden kann, was seine Effektivität für Milliarden-Parameter-Modelle beweist.
Verteiltes KI-Modelltraining umfasst im Wesentlichen drei Hauptmethoden:
- Datenparallelität: Jedes Gerät führt unabhängig Vorwärts- und Rückwärtsdurchläufe auf verschiedenen Datensätzen durch und aggregiert die Gradienten durch eine All-Reduce-Operation. - Tensorparallelität: Ein Modell wird horizontal über mehrere GPUs aufgeteilt, was eine Kommunikation auf jeder Schicht erfordert. - Pipeline-Parallelität: Ein Modell wird vertikal über mehrere GPUs aufgeteilt, wobei jede GPU einen Teil eines Blockes von Schichten hält und Informationen an die nächste GPU weiterleitet.Jede dieser Methoden hat ihre Nachteile: Datenparallelität kann allein keine großen Modelle trainieren; Tensorparallelität erfordert eine erhebliche Inter-GPU-Kommunikation; und Pipeline-Parallelität ist komplex zu implementieren und erfordert eine fortschrittliche Planung, um Leerlaufzeiten der GPUs zu vermeiden.
Dezentrales Training auf global verteilten GPUs stellt einen radikalen Wandel dar. In diesem Paradigma steht relativ günstige Rechenleistung zur Verfügung, aber die Kommunikation zwischen den Instanzen ist kostspielig. Dies stellt mehrere technische Herausforderungen dar:
- Langsame Interconnects: Die Bandbreite zwischen den Knoten kann stark variieren. - Nicht-homogene Hardware: Unterschiedliche Hardware-Spezifikationen können die Effizienz beeinträchtigen. - Variable Verfügbarkeit von Rechenressourcen: Neue Geräte und Cluster können hinzukommen oder wegfallen. - Fehlertoleranz: Dezentrales Training muss widerstandsfähig gegen den Ausfall einzelner Geräte sein.Eine bedeutende Entwicklung in diesem Bereich ist das DiLoCo-Verfahren von Google DeepMind. DiLoCo ermöglicht das Training von Sprachmodellen auf schlecht verbundenen Geräten, wobei die Gradienten nur alle 500 Schritte synchronisiert werden. Dies maximiert die GPU-Auslastung und reduziert die Trainingszeit erheblich.
DiLoCo verwendet einen lokalen SGD-Algorithmus, der zwei Optimierungsprozesse nutzt: einen inneren Optimierer (AdamW) und einen äußeren Optimierer (SGD mit Nesterov-Momentum). Der innere Optimierer führt lokale Updates auf einzelnen Arbeitern durch, während der äußere Optimierer die Arbeiter periodisch synchronisiert. Diese Methode reduziert die Kommunikationshäufigkeit erheblich und senkt die Bandbreitenanforderungen für verteiltes Training.
Eine weitere Implementierung von DiLoCo wurde mit dem Hivemind-Framework erstellt. Hivemind nutzt eine verteilte Hashtabelle (DHT) für die Kommunikation und Synchronisation der Arbeiter. Dies ermöglicht eine dezentrale Trainingsumgebung, die viele inhärente Eigenschaften wie Fehlertoleranz und Peer-to-Peer-Kommunikation nutzt.
Die Replikationsexperimente von OpenDiLoCo folgten weitgehend den Hauptexperimenten von Douillard et al. Verschiedene Experimente mit einem Modell mit 150 Millionen Parametern auf einer Sprachmodellierungsaufgabe wurden durchgeführt. Die Ergebnisse zeigten, dass DiLoCo robust gegenüber der Skalierung einzelner Arbeiter und der adaptiven Nutzung der gesamten Rechenleistung ist. Diese Flexibilität ermöglicht es, die Gesamtleistung dynamisch anzupassen, basierend auf Verfügbarkeit und Preisgestaltung.
Die Ergebnisse von OpenDiLoCo und die Implementierung dezentraler Trainingsmethoden zeigen das Potenzial, die KI-Entwicklung zu demokratisieren und den Zugang zu großen Rechenressourcen zu erleichtern. Dies könnte einen bedeutenden Fortschritt für die Forschung und Entwicklung großer Sprachmodelle darstellen.