Große aufmerksamkeitsbasierte Transformer-Modelle haben massive Fortschritte bei der Verarbeitung natürlicher Sprache (NLP) erzielt. Das Training dieser gigantischen Netzwerke von Grund auf erfordert jedoch eine enorme Menge an Daten und Rechenleistung. Für kleinere NLP-Datensätze besteht eine einfache, aber effektive Strategie darin, einen vortrainierten Transformer zu verwenden, der normalerweise unbeaufsichtigt an sehr großen Datensätzen trainiert wird, und ihn auf den interessierenden Datensatz zu optimieren. Gesicht umarmen unterhält einen großen Modellzoo dieser vortrainierten Transformatoren und macht sie auch für unerfahrene Benutzer leicht zugänglich.
Die Feinabstimmung dieser Modelle erfordert jedoch immer noch Expertenwissen, da sie sehr empfindlich auf ihre Hyperparameter wie Lernrate oder Stapelgröße reagieren. In diesem Beitrag zeigen wir, wie Sie diese Hyperparameter mit dem Open-Source-Framework optimieren können Syne-Melodie für die verteilte Hyperparameteroptimierung (HPO). Syne Tune ermöglicht es uns, eine bessere Hyperparameter-Konfiguration zu finden, die eine relative Verbesserung zwischen 1-4 % im Vergleich zu Standard-Hyperparametern bei Popular erzielt KLEBER Benchmark-Datensätze. Die Wahl des vortrainierten Modells selbst kann auch als Hyperparameter betrachtet werden und daher automatisch von Syne Tune ausgewählt werden. Bei einem Textklassifikationsproblem führt dies zu einer zusätzlichen Genauigkeitssteigerung von ca. 5 % im Vergleich zum Standardmodell. Wir können jedoch mehr Entscheidungen automatisieren, die ein Benutzer treffen muss; Wir demonstrieren dies, indem wir auch den Typ der Instanz als Hyperparameter verfügbar machen, den wir später zum Bereitstellen des Modells verwenden. Durch die Auswahl des richtigen Instanztyps können wir Konfigurationen finden, die Kosten und Latenz optimal ausbalancieren.
Eine Einführung in Syne Tune finden Sie unter Führen Sie verteilte Hyperparameter- und neuronale Architektur-Tuning-Jobs mit Syne Tune aus.
Hyperparameter-Optimierung mit Syne Tune
Wir werden die KLEBER Benchmark-Suite, die aus neun Datensätzen für Aufgaben zum Verständnis natürlicher Sprache besteht, wie z. B. Erkennung von Textfolgen oder Stimmungsanalysen. Dafür adaptieren wir Hugging Face's run_glue.py Trainingsskript. GLUE-Datensätze werden mit einem vordefinierten Trainings- und Bewertungssatz mit Beschriftungen sowie einem Hold-out-Testsatz ohne Beschriftungen geliefert. Daher teilen wir den Trainingssatz in einen Trainings- und einen Validierungssatz (70 %/30 %-Aufteilung) auf und verwenden den Bewertungssatz als unseren Holdout-Testdatensatz. Darüber hinaus fügen wir der Trainer-API von Hugging Face eine weitere Callback-Funktion hinzu, die die Validierungsleistung nach jeder Epoche an Syne Tune zurückmeldet. Siehe folgenden Code:
Wir beginnen mit der Optimierung typischer Trainings-Hyperparameter: die Lernrate, das Aufwärmverhältnis zur Steigerung der Lernrate und die Stapelgröße zur Feinabstimmung eines vortrainierten BERT (Bert-Base-Gehäuse)-Modell, das das Standardmodell im Beispiel „Hugging Face“ ist. Siehe folgenden Code:
Als unsere HPO-Methode verwenden wir ASHA, das Hyperparameterkonfigurationen gleichmäßig zufällig abtastet und iterativ die Auswertung von Konfigurationen mit schlechter Leistung stoppt. Obwohl ausgefeiltere Methoden ein probabilistisches Modell der Zielfunktion verwenden, wie es BO oder MoBster gibt, verwenden wir ASHA für diesen Beitrag, da er ohne Annahmen zum Suchraum auskommt.
In der folgenden Abbildung vergleichen wir die relative Verbesserung des Testfehlers gegenüber der standardmäßigen Hyperparameterkonfiguration von Hugging Faces.
Der Einfachheit halber beschränken wir den Vergleich auf MRPC, COLA und STSB, aber wir beobachten ähnliche Verbesserungen auch für andere GLUE-Datensätze. Für jeden Datensatz führen wir ASHA auf einer einzigen ml.g4dn.xlarge aus Amazon Sage Maker Instanz mit einem Laufzeitbudget von 1,800 Sekunden, was ungefähr 13, 7 bzw. 9 vollständigen Funktionsauswertungen dieser Datensätze entspricht. Um die intrinsische Zufälligkeit des Trainingsprozesses zu berücksichtigen, die beispielsweise durch das Mini-Batch-Sampling verursacht wird, führen wir sowohl ASHA als auch die Standardkonfiguration für fünf Wiederholungen mit einem unabhängigen Startwert für den Zufallszahlengenerator aus und melden den Durchschnitt und die Standardabweichung der relative Verbesserung über die Wiederholungen hinweg. Wir können sehen, dass wir über alle Datensätze hinweg die Vorhersageleistung im Vergleich zur Leistung der sorgfältig ausgewählten Standardkonfiguration tatsächlich um 1-3 % verbessern können.
Automatisieren Sie die Auswahl des vortrainierten Modells
Wir können HPO verwenden, um nicht nur Hyperparameter zu finden, sondern auch automatisch das richtige vortrainierte Modell auszuwählen. Warum wollen wir das tun? Da kein einzelnes Modell über alle Datensätze hinweg eine hervorragende Leistung erbringt, müssen wir das richtige Modell für einen bestimmten Datensatz auswählen. Um dies zu demonstrieren, evaluieren wir eine Reihe beliebter Trafo-Modelle von Hugging Face. Für jeden Datensatz stufen wir jedes Modell nach seiner Testleistung ein. Die Rangfolge der Datensätze (siehe folgende Abbildung) ändert sich und nicht ein einzelnes Modell, das bei jedem Datensatz die höchste Punktzahl erzielt. Als Referenz zeigen wir auch die absolute Testleistung jedes Modells und Datensatzes in der folgenden Abbildung.
Um automatisch das richtige Modell auszuwählen, können wir die Wahl des Modells in kategoriale Parameter umwandeln und dies unserem Hyperparameter-Suchraum hinzufügen:
Obwohl der Suchraum jetzt größer ist, bedeutet das nicht unbedingt, dass er schwieriger zu optimieren ist. Die folgende Abbildung zeigt den Testfehler der am besten beobachteten Konfiguration (basierend auf dem Validierungsfehler) auf dem MRPC-Datensatz von ASHA im Laufe der Zeit, wenn wir im ursprünglichen Bereich (blaue Linie) suchen (mit einem BERT-basierten, vortrainierten Modell). ) oder im neuen erweiterten Suchbereich (orangefarbene Linie). Bei gleichem Budget ist ASHA in der Lage, im erweiterten Suchbereich eine viel leistungsfähigere Hyperparameterkonfiguration zu finden als im kleineren Bereich.
Automatisieren Sie die Auswahl des Instance-Typs
In der Praxis geht es uns möglicherweise nicht nur um die Optimierung der Vorhersageleistung. Wir könnten uns auch um andere Ziele kümmern, wie z. B. Trainingszeit, (Dollar-)Kosten, Latenz oder Fairness-Metriken. Wir müssen auch andere Entscheidungen über die Hyperparameter des Modells hinaus treffen, beispielsweise die Auswahl des Instanztyps.
Obwohl der Instance-Typ die Vorhersageleistung nicht beeinflusst, wirkt er sich stark auf die (Dollar-)Kosten, die Trainingslaufzeit und die Latenz aus. Letzteres wird besonders wichtig, wenn das Modell eingesetzt wird. Wir können HPO als ein Optimierungsproblem mit mehreren Zielen formulieren, bei dem wir darauf abzielen, mehrere Ziele gleichzeitig zu optimieren. Allerdings optimiert keine einzelne Lösung alle Metriken gleichzeitig. Stattdessen zielen wir darauf ab, eine Reihe von Konfigurationen zu finden, die ein Ziel optimal gegen das andere abwägen. Dies nennt man die Pareto-Satz.
Um diese Einstellung weiter zu analysieren, fügen wir unserem Suchraum die Wahl des Instanztyps als zusätzlichen kategorialen Hyperparameter hinzu:
Wir verwenden MO-ASHA, das ASHA an das Szenario mit mehreren Zielen anpasst, indem nicht dominiertes Sortieren verwendet wird. In jeder Iteration wählt MO-ASHA auch für jede Konfiguration auch den Typ der Instanz aus, auf der wir sie evaluieren möchten. Um HPO auf einem heterogenen Satz von Instanzen auszuführen, stellt Syne Tune das SageMaker-Backend bereit. Mit diesem Backend wird jede Testversion als unabhängiger SageMaker-Trainingsjob auf einer eigenen Instanz bewertet. Die Anzahl der Worker definiert, wie viele SageMaker-Jobs wir zu einem bestimmten Zeitpunkt parallel ausführen. Der Optimierer selbst, in unserem Fall MO-ASHA, läuft entweder auf dem lokalen Rechner, einem Sagemaker-Notebook oder auf einem separaten SageMaker-Trainingsjob. Siehe folgenden Code:
Die folgenden Abbildungen zeigen links die Latenz im Vergleich zum Testfehler und rechts die Latenz im Vergleich zu den Kosten für zufällige Konfigurationen, die von MO-ASHA (wir begrenzen die Achse für die Sichtbarkeit) auf dem MRPC-Datensatz abgetastet haben, nachdem er 10,800 Sekunden lang auf vier Arbeitern ausgeführt wurde. Die Farbe gibt den Instanztyp an. Die gestrichelte schwarze Linie stellt die Pareto-Menge dar, dh die Menge von Punkten, die alle anderen Punkte in mindestens einem Ziel dominieren.
Wir können einen Kompromiss zwischen Latenz und Testfehler beobachten, was bedeutet, dass die beste Konfiguration mit dem niedrigsten Testfehler nicht die niedrigste Latenz erreicht. Basierend auf Ihren Vorlieben können Sie eine Hyperparameter-Konfiguration auswählen, die die Testleistung beeinträchtigt, aber eine geringere Latenz aufweist. Wir sehen auch den Kompromiss zwischen Latenz und Kosten. Durch die Verwendung einer kleineren ml.g4dn.xlarge-Instanz erhöhen wir beispielsweise die Latenz nur geringfügig, zahlen aber ein Viertel der Kosten einer ml.g4dn.8xlarge-Instanz.
Zusammenfassung
In diesem Beitrag haben wir die Hyperparameter-Optimierung zur Feinabstimmung vortrainierter Transformer-Modelle von Hugging Face auf Basis von Syne Tune besprochen. Wir haben gesehen, dass wir durch die Optimierung von Hyperparametern wie Lernrate, Stapelgröße und Aufwärmverhältnis die sorgfältig ausgewählte Standardkonfiguration verbessern können. Wir können dies auch erweitern, indem wir das vortrainierte Modell automatisch über die Hyperparameter-Optimierung auswählen.
Mit Hilfe des SageMaker-Backends von Syne Tune können wir den Instanztyp als Hyperparameter behandeln. Obwohl sich der Instance-Typ nicht auf die Leistung auswirkt, hat er erhebliche Auswirkungen auf die Latenz und die Kosten. Indem wir HPO als Optimierungsproblem mit mehreren Zielen darstellen, sind wir daher in der Lage, eine Reihe von Konfigurationen zu finden, die ein Ziel optimal gegen das andere abwägen. Wenn Sie dies selbst ausprobieren möchten, schauen Sie sich unsere an Beispiel Notizbuch.
Über die Autoren
Aaron Klein ist angewandter Wissenschaftler bei AWS.
Mathias Seeger ist Principal Applied Scientist bei AWS.
David Salinas ist Senior Applied Scientist bei AWS.
Emily Weber trat AWS kurz nach dem Start von SageMaker bei und versucht seitdem, der Welt davon zu erzählen! Abgesehen davon, dass sie neue ML-Erfahrungen für Kunden entwickelt, meditiert Emily gerne und studiert den tibetischen Buddhismus.
Cédric Archambeau ist Principal Applied Scientist bei AWS und Fellow des European Lab for Learning and Intelligent Systems.
- Coinsmart. Europas beste Bitcoin- und Krypto-Börse.
- Platoblockkette. Web3-Metaverse-Intelligenz. Wissen verstärkt. DEN FREIEN ZUGANG.
- CryptoHawk. Altcoin-Radar. Kostenlose Testphase.
- Quelle: https://aws.amazon.com/blogs/machine-learning/hyperparameter-optimization-for-fine-tuning-pre-trained-transformer-models-from-hugging-face/
- "
- 10
- 100
- 7
- 9
- a
- Über uns
- Absolute
- zugänglich
- Konto
- Erreichen
- über
- Zusätzliche
- beeinflussen
- Alle
- erlaubt
- Obwohl
- Amazon
- Betrag
- Analyse
- analysieren
- Ein anderer
- Bienen
- angewandt
- ca.
- Architektur
- Augmented
- automatisieren
- Im Prinzip so, wie Sie es von Google Maps kennen.
- durchschnittlich
- AWS
- Achse
- weil
- Benchmark
- BESTE
- Besser
- zwischen
- Beyond
- Schwarz
- fett
- Auftrieb
- Haushalt
- Building
- österreichische Unternehmen
- Häuser
- verursacht
- Wahl
- Entscheidungen
- gewählt
- Klasse
- Einstufung
- Code
- wie die
- verglichen
- Berechnen
- Konfiguration
- Smartgeräte App
- Kunden
- technische Daten
- Entscheidungen
- zeigen
- einsetzen
- Einsatz
- verteilt
- Tut nicht
- Dollar
- jeder
- leicht
- Effektiv
- Europäische
- bewerten
- Auswertung
- Beispiel
- Erfahrungen
- Experte
- erweitern
- Gesicht
- Fashion
- Abbildung
- Folgende
- Unser Ansatz
- für
- voller
- Funktion
- weiter
- Außerdem
- Generator
- Hilfe
- hier
- Ultraschall
- Hilfe
- aber
- HTTPS
- Impact der HXNUMXO Observatorien
- wichtig
- zu unterstützen,
- Verbesserung
- Erhöhung
- unabhängig
- beeinflussen
- Instanz
- Intelligent
- Interesse
- IT
- selbst
- Job
- Jobs
- beigetreten
- Wissen
- Labor
- Etiketten
- Sprache
- grosse
- größer
- ins Leben gerufen
- umwandeln
- lernen
- LIMIT
- Line
- aus einer regionalen
- Maschine
- um
- MACHT
- massiv
- Bedeutung
- Methoden
- Metrik
- könnte
- ML
- Modell
- für
- mehr
- mehrere
- Natürliche
- Notwendig
- Bedürfnisse
- Netzwerke
- Notizbuch
- Anzahl
- erhalten
- Optimierung
- Optimieren
- Optimierung
- Original
- Andere
- besitzen
- besonders
- AUFMERKSAMKEIT
- Leistung
- Durchführung
- Bitte
- Punkte
- Beliebt
- Praxis
- Principal
- Aufgabenstellung:
- Prozessdefinierung
- Verarbeitung
- bietet
- Angebot
- Rangliste
- berichten
- Reporter
- Meldungen
- representiert
- erfordert
- Die Ergebnisse
- Führen Sie
- Laufen
- gleich
- Wissenschaftler
- Suche
- Sekunden
- Samen
- ausgewählt
- Gefühl
- kompensieren
- Einstellung
- erklären
- signifikant
- ähnlich
- Einfacher
- Single
- Größe
- Lösung
- anspruchsvoll
- Raumfahrt
- spezifisch
- gespalten
- Standard
- Anfang
- Bundesstaat
- Immer noch
- Strategie
- Systeme und Techniken
- und Aufgaben
- Test
- Das
- die Welt
- deswegen
- Zeit
- Handel
- Ausbildung
- behandeln
- enorm
- Versuch
- Verständnis
- us
- -
- Nutzer
- gewöhnlich
- Nutzen
- Bestätigung
- Sichtbarkeit
- Wikipedia
- ohne
- Arbeiter
- weltweit wie ausgehandelt und gekauft ausgeführt wird.
- Ihr