Autoren:
(1) Bobby He, Departement Informatik, ETH Zürich (Korrespondenz an: [email protected].);
(2) Thomas Hofmann, Departement Informatik, ETH Zürich.
Zusammenfassung und Einleitung
Vereinfachung von Transformatorblöcken
Weitere experimentelle Analyse
Diskussion, Reproduzierbarkeitserklärung, Danksagungen und Referenzen
Ein einfaches Designrezept für Deep Transformers besteht darin, identische Bausteine zusammenzusetzen. Aber Standard-Transformerblöcke sind alles andere als einfach, da sie Aufmerksamkeits- und MLP-Unterblöcke mit Skip-Verbindungen und Normalisierungsschichten in präzisen Anordnungen verweben. Diese Komplexität führt zu spröden Architekturen, bei denen scheinbar geringfügige Änderungen die Trainingsgeschwindigkeit erheblich verringern oder Modelle untrainierbar machen können. In dieser Arbeit fragen wir, inwieweit der Standard-Transformerblock vereinfacht werden kann. Durch die Kombination von Signalausbreitungstheorie und empirischen Beobachtungen motivieren wir Modifikationen, die es ermöglichen, viele Blockkomponenten ohne Verlust der Trainingsgeschwindigkeit zu entfernen, darunter Skip-Verbindungen, Projektions- oder Wertparameter, sequentielle Unterblöcke und Normalisierungsschichten. In Experimenten mit sowohl autoregressiven Decoder-only- als auch BERT-Encoder-only-Modellen emulieren unsere vereinfachten Transformer die Trainingsgeschwindigkeit und Leistung pro Update von Standard-Transformern, während sie einen 15 % schnelleren Trainingsdurchsatz aufweisen und 15 % weniger Parameter verwenden.
Die Transformer-Architektur (Vaswani et al., 2017) ist wohl das Arbeitspferd hinter vielen aktuellen Erfolgen im Bereich Deep Learning. Eine einfache Möglichkeit, eine Deep-Transformer-Architektur zu konstruieren, besteht darin, mehrere identische Transformer-„Blöcke“ hintereinander zu stapeln. Jeder Block ist jedoch komplizierter und besteht aus vielen verschiedenen Komponenten, die in bestimmten Anordnungen kombiniert werden müssen, um eine gute Leistung zu erzielen. Überraschenderweise hat sich der grundlegende Transformer-Block seit seiner Einführung kaum verändert, obwohl er das Interesse vieler Forscher geweckt hat.
In dieser Arbeit untersuchen wir, ob der Standard-Transformerblock vereinfacht werden kann. Genauer gesagt untersuchen wir die Notwendigkeit mehrerer Blockkomponenten, darunter Skip-Verbindungen, Projektions-/Wertmatrizen, sequentielle Unterblöcke und Normalisierungsebenen. Für jede betrachtete Komponente fragen wir, ob sie ohne Verlust der Trainingsgeschwindigkeit entfernt werden kann (sowohl in Bezug auf den Schritt pro Aktualisierung als auch auf die Laufzeit) und welche architektonischen Änderungen am Transformerblock vorgenommen werden müssen, um dies zu erreichen.
Wir glauben, dass das Problem der Vereinfachung von Transformer-Blöcken ohne Beeinträchtigung der Trainingsgeschwindigkeit aus mehreren Gründen eine interessante Forschungsfrage ist. Erstens haben moderne Architekturen neuronaler Netze (NN) komplexe Designs mit vielen Komponenten, und es ist nicht klar, welche Rolle diese verschiedenen Komponenten in der NN-Trainingsdynamik spielen und wie sie miteinander interagieren. Dies ist insbesondere angesichts der bestehenden Kluft zwischen Theorie und Praxis im Bereich Deep Learning relevant, wo Theoretiker, die sich mit den Mechanismen des Deep Learning befassen, aus Bequemlichkeitsgründen oft nur vereinfachte Architekturen in Betracht ziehen, die nicht unbedingt die modernen Architekturen widerspiegeln, die in der Praxis verwendet werden. Die Vereinfachung der in der Praxis verwendeten NN-Architekturen kann dazu beitragen, diese Kluft zu überbrücken
In einem verwandten theoretischen Punkt hebt unsere Arbeit sowohl die Stärken als auch die aktuellen Einschränkungen der Signalausbreitung hervor: eine Theorie, die sich aufgrund ihrer Fähigkeit, praktische Designentscheidungen in tiefen NN-Architekturen zu motivieren, als einflussreich erwiesen hat. Die Signalausbreitung (Poole et al., 2016; Schoenholz et al., 2017; Hayou et al., 2019) untersucht die Entwicklung geometrischer Informationen in einem NN bei der Initialisierung, die durch innere Produkte schichtweiser Darstellungen über Eingaben hinweg erfasst werden, und hat viele beeindruckende Ergebnisse beim Training tiefer NNs hervorgebracht (Xiao et al., 2018; Brock et al., 2021; Martens et al., 2021; Zaidi et al., 2023). Die aktuelle Theorie berücksichtigt jedoch nur ein Modell bei der Initialisierung und berücksichtigt oft nur den anfänglichen Vorwärtsdurchlauf. Daher kann die Signalausbreitung derzeit kein Licht auf viele Feinheiten der Trainingsdynamik tiefer NNs werfen, beispielsweise auf die Vorteile von Skip-Verbindungen für die Trainingsgeschwindigkeit. Obwohl die Signalausbreitung für die Begründung unserer Modifikationen eine entscheidende Rolle spielt, wären wir nicht allein durch die Theorie zu unseren vereinfachten Transformatorblöcken gekommen und hätten uns auch auf empirische Erkenntnisse verlassen müssen.
Angesichts der exorbitanten Kosten für das Training und die Bereitstellung großer Transformer-Modelle heutzutage stellen Effizienzgewinne in den Trainings- und Inferenz-Pipelines für die Transformer-Architektur auf der praktischen Seite erhebliche Einsparpotenziale dar. Die Vereinfachung des Transformer-Blocks durch das Entfernen nicht wesentlicher Komponenten reduziert sowohl die Parameteranzahl als auch den Durchsatz in unseren Modellen. Insbesondere zeigen wir, dass es möglich ist, Skip-Verbindungen, Wertparameter, Projektionsparameter und sequentielle Unterblöcke zu entfernen und dabei gleichzeitig in Bezug auf Trainingsgeschwindigkeit und Leistung nachgelagerter Aufgaben mit dem Standard-Transformer mitzuhalten. Infolgedessen reduzieren wir die Parameteranzahl um bis zu 16 % und beobachten Durchsatzsteigerungen von 16 % sowohl zur Trainings- als auch zur Inferenzzeit.
Unser Ausgangspunkt für die Vereinfachung von Transformer-Blöcken ist He et al. (2023), die zeigen, dass die Einhaltung von Signalausbreitungsprinzipien es ermöglicht, tiefe Transformer ohne Skip-Verbindungen oder Normalisierungsschichten zu trainieren, jedoch mit deutlich reduzierten Konvergenzgeschwindigkeiten pro Parameteraktualisierung. Wir zeigen zunächst, dass die Regulierung der Aktualisierungen von Werten und Projektionsparametern (Abschnitt 4.1) oder sogar deren vollständige Entfernung (Abschnitt 4.2) die Leistung von überspringungsfreien Aufmerksamkeits-Subblöcken verbessert und die von He et al. (2023) gemeldete verlorene Trainingsgeschwindigkeit pro Aktualisierung wiederherstellt. Dadurch wird die Hälfte der Parameter und Matrixmultiplikationen im Aufmerksamkeits-Subblock entfernt. In Abschnitt 4.3 zeigen wir, dass sich unsere Vereinfachungen gewinnbringend mit parallelen Subblöcken kombinieren lassen (Wang & Komatsuzaki, 2021), was es uns ermöglicht, alle verbleibenden Skip-Verbindungen und sequentiellen Subblöcke zu entfernen, ohne die Trainingsgeschwindigkeit pro Aktualisierung zu beeinträchtigen, während der Durchsatz in unserer Implementierung weiter auf 16 % gesteigert wird. Schließlich in Abschnitt. 5 zeigen wir, dass unsere vereinfachten Blöcke besser werden, wenn sie auf größere Tiefen skaliert werden, dass sie sowohl in reinen Encoder- als auch in reinen Decoder-Architekturen gut funktionieren und dass unsere Erkenntnisse auch bei skalierter Trainingslänge gelten. Wir schließen mit einer Diskussion der Einschränkungen und zukünftigen Arbeiten in Abschnitt 6.
Dieses Dokument ist auf Arxiv unter der CC 4.0-Lizenz verfügbar .