Datenbanken und Informationssysteme

News

Alle News

Alexander Renz-Wieland verteidigte am 16/12/22, erfolgreich seine Dissertation „Adaptive Parameter-Server"

Zusammenfassung

Adaptive Parameter-Server

Maschinelles Lernen (ML) ist inzwischen ein essentielles Werkzeug, um Probleme zu lösen, die für Computer traditionell herausfordernd waren, zum Beispiel zur Verarbeitung natürlicher Sprache, für Bilderkennung und zum Generieren von Empfehlungen. Um mit steigenden Datenmengen und Modellkomplexitäten Schritt zu halten, ist für komplizierte ML-Aufgaben verteiltes Training notwendig, das heißt, paralleles Training auf mehreren Computern eines Clusters. Eine zentrale Herausforderung in verteiltem Training ist die effiziente Synchronisierung der Modellparameter zwischen den Computern des Clusters. Parameter Server erleichtern die Implementierung von verteiltem Training, indem sie clusterweiten Lese- und Schreibzugriff auf die Modellparameter ermöglichen, und im Hintergrund transparent Partitionierung und Synchronisation handhaben (entweder direkt zwischen den Computern des Clusters oder via physisch separate Computer).

In dieser Arbeit untersuche ich die Effizienz von Parameter Servern für ML-Aufgaben mit dünnbesetztem (engl.~``sparse’’) Parameterzugriff, also Aufgaben, bei denen jeder Modell-Update-Schritt nur einen kleinen (oder winzigen) Teil des Modells liest und schreibt. In einem ersten Schritt stelle ich fest, dass bestehende Parameter Server für solche Aufgaben ineffizient sind: In meinen Experimenten waren verteilte Implementierungen (mit 8 Computern) langsamer als effiziente Implementierungen auf einem einzelnen Computer. Diese Ineffizienz limitiert den Nutzwert von Parameter Servern und verteiltem Training drastisch. Mit solch hoher Ineffizienz wird verteiltes Lernen in der Praxis nur eingesetzt wenn es unvermeidbar ist, zum Beispiel für sehr große Modelle. Und immer wenn verteiltes Training eingesetzt wird, vergeudet es Hardware- und Energieressourcen.

Auf der Grundlage dieser Beobachtung untersuche ich, ob und wie die Effizienz von Parameter Servern verbessert werden kann. Die zentrale Idee dieser Arbeit ist, die Effizienz zu verbessern indem der Parameter Server sich an die zugrunde liegende ML-Aufgabe anpasst. Ich präsentiere und evaluiere zunächst eine Reihe von potenziellen Verbesserungen in dieser Richtung, die den Parameter Server jeweils adaptiver machen. Insbesondere versuche ich, (i) die Allokation der Modellparameter dynamisch anzupassen, das heißt, die Parameter während des Trainings zwischen den Knoten zu verschieben, je nachdem, wo auf sie zugegriffen wird, (ii) die Parameter-Management-Techniken des Parameter Servers an die Zugriffsmuster der einzelnen Parameter anzupassen, also für jeden Parameter eine für den Parameter geeignete Technik einzusetzen, und (iii) den Parameter Server an die Art des Parameterzugriffs anzupassen, indem er stichprobenartige (randomisierte) Zugriffe direkt unterstützt. In einer Reihe von Experimenten stelle ich fest, dass jeder dieser Aspekte die Effizienz von Parameter Servern verbessern kann. Allerdings verkompliziert jeder Aspekt auch die Nutzung des Parameter Servers, weil die Anwendung (die Komponente, die mit dem Parameter Server interagiert) die Anpassungen manuell steuern muss.

Aus diesem Grund entwickle ich einen Mechanismus, der automatische Anpassung ermöglicht. Die Anwendung stellt über diesen Mechanismus Informationen über die Parameterzugriffe bereit, und zwar auf eine Art, die sich nahtlos in gängige ML-Systeme integriert. Darüber hinaus präsentiere ich einen neuartigen Parameter Server (AdaPS), der sich basierend auf den von diesem Mechanismus bereitgestellten Informationen automatisch an ML-Aufgaben anpasst. AdaPS vereint alle in dieser Arbeit vorgestellten Aspekte der Adaptivität. Der Parameter Server entscheidet, was zu tun ist (das heißt, welche Technik für einen bestimmten Parameter zu verwenden ist und wo jeder Parameter alloziert werden soll) und wann dies zu tun ist. Dies geschieht automatisch, also ohne zusätzliche Informationen, und dynamisch, also basierend auf der aktuellen Situation. In Experimenten ermöglicht AdaPS effizientes verteiltes ML-Training: Im Gegensatz zu früheren Parameter Servern liefert AdaPS nahezu lineare Geschwindigkeitssteigerungen gegenüber Implementierungen für einzelne Computer.


Aufgrund dieser Ergebnisse argumentiere ich, dass Parameter Server für dünnbesetzte ML-Aufgaben effizient sein können, und dass diese Effizienz mit begrenztem zusätzlichem Aufwand für Anwendungsentwickler:innen erreicht werden kann. Effiziente und einfach zu verwendende Parameter Server sorgen dafür, dass verteiltes Training (i) für ein breites Spektrum von Anwendungsfällen attraktiv wird (und so Lösungen für anspruchsvolle Probleme ermöglicht) und (ii) weniger der Ressourcen unseres Planeten verschwendet.