Heim >Technologie-Peripheriegeräte >KI >Vernichte AdamW umfassend! Der neue Optimierer von Google verfügt über einen kleinen Speicher und eine hohe Effizienz. Netizens: Das Training von GPT 2 ist wirklich schnell

Vernichte AdamW umfassend! Der neue Optimierer von Google verfügt über einen kleinen Speicher und eine hohe Effizienz. Netizens: Das Training von GPT 2 ist wirklich schnell

王林
王林nach vorne
2023-04-11 17:19:061478Durchsuche

Der Optimierer ist ein Optimierungsalgorithmus und spielt eine Schlüsselrolle beim Training neuronaler Netze. In den letzten Jahren haben Forscher eine große Anzahl manueller Optimierer eingeführt, von denen die meisten adaptive Optimierer sind. Adam- und Adafactor-Optimierer nehmen immer noch den Mainstream beim Training neuronaler Netze ein, insbesondere in den Bereichen Sprache, Vision und Multimodalität.

Neben der manuellen Einführung von Optimierern besteht eine weitere Richtung darin, dass das Programm Optimierungsalgorithmen automatisch erkennt. Jemand hat bereits L2O (Learning to Optimize) vorgeschlagen, das Optimierer durch das Training neuronaler Netze entdeckt. Allerdings werden diese Black-Box-Optimierer normalerweise auf eine begrenzte Anzahl kleiner Aufgaben trainiert und haben Schwierigkeiten bei der Verallgemeinerung auf große Modelle.

Andere haben andere Ansätze ausprobiert, indem sie Verstärkungslernen oder Monte-Carlo-Stichproben angewendet haben, um neue Optimierer zu entdecken. Um die Suche zu vereinfachen, schränken diese Methoden jedoch meist den Suchraum ein und schränken damit die Möglichkeit ein, andere Optimierer zu entdecken. Daher haben aktuelle Methoden noch nicht das SOTA-Niveau erreicht.

In den letzten Jahren ist AutoML-Zero erwähnenswert, das versucht, bei der Bewertung von Aufgaben jede Komponente der Machine-Learning-Pipeline zu durchsuchen, was für die Entdeckung von Optimierern sehr nützlich ist. ​

In diesem Artikel Forscher von Google und der UCLA schlugen eine Methode zur Entdeckung von Optimierungsalgorithmen für das Training tiefer neuronaler Netze durch Programmsuche vor und entdeckten dann Lion (EvoL ved S ign Momentum) Optimierer. Das Erreichen dieses Ziels steht vor zwei Herausforderungen: Erstens müssen qualitativ hochwertige Algorithmen im unendlich spärlichen Programmraum gefunden werden, und zweitens müssen Algorithmen ausgewählt werden, die sich von kleinen Aufgaben auf größere SOTA-Aufgaben verallgemeinern lassen. Um diesen Herausforderungen zu begegnen, setzt die Forschung eine Reihe von Techniken ein, darunter evolutionäre Suche mit Heißstarts und Neustarts, abstrakte Ausführung, Trichterauswahl und Programmvereinfachung.

  • Papieradresse: https://arxiv.org/pdf/2302.06675.pdf
  • Projektadresse: https://github.com/google/automl/tree/master/lion

Im Vergleich zu AdamW und verschiedenen adaptiven Optimierern (die sowohl das erste als auch das zweite Moment speichern müssen) benötigt Lion nur Impuls und verwendet symbolische Operationen zur Berechnung von Aktualisierungen und wird zusätzlich die Speichernutzung halbieren. Dies ist nützlich, wenn Sie große Modelle oder große Chargen trainieren. Beispielsweise benötigt AdamW mindestens 16 TPU V4, um ViT-B/16 mit der Bildgröße 224 und der Stapelgröße 4096 zu trainieren, während Lion nur 8 benötigt. Ein weiterer praktischer Vorteil besteht darin, dass Lion aufgrund seiner Einfachheit in Experimenten schnellere Laufzeiten (Schritte/Sek.) aufweist, typischerweise 2–15 % schneller als AdamW und Adafactor, je nach Aufgabe, Codebasis und Hardware.

