Das Neuronale Netz Wurde Mit Einem Verteilten Computernetz Trainiert

Video: Das Neuronale Netz Wurde Mit Einem Verteilten Computernetz Trainiert

Video: Das Neuronale Netz Wurde Mit Einem Verteilten Computernetz Trainiert
Video: Beispiel Neuronale Netze mit Python Deutsch 2023, April
Das Neuronale Netz Wurde Mit Einem Verteilten Computernetz Trainiert
Das Neuronale Netz Wurde Mit Einem Verteilten Computernetz Trainiert
Anonim
Image
Image

Entwickler aus Russland, den USA und Kanada haben eine neue Plattform für das verteilte Lernen neuronaler Netze auf mehreren über das Internet verbundenen Computern entwickelt und getestet. Das System selbst verteilt Aufgaben unter Berücksichtigung ihrer Eigenschaften auf die Computer und verkraftet auch den Verlust eines Teils der Teilnehmer und ihrer Arbeit zu unterschiedlichen Zeiten. Die Entwickler demonstrierten die Arbeit der Plattform, indem sie an Computern von 40 Freiwilligen in neun Tagen ein neuronales Netz für die Verarbeitung von Bengali trainierten. Auf arXiv.org wurde ein Artikel über Entwicklung veröffentlicht, und die Entwickler sprachen auch im Hugging Face-Blog darüber.

Für einige wissenschaftliche und technische Probleme ist es erforderlich, eine Vielzahl von Berechnungen durchzuführen, die mit Supercomputern in einem akzeptablen Zeitrahmen durchgeführt werden können. Da nicht alle Probleme ausreichend finanziert werden können, um Zugang zu einem leistungsstarken Supercomputer zu erhalten, begannen die Forscher Ende der 1990er Jahre mit dem Aufbau verteilter Computernetzwerke. Sie bestehen aus einer großen Anzahl einfacher Leute, die freiwillig ein Programm auf ihrem Computer installiert haben, das einen Teil seiner Leistung für wissenschaftliche Berechnungen nutzt. Der Ansatz erwies sich als erfolgreich und einige Projekte wie SETI @ Home und Folding @ Home haben eine Leistung erreicht, die mit den besten Supercomputern vergleichbar ist.

Da auch das Training neuronaler Netze erhebliche Rechenleistung erfordert, haben Entwickler in den letzten Jahren begonnen, ein ähnliches Schema für maschinelles Lernen vorzuschlagen. Ähnliche Projekte gibt es bereits, das bekannteste davon ist MLC @ Home. Aber es hat wie seine Gegenstücke eine wichtige Einschränkung: Jeder Computer im Netzwerk trainiert separate kleine Modelle und nicht ein allgemeines Riesenmodell. Aber in den letzten Jahren ist die Größe erfolgreicher neuronaler Netzmodelle rasant gewachsen. Beispielsweise wurde das bekannte neuronale Netz für die Arbeit mit GPT-3-Text auf 570 Gigabyte Daten trainiert, und das Modell selbst verwendet 175 Milliarden Parameter.

Im vergangenen Jahr haben russische Entwickler eine Systemarchitektur für das verteilte Training eines neuronalen Netzes auf vielen unabhängigen Computern vorgeschlagen. In der neuen Arbeit hat eine Gruppe von Entwicklern aus Russland, den USA und Kanada, zu der auch einer der Autoren dieses Artikels, Maxim Ryabinin von Yandex und der Higher School of Economics, gehört, eine neue Plattform geschaffen und deren reale Anwendung in der Praxis gezeigt.

Zu Beginn des Trainings ermittelt die Plattform die Eigenschaften von Computern im Netzwerk und die Parameter ihrer Netzwerkverbindung. Dann werden die Aufgaben abhängig von diesen Faktoren auf einen bestimmten Computer verteilt: Leistungsstarke Computer mit schnellen Internetverbindungen und geringen Latenzen können jede Aufgabe ausführen, und Computer mit der einen oder anderen Einschränkung nehmen nur einen Teil von sich selbst ein. Zu den Aufgaben gehören sowohl das direkte Training als auch die Berechnung der Verlustfunktion, andere können zum Beispiel Gradientenabstiege durchführen, Gradienten mitteln und die Modellgewichte nach Trainingsphasen optimieren.

