Trainieren Sie neuronale Netze automatisch neu mit Renate PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Mit Renate neuronale Netze automatisch neu trainieren

Heute geben wir die allgemeine Verfügbarkeit von bekannt Renate, eine Open-Source-Python-Bibliothek zum automatischen Neutraining von Modellen. Die Bibliothek bietet kontinuierliche Lernalgorithmen, die in der Lage sind, ein neuronales Netzwerk inkrementell zu trainieren, wenn mehr Daten verfügbar werden.

Durch das Open-Sourcing von Renate möchten wir einen Ort schaffen, an dem Praktiker, die an Systemen für maschinelles Lernen in der realen Welt arbeiten, und Forscher, die daran interessiert sind, den Stand der Technik im Bereich des automatischen maschinellen Lernens, des kontinuierlichen Lernens und des lebenslangen Lernens voranzutreiben, zusammenkommen. Wir glauben, dass Synergien zwischen diesen beiden Gemeinschaften neue Ideen in der Forschungsgemeinschaft für maschinelles Lernen hervorbringen und einen spürbaren positiven Einfluss auf reale Anwendungen haben werden.

Modellumschulung und katastrophales Vergessen

Das schrittweise Trainieren neuronaler Netze ist keine einfache Aufgabe. In der Praxis werden Daten, die zu unterschiedlichen Zeitpunkten bereitgestellt werden, häufig aus unterschiedlichen Verteilungen abgetastet. Beispielsweise kann in Frage-Antwort-Systemen die Verteilung der Themen in den Fragen im Laufe der Zeit erheblich variieren. In Klassifikationssystemen kann das Hinzufügen neuer Kategorien erforderlich sein, wenn die Daten in verschiedenen Teilen der Welt gesammelt werden. Die Feinabstimmung der zuvor trainierten Modelle mit neuen Daten in diesen Fällen wird zu einem Phänomen führen, das als „katastrophales Vergessen“ bezeichnet wird. Bei den jüngsten Beispielen wird eine gute Leistung erzielt, aber die Qualität der Vorhersagen für in der Vergangenheit gesammelte Daten wird sich erheblich verschlechtern. Darüber hinaus wird die Leistungsverschlechterung sogar noch schwerwiegender sein, wenn der Neutrainingsvorgang regelmäßig stattfindet (z. B. täglich oder wöchentlich).

Wenn das Speichern eines kleinen Datenblocks möglich ist, können Verfahren, die auf der Wiederverwendung alter Daten während des Neutrainings basieren, das katastrophale Vergessensproblem teilweise lindern. Dieser Idee folgend wurden mehrere Methoden entwickelt. Einige von ihnen speichern nur die Rohdaten, während fortgeschrittenere auch zusätzliche Metadaten speichern (z. B. die Zwischenrepräsentation der Datenpunkte im Speicher). Das Speichern einer kleinen Datenmenge (z. B. Tausende von Datenpunkten) und deren sorgfältige Verwendung führte zu der überlegenen Leistung, die in der Abbildung unten dargestellt ist.

Bringen Sie Ihr eigenes Modell und Ihren eigenen Datensatz mit

Beim Training von neuronalen Netzwerkmodellen kann es notwendig sein, die Netzwerkstruktur, die Datentransformation und andere wichtige Details zu ändern. Codeänderungen sind zwar begrenzt, können aber zu einer komplexen Aufgabe werden, wenn diese Modelle Teil einer großen Softwarebibliothek sind. Um diese Unannehmlichkeiten zu vermeiden, bietet Renate Kunden die Möglichkeit, ihre Modelle und Datensätze in vordefinierten Python-Funktionen als Teil einer Konfigurationsdatei zu definieren. Dies hat den Vorteil, dass der Code des Kunden klar vom Rest der Bibliothek getrennt bleibt und es Kunden ohne Kenntnis der internen Struktur von Renate ermöglicht wird, die Bibliothek effektiv zu nutzen.

Darüber hinaus sind alle Funktionen, einschließlich der Modelldefinition, sehr flexibel. Tatsächlich ermöglicht die Modelldefinitionsfunktion Benutzern, neuronale Netze von Grund auf nach ihren eigenen Bedürfnissen zu erstellen oder bekannte Modelle aus Open-Source-Bibliotheken wie z. B. zu instanziieren Transformer or Fackelvision. Es müssen lediglich die erforderlichen Abhängigkeiten zur Anforderungsdatei hinzugefügt werden.

Eine Anleitung zum Schreiben der Konfigurationsdatei finden Sie unter So schreiben Sie eine Konfigurationsdatei.

Der Vorteil der Hyperparameter-Optimierung