Xiangning Chen, der erste Autor des Papiers, sagte: Unsere Suche nach symbolischen Programmen hat einen effektiven Optimierer gefunden, der nur die Dynamik verfolgt – Lion. Im Vergleich zu Adam wurde eine Genauigkeit von 88,3 % bei der Nullabtastung und 91,1 % bei der Feinabstimmung von ImageNet sowie eine bis zu 5-fache (im Vergleich zu ViT), 2,3-fache (im Vergleich zum Diffusionsmodell) und 2-fache (im Vergleich zu LM) Trainingseffizienz erreicht.

Vernichte AdamW umfassend! Der neue Optimierer von Google verfügt über einen kleinen Speicher und eine hohe Effizienz. Netizens: Das Training von GPT 2 ist wirklich schnell

Lion hat bei einer Reihe von Modellen (Transformer, MLP, ResNet, U-Net und Hybrid) und Aufgaben (Bildklassifizierung, visuell-linguistisches kontrastives Lernen, Diffusion, Sprachmodellierung und Feinabstimmung) herausragende Leistungen gezeigt ) Leistung. Es ist erwähnenswert, dass diese Studie durch das Ersetzen von Adafactor durch Lion in BASIC eine Zero-Shot-Genauigkeit von 88,3 % und eine Feinabstimmungsgenauigkeit von 91,1 % auf ImageNet erreichte (Pham et al., 2021) und damit die vorherigen SOTA-Ergebnisse um 2 % bzw. 0,1 übertraf . %.

Darüber hinaus reduziert Lion die Berechnung vor dem Training auf JFT um das bis zu Fünffache, verbessert die Trainingseffizienz von Diffusionsmodellen um das 2,3-fache, erzielt bessere FID-Werte und bietet Verbesserungen bei der Sprachmodellierung. Ähnliche oder bessere Leistung, was Einsparungen ermöglicht bis zum 2-fachen Rechenaufwand.

Der Twitter-Benutzer Crumb sagte: Er nutzte den Lion-Optimierer von Google, um ein GPT2-Modell mit 124 Millionen Parametern zu trainieren, und stellte fest, dass die Anzahl der Schritte, die erforderlich waren, um den gleichen Verlust wie bei Adam zu erzielen, um 37,5 % reduziert wurde.

Vernichte AdamW umfassend! Der neue Optimierer von Google verfügt über einen kleinen Speicher und eine hohe Effizienz. Netizens: Das Training von GPT 2 ist wirklich schnell

Bildquelle: https://twitter.com/aicrumb/status/1626053855329898496

Symbolerkennung von Algorithmen

Dieser Artikel verwendet Symbole in Form von Programmen die folgenden Vorteile: (1) Es steht im Einklang mit der Tatsache, dass Algorithmen als Programme ausgeführt werden müssen. (2) Im Vergleich zu parametrischen Modellen wie neuronalen Netzen sind symbolische Darstellungen wie Programme einfacher zu analysieren, zu verstehen und auf neue Aufgaben zu übertragen ; (3) Programmlänge kann verwendet werden. Die Schätzung der Komplexität verschiedener Programme erleichtert die Auswahl einfacherer, oft vielseitigerer Programme. Diese Arbeit konzentriert sich auf Optimierer für das Training tiefer neuronaler Netze, der Ansatz ist jedoch allgemein auf andere Aufgaben anwendbar .

In der Abbildung unten verwendet der vereinfachte Codeausschnitt von Programm 2 dieselbe Signatur wie AdamW, um sicherzustellen, dass der entdeckte Algorithmus einen kleineren oder gleichen Speicherbedarf hat, wie in Programm 3 dargestellt.

Vernichte AdamW umfassend! Der neue Optimierer von Google verfügt über einen kleinen Speicher und eine hohe Effizienz. Netizens: Das Training von GPT 2 ist wirklich schnell

Diese Forschung wendet die folgenden Techniken an, um die Herausforderungen zu lösen, die durch unendliche und spärliche Suchräume entstehen. Die erste besteht darin, die Regularisierung anzuwenden, da sie bei vielen AutoML-Suchaufgaben einfach, skalierbar und erfolgreich ist; die zweite besteht darin, die Redundanz im Programmbereich zu vereinfachen, und schließlich reduziert diese Studie die Modellgröße und die Anzahl der Trainingsbeispiele und Schritte von der Zielaufgabe entfernt, um die Kosten zu senken.

Links: Gezeigt sind die Mittelwerte und Standardfehler von fünf Experimenten zur evolutionären Suche. Rechts: Sowohl der Prozentsatz redundanter Anweisungen als auch die Cache-Trefferquote steigen mit fortschreitender Suche.

