Heim >Technologie-Peripheriegeräte >KI >Nach einem Tag Training auf einer einzelnen GPU kann Transformer eine Genauigkeit von 99 % beim Addieren von 100-stelligen Zahlen erreichen.
Multiplikation und Sortierung funktionieren auch.
Seit seinem Vorschlag im Jahr 2017 hat sich Transformer zur Mainstream-Architektur für große KI-Modelle entwickelt und befindet sich fest in der C-Position.
Allerdings müssen alle Forscher zugeben, dass der Transformer bei Rechenaufgaben extrem schlecht abschneidet, wenn auch bei Additionen, und dieser Fehler ist größtenteils auf die Unfähigkeit des Transformers zurückzuführen, jede Ziffer in einem großen Zahlenbereich genau zu verfolgen.
Um dieses Problem zu lösen, haben Forscher der University of Maryland, der CMU und anderer Institutionen eine Herausforderung für dieses Problem gestartet. Sie lösten dieses Problem, indem sie jeder Zahl eine Einbettung hinzufügten, die die Position der Zahl relativ zum Anfang kodiert. Die Studie ergab, dass es nur einen Tag dauerte, 20-stellige Zahlen auf einer einzigen GPU zu trainieren, um eine hochmoderne Leistung mit einer Genauigkeit von bis zu 99 % bei der 100-stelligen Additionsaufgabe zu erreichen.
Papieradresse: https://arxiv.org/pdf/2405.17399
Projektadresse: https://github.com/mcleish7/arithmetic
Titel: Transformers Can Do Arithmetic with the Right Embeddings
Spezifisch Insbesondere schlugen die Forscher vor, dass eine einfache Änderung der Datentabellenanzeige dieses Manko beheben könnte. Sie schlugen Abacus-Einbettungen vor, um die Position innerhalb des Bereichs jedes digitalen Symbol-Tokens zu kodieren. Durch die Verwendung von Abacus-Einbettungen in Verbindung mit standardmäßigen Positionseinbettungen wurden in der Studie erhebliche Verbesserungen der Transformer-Genauigkeit bei Rechenaufgaben beobachtet, sodass Modelle, die nur mit bis zu 20-stelligen Operanden trainiert wurden, auf Probleme mit 120-stelligen Operanden skaliert wurden. Diese Zahl stellt einen 6-fachen SOTA-Skalierungsfaktor dar, verglichen mit dem bisherigen Stand der Technik-Skalierungsfaktor von nur 2,5x. Es versteht sich, dass dies die bisher längste gezeigte Lernadditionssequenz ist.
Neben der Untersuchung der Optimierung der Leistung von Transformer in der Arithmetik und Verallgemeinerung werden in diesem Artikel auch mehrere andere Methoden zur Verbesserung der Leistung von Transformer untersucht. Sie fanden heraus, dass sie den Generalisierungsfehler gegenüber der Abacus-Einbettungsbasislinie um 50 % reduzieren konnten, indem sie Skip-Verbindungen zwischen der Eingabeinjektionsschicht und jeder Decoderschicht einfügten. Das Papier stellt außerdem fest, dass die in Verbindung mit Einbettungen verwendete Loop-Transformer-Architektur eine nahezu perfekte Verallgemeinerung des Additionsproblems erreichen kann.
Die Beiträge dieses Artikels lassen sich wie folgt zusammenfassen:
Dieser Artikel schlägt eine neue Positionseinbettung vor, die Abacus-Einbettung genannt wird, um die Bedeutung jeder Zahl besser zu erfassen und so eine nahezu perfekte Verallgemeinerung innerhalb der Verteilung zu erreichen;
Die Autoren untersuchten eine Reihe von Methoden, die darauf abzielen, die Rechenleistung von Sprachmodellen zu verbessern, die von Grund auf trainiert wurden. Sie konzentrieren sich hauptsächlich auf zwei Hypothesen: 1) Die Positionsinformationen einzelner Ziffern innerhalb einer Zahl gehen verloren. 2) Schleifen können die Argumentationsfähigkeit der Transformer-Architektur bei mehrstufigen arithmetischen Argumentationsproblemen verbessern. Die Autoren diskutieren kurz die Trainings- und Bewertungseinstellungen, bevor sie jede Verbesserung im Detail beschreiben.
Experimenteller AufbauDie Autoren trainierten ein kausales Sprachmodell, das nur den Decoder enthielt, um das Additionsproblem zu lösen.
Sie betrachteten zwei Standard-Transformatorarchitekturen. Erstens verwenden sie ein standardmäßiges autoregressives Transformatormodell mit mehreren Decoderschichten, die im Feed-Forward-Stil gestapelt sind. Zweitens erweitern sie dieses Standardtransformatormodell um eine Eingabeinjektion, die dem Eingang jeder Decoderschicht Einbettungen hinzufügt. Die Autoren stellen diese Architekturen in Abbildung 20 visuell dar.
Abacus-Einbettung hilft beim Ausrichten von ZahlenDurch frühere Untersuchungen und vorläufige Experimente hat der Autor herausgefunden, dass die Trainingsdaten hierarchisch und umfangreich sind (Hunderttausende), selbst wenn die Eingabezahlen mit den unwichtigsten Zahlen zuerst angezeigt werden von Beispielen) ist es für Standardtransformatoren auch schwierig, die Addition mehrstelliger Zahlen zu erlernen. Sie beobachteten auch, dass Menschen bei langen Additionsoperationen zunächst Zahlen mit derselben Ziffer in Spalten anordnen. Daher lautet die erste Hypothese des Autors, dass die Ziffern jeder Zahl für den Transformator nicht einfach darstellbar sind und dass dieses Teilproblem ein größeres Hindernis darstellt als die eigentliche Addition selbst.
Um die Einschränkungen des Transformators bei der Darstellung von Positionsinformationen zu beheben, haben die Autoren eine spezielle Positionseinbettung entwickelt, die die Position jeder Zahl relativ zur Startposition der aktuellen Zahl kodiert. Die Autoren nennen dies Abacus-Einbettung. Sie wenden die gleiche Positionseinbettung auf alle Zahlen mit derselben Ziffer an und stellen so ein explizites Signal bereit, das das Modell zum Ausrichten der Zahlen verwenden kann, wie in Abbildung 2 dargestellt.
Abacus-Einbettung löst Additionsprobleme
Bei Standard-Transformator-Architekturen verbessert Abacus-Einbettung die Generalisierungsleistung auf 100-Bit und höher. In Abbildung 3 (links) heben die Autoren den komparativen Vorteil von Abacus-Einbettungen gegenüber Standard-Transformator-Architekturen und -Einbettungen bei der Durchführung additiver Operationen hervor, wobei sie die durchschnittliche Genauigkeit aller Fälle der drei Modelle heranziehen.
Abbildung 1 zeigt auch die Genauigkeitsergebnisse für mit FIRE und Abacus trainierte Standardtransformatormodelle, die innerhalb der Domäne (ID) und außerhalb der Domäne (OOD) getestet wurden.
Schleifen im Transformer verbessern die Leistung
Nach der Lösung des Positionseinbettungsproblems untersuchte der Autor als Nächstes, ob die Schleifenarchitektur die Fähigkeit des Transformators zur Durchführung mehrstelliger Additionen weiter verbessern kann. Sie verwenden den Begriff „wiederkehrender Block“, um sich auf eine Reihe von Decoderschichten mit unterschiedlichen Gewichten zu beziehen, und „Wiederholung“ bezieht sich auf die Häufigkeit, mit der der wiederkehrende Block wiederholt wird. Mit dem Begriff „effektive Tiefe“ bezeichnen die Autoren die Anzahl der in einem Transformator verwendeten Schichten, unabhängig davon, ob ihre Gewichte eindeutig sind. Sofern nicht anders angegeben, verwenden sie eine Max-Loop-Architektur, die nur eine einzige Ebene durchläuft, um eine effektive Tiefe zu erreichen. Sie verwendeten auch Eingabeinjektion und Restverbindungen, um eine Kopie der Eingabe an jede Schicht im Netzwerk weiterzugeben.
Vorteile von Schleifen
In Abbildung 3 (rechts) vergleichen die Autoren alle Architekturvarianten mit FIRE- und NoPE-Einbettungen für Trainingsadditionen mit Operanden bis zu 40 Bit. Obwohl die Anzahl der Parameter nur 1/10 der anderen Modelle beträgt, können wir sehen, dass der Schleifentransformator (geschleift, mit Eingangsinjektion und progressivem Verlust) die beste Out-of-Distribution-Leistung erzielt, wenn jede Art von Positionseinbettung verwendet wird. In Abbildung 8 demonstrieren die Autoren die Robustheit dieses Ergebnisses für verschiedene Trainingsdatengrößen.
Bei wiederkehrenden Modellen können Sie die Anzahl der Schleifen für jeden Vorwärtsdurchlauf während des Trainings ändern. Dies verbessert tendenziell die Generalisierungsfähigkeit des Modells für schwierigere Aufgaben beim Testen, was auch als progressive Verlustberechnung bezeichnet wird. Diese Verlustfunktion ist eine konvexe Kombination der Verlustwerte von zwei Vorwärtsdurchgängen, wobei einer eine buchstäbliche Anzahl von Zyklen verwendet (16 für das 1 × 16-Modell) und der andere eine zufällig kleinere Anzahl von Zyklen verwendet.
Als nächstes untersuchen die Autoren die Auswirkung einer Änderung der Schleifenblockgröße bei gleichbleibender effektiver Tiefe. Sie halbierten die Anzahl der Schichten im Schleifenblock und verdoppelten die Schleifenanzahl und gingen von einem Modell mit 16 Schichten im Block und nur einer Schleifenanzahl (16 × 1, der Standardtransformator) zu einem Modell mit nur einer Schicht im Block über und Schleifenanzahl Es gibt 16-fache (1 × 16) Modelle.
Bei der Analyse dieser Ergebnisse anhand von Abbildung 4 stellten die Autoren fest, dass die Kombination von Schleifen und Abacus-Einbettungen in einigen Fällen die Leistung weiter verbessern kann. Insbesondere beim OOD-Problem erzeugte das Modell mit zwei Zyklen (8 × 2) die Hälfte des Fehlers des rein azyklischen Modells (16 × 1), während seine Genauigkeit beim OOD-Problem mit 100+ ebenfalls etwas höher war.
Abschließend variieren die Autoren in Anhang A.7.3 die effektive Tiefe des Modells, um den Einfluss der Anzahl der Parameter auf diese Aufgabe zu analysieren, einschließlich Abacus-, FIRE- und NoPE-Einbettungen. Während die Experimente in Abbildung 4 einen fairen Vergleich verschiedener Tiefen darstellen, verfügt das reine Standardtransformatormodell über viel mehr Parameter als das entsprechende Schleifenmodell. In Tabelle 3 im Anhang tragen die Autoren Parametergrößen auf die nächste Million genau ein.
Experiment
Die Forscher untersuchten nicht nur Additionsprobleme, sondern auch Multiplikation und Sortierung.
Integer-Multiplikation
Abbildung 5 zeigt, dass das Abacus-Einbettungsmodell die Genauigkeit früherer Arbeiten innerhalb der Verteilung von 15-stelligen Multiplikationen übertrifft, ohne jeden Operanden mit Nullen auf die gleiche Länge aufzufüllen. Die Studie hebt insbesondere hervor, dass die Kombination von Abacus-Einbettungen mit FIRE auch die Genauigkeit bei den schwierigsten Verteilungsproblemen (unten rechts) im Vergleich zur Basislinie mit FIRE allein verbessert.
Array-Sortierung
Tabelle 1 zeigt die Leistung eines Standardtransformators (acht Schichten), der mit verschiedenen Einbettungen trainiert wurde – FIRE, Abacus und ihre Kombination. Die Ergebnisse zeigen, dass die kombinierte Einbettungsmethode die Generalisierungsfähigkeit des Modells verbessert.
Wie in Tabelle 2 gezeigt, beobachteten wir gemischte Ergebnisse bei der Kombination der Abacus+FIRE-Einbettungskombination mit verschiedenen Modellarchitekturen (effektive Tiefe 8).
Abacus und verwandte Einbettungen
Abbildung 6 veranschaulicht das tatsächliche Potenzial der Integration von Abacus-Einbettungen in allgemeinere Systeme und zeigt, dass Abacus-Einbettungen in Kombination mit FIRE Problemlösungsfähigkeiten freisetzen können, die weit über die von FIRE-Einbettungen hinausgehen.
Weitere Forschungsdetails finden Sie im Originalpapier.
Das obige ist der detaillierte Inhalt vonNach einem Tag Training auf einer einzelnen GPU kann Transformer eine Genauigkeit von 99 % beim Addieren von 100-stelligen Zahlen erreichen.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!