Stummel Ubers Fiber ist ein neues Trainings-Framework für verteilte KI-Modelle – Unite.AI
Vernetzen Sie sich mit uns

Artificial Intelligence

Ubers Fiber ist ein neues verteiltes KI-Modell-Trainings-Framework

mm
Aktualisiert on

Laut VentureBeat, haben KI-Forscher von Uber kürzlich gepostet ein Papier an Arxiv Entwurf einer neuen Plattform, die bei der Erstellung verteilter KI-Modelle helfen soll. Die Plattform heißt Faser, und es kann verwendet werden, um sowohl verstärkende Lernaufgaben als auch bevölkerungsbasiertes Lernen voranzutreiben. Fiber wurde entwickelt, um groß angelegte parallele Berechnungen für Laien zugänglicher zu machen und ihnen die Möglichkeit zu geben, die Leistungsfähigkeit verteilter KI-Algorithmen und -Modelle zu nutzen.

Fiber wurde kürzlich auf GitHub als Open Source bereitgestellt und ist mit Python 3.6 oder höher kompatibel, wobei Kubernetes auf einem Linux-System und in einer Cloud-Umgebung ausgeführt wird. Nach Angaben des Forscherteams lässt sich die Plattform problemlos auf Hunderte oder Tausende einzelner Maschinen skalieren.

Das Forscherteam von Uber erklärt, dass viele der neuesten und relevantesten Fortschritte in der künstlichen Intelligenz durch größere Modelle und mehr Algorithmen vorangetrieben wurden, die mithilfe verteilter Trainingstechniken trainiert werden. Die Erstellung bevölkerungsbasierter Modelle und Verstärkungsmodelle bleibt jedoch eine schwierige Aufgabe für verteilte Trainingsprogramme, da sie häufig Probleme mit Effizienz und Flexibilität haben. Fiber macht das verteilte System zuverlässiger und flexibler, indem es Cluster-Management-Software mit dynamischer Skalierung kombiniert und es Benutzern ermöglicht, ihre Jobs nahtlos von einer Maschine auf eine große Anzahl von Maschinen zu verschieben.

Fiber besteht aus drei verschiedenen Komponenten: einer API, einem Backend und einer Clusterschicht. Die API-Schicht ermöglicht es Benutzern, Dinge wie Warteschlangen, Manager und Prozesse zu erstellen. Die Backend-Schicht von Fiber ermöglicht dem Benutzer das Erstellen und Beenden von Jobs, die von verschiedenen Clustern verwaltet werden, und die Cluster-Schicht verwaltet die einzelnen Cluster selbst zusammen mit ihren Ressourcen, was die Anzahl der Elemente, die Fiber im Auge behalten muss, erheblich erhöht.

Mit Fiber können Jobs in die Warteschlange gestellt und remote auf einem oder mehreren lokalen Computern ausgeführt werden, wobei das Konzept auftragsgestützter Prozesse genutzt wird. Fiber nutzt auch Container, um sicherzustellen, dass Dinge wie Eingabedaten und abhängige Pakete in sich geschlossen sind. Das Fiber-Framework verfügt sogar über eine integrierte Fehlerbehandlung, sodass ein Worker im Falle eines Absturzes schnell wiederbelebt werden kann. FIber ist in der Lage, all dies zu tun, während es mit Cluster-Managern interagiert, sodass Fiber-Apps so ausgeführt werden, als wären sie normale Apps, die auf einem bestimmten Computercluster ausgeführt werden.

Experimentelle Ergebnisse zeigten, dass die Reaktionszeit von Fiber im Durchschnitt einige Millisekunden betrug und dass es sich auch besser skalieren ließ als grundlegende KI-Techniken, wenn es mit 2,048 Prozessorkernen/Workern gebaut wurde. Die für die Erledigung von Aufträgen erforderliche Zeit nahm mit zunehmender Anzahl an Arbeitskräften allmählich ab. IPyParallel hat 50 Trainingsiterationen in etwa 1400 Sekunden abgeschlossen, während Fiber die gleichen 50 Trainingsiterationen in etwa 50 Sekunden mit 512 verfügbaren Mitarbeitern abschließen konnte.

Die Mitautoren des Fiber-Artikels erklären dass Fiber in der Lage ist, mehrere Ziele zu erreichen, wie z. B. die dynamische Skalierung von Algorithmen und die Nutzung großer Mengen an Rechenleistung:

„[Unsere Arbeit zeigt], dass Fiber viele Ziele erreicht, darunter die effiziente Nutzung einer großen Menge heterogener Computerhardware, die dynamische Skalierung von Algorithmen zur Verbesserung der Ressourcennutzungseffizienz, die Reduzierung des technischen Aufwands, der erforderlich ist, um [Reinforcement Learning] und bevölkerungsbasierte Algorithmen zum Laufen zu bringen.“ Computercluster und schnelle Anpassung an verschiedene Computerumgebungen zur Verbesserung der Forschungseffizienz. Wir gehen davon aus, dass es weitere Fortschritte bei der Lösung schwieriger [Reinforcement-Learning]-Probleme mit [Reinforcement-Learning]-Algorithmen und bevölkerungsbasierten Methoden ermöglichen wird, indem es einfacher wird, diese Methoden zu entwickeln und sie in den Maßstäben zu trainieren, die nötig sind, um sie wirklich zum Leuchten zu bringen.“