Ableitung und Analyse von Lion

Forscher sagten, dass der Optimierer Lion Einfachheit, hohe Speichereffizienz und leistungsstarke Leistung bei Suche und Metavalidierung aufweist.

Ableitung

Der Such- und Trichterauswahlprozess führte zu Programm 4, das durch automatisches Entfernen überflüssiger Anweisungen aus dem ursprünglichen Programm 8 (Anhang) erhalten wurde. Der Forscher vereinfachte weiter und erhielt den endgültigen Algorithmus (Lion) in Programm 1. Im Rahmen des Vereinfachungsprozesses wurden mehrere unnötige Elemente aus Programm 4 entfernt. wobei die Cosh-Funktion entfernt wird, da m in der nächsten Iteration neu zugewiesen wird (Zeile 3). Auch Aussagen mit Arcsin und Clip wurden entfernt, da die Forscher ohne diese keinen Qualitätsverlust feststellen konnten. Die drei roten Aussagen werden in eine symbolische Funktion umgewandelt.

Obwohl m und v in Programm 4 zusammen verwendet werden, ändert v nur die Art und Weise, wie der Impuls aktualisiert wird (zwei Interpolationsfunktionen mit Konstanten ∼0,9 und ∼1,1 entsprechen einer Funktion mit ∼0,99) und muss nicht verwendet werden separat verfolgen. Beachten Sie, dass eine Bias-Korrektur nicht mehr erforderlich ist, da sie die Richtung nicht ändert.

Vernichte AdamW umfassend! Der neue Optimierer von Google verfügt über einen kleinen Speicher und eine hohe Effizienz. Netizens: Das Training von GPT 2 ist wirklich schnell

Algorithmus 2 unten zeigt den Pseudocode.

Vernichte AdamW umfassend! Der neue Optimierer von Google verfügt über einen kleinen Speicher und eine hohe Effizienz. Netizens: Das Training von GPT 2 ist wirklich schnell

Analyse

Symbolaktualisierung und Regularisierung. Der Lion-Algorithmus erzeugt durch symbolische Operationen Aktualisierungen mit einheitlicher Größe in allen Dimensionen, was sich grundsätzlich von verschiedenen adaptiven Optimierern unterscheidet. Intuitiv fügen symbolische Operationen den Aktualisierungen Rauschen hinzu, wirken als eine Form der Regularisierung und unterstützen die Generalisierung. Abbildung 11 unten (rechts) zeigt ein Beweisstück.

Vernichte AdamW umfassend! Der neue Optimierer von Google verfügt über einen kleinen Speicher und eine hohe Effizienz. Netizens: Das Training von GPT 2 ist wirklich schnell

Momentum-Tracking. Der standardmäßige EMA-Faktor für die Verfolgung des Momentums in Lion beträgt 0,99 (β_2) im Vergleich zu den 0,9, die üblicherweise in AdamW und Momentum SGD verwendet werden. Diese Auswahl an EMA-Faktoren und Interpolation ermöglicht es Lion, ein Gleichgewicht zwischen der Speicherung des zehnfachen Verlaufs des Impulsgradienten und der stärkeren Gewichtung des aktuellen Gradienten in Aktualisierungen zu finden.

Hyperparameter- und Chargengrößenauswahl. Im Vergleich zu AdamW und Adafactor ist Lion einfacher und verfügt über weniger Hyperparameter, da es keine ϵ- und Faktorisierungsparameter erfordert. Lion erfordert eine geringere Lernrate und damit einen größeren entkoppelten Gewichtsabfall, um eine ähnliche effektive Gewichtsabfallstärke (lr * λ) zu erreichen.

Speicher- und Laufzeitvorteile. Lion speichert nur Dynamik und hat einen geringeren Speicherbedarf als beliebte adaptive Optimierer wie AdamW, was beim Training großer Modelle und/oder beim Arbeiten mit großen Batchgrößen nützlich ist. Beispielsweise benötigt AdamW mindestens 16 TPU-V4-Chips, um ViT-B/16 mit einer Bildauflösung von 224 und einer Stapelgröße von 4.096 zu trainieren, während Lion nur 8 benötigt (beide mit bfloat16-Momentum).

Lion-Bewertungsergebnisse