Da die Verbindung der Teilnehmer instabil und schwach sein kann, haben die Entwickler die Plattformarchitektur optimiert, um die Häufigkeit der Synchronisation zu reduzieren. Insbesondere entschieden sie sich für eine sehr große Batchgröße (Batch ist ein Teil des Datensatzes, der für eine Trainingsphase verwendet wird). Nachdem der Stapel verarbeitet wurde, tauschen die Computer im Netzwerk die Gradienten aus, und diejenigen, die an der Optimierung beteiligt sind, passen die Modellgewichtungen an und senden sie über das Netzwerk, damit die Computer eine neue Trainings-Iteration beginnen.

Die Plattform ermöglicht Veränderungen bei den Teilnehmern im Netzwerk schon während des Lernprozesses: Kommen neue Rechner ins Netzwerk, ist das Training schneller, und wenn die alten abgekoppelt sind und ihren Teil der Daten nicht übertragen, übernehmen die restlichen Teilnehmer über die Berechnungen. Es ist erwähnenswert, dass die Methode wie die vorherigen Analoga nicht zum Trainieren großer Modelle wie GPT-3 geeignet ist: Obwohl viele Operationen auf fast alle Computer verteilt werden können, sollte es immer noch Computer im Netzwerk geben, die das gesamte Modell ausführen können und trainieren Sie es, wobei Daten aus dem Trainingsbeispiel übersprungen werden.

Die Entwickler haben die Effizienz des Ansatzes an einem realen Problem getestet. Sie versammelten 40 Teilnehmer mit 91 Computern, in denen sich Grafikkarten mit unterschiedlichen Kapazitäten befanden: von gewöhnlichen und derzeit nicht sehr leistungsstarken NVIDIA GTX 1060 bis hin zu V100, die für leistungsstarke Rechenzentren bestimmt sind. Die Aufgabe der Teilnehmer bestand darin, ein Sprachmodell für die Bengali-Verarbeitung basierend auf der ALBERT-Architektur vorzutrainieren. Als Trainingsbeispiel verwendeten sie einen 657 Megabyte großen Snapshot der bengalischen Wikipedia vom März 2021 und einen 6, 2 Gigabyte großen bengalischen Teil des OSCAR-Datensatzes. Damit die Teilnehmer nicht gleich vor Arbeitsbeginn eine solche Datenmenge herunterladen, haben die Entwickler einen Streaming-Server erstellt, damit die Daten in Teilen parallel zum Training geladen werden konnten. Gleichzeitig stellen sie fest, dass in Zukunft ein separater Server durch ein p2p-Protokoll wie BitTorrent ersetzt werden kann.

Der Versuch dauerte neun Tage. Basierend auf den Trainingsergebnissen bewerteten die Entwickler die Qualität des Modells, indem sie es mit drei Analoga in zwei Metriken verglichen. Der erste zeigt die Qualität der Klassifizierung eingehender Token (Wörter oder deren Teile) und deren Zuordnung zu einem von vier Typen: Person, Organisation, Ort oder einem anderen. Die zweite Metrik zeigt, wie gut das Modell den Typ des gesamten Textes bestimmt. Als Ergebnis erwies sich die Qualität des verteilt trainierten Modells als vergleichbar mit herkömmlichen Modellen, auch mit solchen mit einer viel größeren Anzahl von Parametern:

Image
Image

Vergleich mit anderen Modellen durch zwei Metriken

Neuronale Netze werden nicht nur für das verteilte Lernen auf gewöhnlichen Computern angepasst, sondern auch für die Arbeit mit neuen Plattformen und neuen Datentypen, zum Beispiel auf neuromorphen Chips, die der Architektur natürlicher neuronaler Netze näher kommen, und mit Quantendaten.

Beliebt nach Thema