Wie es beim maschinellen Lernen oft der Fall ist, verfügen kontinuierliche Lernalgorithmen über eine Reihe von Hyperparametern. Seine Einstellungen können einen wichtigen Unterschied in der Gesamtleistung bewirken, und eine sorgfältige Abstimmung kann sich positiv auf die Vorhersageleistung auswirken. Beim Trainieren eines neuen Modells kann Renate die Hyperparameter-Optimierung (HPO) mit hochmodernen Algorithmen wie ASHA aktivieren, um die Fähigkeit zu nutzen, mehrere parallele Jobs auf Amazon SageMaker auszuführen. Ein Beispiel für die Ergebnisse ist in der folgenden Abbildung dargestellt.

Trainieren Sie neuronale Netze automatisch neu mit Renate PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Um HPO zu aktivieren, muss der Benutzer den Suchraum definieren oder einen der Standardsuchräume verwenden, die mit der Bibliothek bereitgestellt werden. Siehe Beispiel unter Führen Sie einen Trainingsjob mit HPO aus. Kunden, die nach einer schnelleren Neueinstellung suchen, können auch die Ergebnisse ihrer vorherigen Tuning-Jobs nutzen, indem sie Algorithmen mit Transfer-Lernfunktionen auswählen. Auf diese Weise werden Optimierer darüber informiert, welche Hyperparameter bei verschiedenen Optimierungsaufgaben gut funktionieren, und können sich auf diese konzentrieren, wodurch die Optimierungszeit verkürzt wird.

Führen Sie es in der Cloud aus

Renate ermöglicht Benutzern einen schnellen Übergang vom Trainieren von Modellen auf einem lokalen Computer zum Experimentieren zum Trainieren großer neuronaler Netze mit SageMaker. Tatsächlich ist das Ausführen von Trainingsjobs auf einem lokalen Computer eher ungewöhnlich, insbesondere beim Trainieren von Modellen im großen Maßstab. Gleichzeitig kann es äußerst nützlich sein, Details überprüfen und den Code lokal testen zu können. Um diesem Bedarf gerecht zu werden, ermöglicht Renate ein schnelles Umschalten zwischen dem lokalen Computer und dem SageMaker-Dienst, indem einfach ein einfaches Flag in der Konfigurationsdatei geändert wird.

Wenn Sie beispielsweise einen Tuning-Job starten, ist es möglich, ihn lokal auszuführen execute_tuning_job(..., backend='local') und wechseln Sie schnell zu SageMaker, indem Sie den Code wie folgt ändern:

execute_tuning_job(
...,
backend="sagemaker",
role=get_execution_role(),      # requires importing the function from Syne Tune
instance_type="ml.g4dn.2xlarge" # the desired instance type
job_name="name_prefix_",             # a prefix to be used to identify the job
...
)

Nachdem Sie das Skript ausgeführt haben, können Sie den laufenden Job auf der SageMaker-Weboberfläche sehen:

Trainieren Sie neuronale Netze automatisch neu mit Renate PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Es wird auch möglich sein, den Trainingsjob zu überwachen und die Protokolle in CloudWatch zu lesen:

Trainieren Sie neuronale Netze automatisch neu mit Renate PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

All dies ohne zusätzlichen Code oder Aufwand.

Ein vollständiges Beispiel zum Ausführen von Trainingsjobs in der Cloud finden Sie unter So führen Sie einen Trainingsjob aus.

Zusammenfassung

In diesem Beitrag haben wir die Probleme beschrieben, die mit dem Umtrainieren neuronaler Netze verbunden sind, und die Hauptvorteile der Renate-Bibliothek dabei. Um mehr über die Bibliothek zu erfahren, besuchen Sie die GitHub-Repository, wo Sie einen allgemeinen Überblick über die finden Bibliothek und sein Algorithmen, Anweisungen für die Installation und Beispiele das kann Ihnen beim Einstieg helfen.

Wir freuen uns auf Ihre Beiträge, Feedback und weitere Diskussionen mit allen Interessierten und darauf, dass die Bibliothek in reale Umschulungspipelines integriert wird.


Über die Autoren

Trainieren Sie neuronale Netze automatisch neu mit Renate PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Giovanni Zappella ist ein Senior Applied Scientist, der bei AWS Sagemaker an langfristiger Wissenschaft arbeitet. Derzeit arbeitet er an kontinuierlichem Lernen, Modellüberwachung und AutoML. Davor arbeitete er an Anwendungen von mehrarmigen Banditen für groß angelegte Empfehlungssysteme bei Amazon Music.

Trainieren Sie neuronale Netze automatisch neu mit Renate PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Martin Wistuba ist ein angewandter Wissenschaftler im langfristigen Wissenschaftsteam bei AWS Sagemaker. Seine Forschung konzentriert sich auf automatisches maschinelles Lernen.

Trainieren Sie neuronale Netze automatisch neu mit Renate PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.  Lukas Bälle ist angewandter Wissenschaftler bei AWS. Er arbeitet an kontinuierlichem Lernen und Themen rund um das Modellmonitoring.

Trainieren Sie neuronale Netze automatisch neu mit Renate PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Cédric Archambeau ist Principal Applied Scientist bei AWS und Fellow des European Lab for Learning and Intelligent Systems.

Zeitstempel:

Mehr von AWS Maschinelles Lernen