Im experimentellen Teil bewerteten die Forscher Lion anhand verschiedener Benchmarks und verglichen es hauptsächlich mit dem beliebten AdamW (oder Adafactor, wenn der Speicher zum Engpass wird).

Bildklassifizierung

Forscher führen Experimente zu verschiedenen Datensätzen und Architekturen zu Bildklassifizierungsaufgaben durch. Zusätzlich zum Training von Grund auf auf ImageNet haben sie auch zwei größere ausgereifte Datensätze, ImageNet-21K und JFT, vorab trainiert. Die Bildgröße ist standardmäßig auf 224 eingestellt. ​

Erster Zug von Grund auf auf ImageNet. Die Forscher trainierten ResNet-50 für 90 Epochen mit einer Stapelgröße von 1.024 und die anderen Modelle für 300 Epochen mit einer Stapelgröße von 4.096. Wie in Tabelle 2 unten gezeigt, übertrifft Lion AdamW auf verschiedenen Architekturen deutlich.

Zweitens trainieren Sie vorab auf ImageNet-21K. Die Forscher trainierten ViT-B/16 und ViT-L/16 auf ImageNet-21K für 90 Epochen mit einer Stapelgröße von 4.096. Tabelle 2 unten zeigt, dass Lion AdamW immer noch übertrifft, selbst wenn der Trainingssatz um das Zehnfache vergrößert wird.

Vernichte AdamW umfassend! Der neue Optimierer von Google verfügt über einen kleinen Speicher und eine hohe Effizienz. Netizens: Das Training von GPT 2 ist wirklich schnell

Endlich Vortraining auf JFT. Um die Grenzen zu erweitern, führen Forscher zahlreiche Experimente zu JFT durch. Abbildung 4 unten zeigt die Genauigkeit von drei ViT-Modellen (ViT-B/16, ViT-L/16 und ViT-H/14) unter verschiedenen Budgets vor dem Training auf JFT-300M. Lion ermöglicht es ViT-L/16, die Leistung von AdamWs ViT-H/14 zu erreichen, das auf ImageNet und ImageNet V2 trainiert wurde, jedoch zu dreimal geringeren Kosten vor dem Training.

Vernichte AdamW umfassend! Der neue Optimierer von Google verfügt über einen kleinen Speicher und eine hohe Effizienz. Netizens: Das Training von GPT 2 ist wirklich schnell

Tabelle 3 unten zeigt die Ergebnisse der Feinabstimmung mit höherer Auflösung und Polyak-Mittelwertbildung. Der von den Forschern verwendete ViT-L/16 entspricht den Ergebnissen des zuvor von AdamW trainierten ViT-H/14, verfügt jedoch über 2x weniger Parameter. Nach der Erweiterung des Pre-Training-Datensatzes auf JFT-3B übertrifft das von Lion trainierte ViT-g/14 frühere ViT-G/14-Ergebnisse mit 1,8-mal weniger Parametern.

Kontrastives Lernen visueller Sprache

Dieser Abschnitt konzentriert sich auf das kontrastive Training visueller Sprache im CLIP-Stil. Anstatt alle Parameter von Grund auf zu lernen, initialisierten die Forscher den Bildencoder mithilfe eines leistungsstarken vorab trainierten Modells.

Für Locked Image Text Tuning (LiT) verglichen die Forscher Lion und AdamW auf LiT, indem sie Textencoder vergleichend mit demselben eingefrorenen, vorab trainierten ViT trainierten. Tabelle 4 unten zeigt die Ergebnisse der Zero-Shot-Bildklassifizierung in drei Modellmaßstäben, wobei Lion eine kontinuierliche Verbesserung gegenüber AdamW zeigt.

Vernichte AdamW umfassend! Der neue Optimierer von Google verfügt über einen kleinen Speicher und eine hohe Effizienz. Netizens: Das Training von GPT 2 ist wirklich schnell

Abbildung 5 unten (links) zeigt eine beispielhafte Zero-Shot-Lernkurve für LiT-B/16-B mit ähnlichen Ergebnissen für die anderen beiden Datensätze.

Vernichte AdamW umfassend! Der neue Optimierer von Google verfügt über einen kleinen Speicher und eine hohe Effizienz. Netizens: Das Training von GPT 2 ist wirklich schnell

Diffusionsmodell

In letzter Zeit haben Diffusionsmodelle große Erfolge bei der Bilderzeugung erzielt. Angesichts seines enormen Potenzials haben wir Lion auf bedingungslose Bildsynthese und multimodale Text-zu-Bild-Generierung getestet.

Für die Bildsynthese auf ImageNet verwendeten die Forscher die verbesserte U-Net-Architektur, die in der Arbeit „Diffusion models beat gans on image synthesize“ aus dem Jahr 2021 eingeführt wurde, um 64×64, 128×128 und 256×256 auf ImageNet-Bilderzeugung durchzuführen . Wie in Abbildung 5 oben (Mitte und rechts) dargestellt, kann Lion eine bessere Qualität und eine schnellere Konvergenz der FID-Scores erzielen.

Für die Text-zu-Bild-Generierung zeigt Abbildung 6 unten die Lernkurve. Obwohl es keine signifikante Verbesserung gegenüber dem 64 × 64-Basismodell gibt, übertrifft Lion AdamW beim textbedingten Superauflösungsmodell. Lion erreicht im Vergleich zu AdamW höhere CLIP-Werte und weist kleinere verrauschte FID-Metriken auf.

Vernichte AdamW umfassend! Der neue Optimierer von Google verfügt über einen kleinen Speicher und eine hohe Effizienz. Netizens: Das Training von GPT 2 ist wirklich schnell

Sprachmodellierung und Feinabstimmung

Dieser Abschnitt konzentriert sich auf Sprachmodellierung und Feinabstimmung. Bei reinen Sprachaufgaben fanden Forscher heraus, dass die Anpassung von β_1 und β_2 die Qualität von AdamW und Lion verbessern kann.

Für die autoregressive Sprachmodellierung zeigt Abbildung 7 unten die Verwirrung auf Token-Ebene von Wiki-40B und die Verwirrung auf Wortebene von PG-19. Lion erreicht durchweg eine geringere Verifizierungsproblematik als AdamW. Beim Training mittelgroßer Modelle auf Wiki-40B bzw. PG-19 werden Geschwindigkeitssteigerungen von 1,6x bzw. 1,5x erreicht. PG-19 erreicht außerdem eine 2-fache Geschwindigkeitssteigerung, wenn das Modell auf eine große Größe vergrößert wird.

Vernichte AdamW umfassend! Der neue Optimierer von Google verfügt über einen kleinen Speicher und eine hohe Effizienz. Netizens: Das Training von GPT 2 ist wirklich schnell

Für die maskierte Sprachmodellierung führten die Forscher auch ein BERT-Training für den C4-Datensatz durch, wobei Lion in Bezug auf die Verifizierungsperplexität etwas besser abschnitt als AdamW. Die entsprechende Lernkurve ist in Abbildung 11 unten (links) dargestellt.

Vernichte AdamW umfassend! Der neue Optimierer von Google verfügt über einen kleinen Speicher und eine hohe Effizienz. Netizens: Das Training von GPT 2 ist wirklich schnell

Zur Feinabstimmung haben die Forscher die Modelle Base (220M), Large (770M) und das größte 11B T5-Modell auf dem GLUE-Benchmark optimiert. Tabelle 6 unten zeigt die Ergebnisse des GLUE-Entwicklersatzes, wobei Lion im Durchschnitt AdamW in allen drei Modellgrößen schlägt.

Vernichte AdamW umfassend! Der neue Optimierer von Google verfügt über einen kleinen Speicher und eine hohe Effizienz. Netizens: Das Training von GPT 2 ist wirklich schnell

Vergleich mit anderen beliebten Optimierern

Die Studie verwendet außerdem vier beliebte Optimierer RAdam, NAdam, AdaBelief und AMSGrad, um ViT-S/16 auf ImageNet und ViT-B/ zu trainieren. 16 (mit RandAug und Mixup). Wie in Tabelle 7 unten gezeigt, bleibt Lion der Spitzenreiter.

Vernichte AdamW umfassend! Der neue Optimierer von Google verfügt über einen kleinen Speicher und eine hohe Effizienz. Netizens: Das Training von GPT 2 ist wirklich schnell

Weitere technische Details finden Sie im Originalpapier.

Das obige ist der detaillierte Inhalt vonVernichte AdamW umfassend! Der neue Optimierer von Google verfügt über einen kleinen Speicher und eine hohe Effizienz. Netizens: Das Training von GPT 2 ist wirklich schnell. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen