Abbildung 1 aus „Aufmerksamkeit ist alles, was Sie brauchen

Ausgehend von einer hohen Ebene benötigen Transformer zwei Informationen für Eingaben: die Token-Einbettungen und die Positionskodierungen. Token-Einbettungen sind Dinge wie tiktoken Dabei verwenden sie eine feste Vokabulargröße, um für jedes Token einen eindeutigen Schlüssel zu generieren. Durch Coaching lernt das Modell dann die Abfrage und den Wert für jedes Token, sodass es mit den Informationen erfolgreich das nächste Token generieren kann.

Gleichung 1 aus „RoFormer: Verbesserter Transformator mit Rotationspositionseinbettung“

Zusätzlich zu den Einbettungen benötigen wir auch Positionsinformationen, um dem LLM mitzuteilen, wo in einem Satz sich das Token befindet. Die obigen Gleichungen zeigen die am stärksten abstrahierte Sichtweise für die Weitergabe der Positionsinformationen. Wir haben 3 Funktionen, 1 für jedes Ingredient des Tokens, und 2 Worteinbettungsvektoren (XM und XNWo M Und N bedeuten die unterschiedlichen Dimensionen, die jeder Vektor hat).

Ein Ansatz besteht darin, einfach für jedes angezeigte Token einen neuen Vektor zu erstellen, sodass die Place vollkommen eindeutig ist. Der Nachteil hierbei ist natürlich, dass der eindeutige Vektor es dem Modell erschwert, Ähnlichkeiten in den Trainingsdaten zu erkennen, was die Leistung beeinträchtigt.

Ein sekundärer Ansatz wäre, für jedes Token einen Vektor zu erstellen, der einen Ähnlichkeitsfaktor mit anderen Vektoren aufweist. Auf diese Weise erfassen wir immer noch Informationen darüber, wie ähnlich eine State of affairs einer anderen bestimmten State of affairs ist. Da wir jedoch Kollisionen dieser Vektoren erzeugen können, kann diese Methodik zu Verwirrung führen.

Wie finden wir die beste Kombination dieser Ansätze?

Die Branche hat sich weitgehend auf RoPE konzentriert, um das Beste aus beiden Welten herauszuholen. Ohne zu tief in die Mathematik einzusteigen, verwendet RoPE Sinusfunktionen, um den Token Positionswerte zuzuweisen. Da sich Sinusfunktionen von Natur aus wiederholen, gibt es einige Positionswerte, die anderen sehr ähnlich sind. Folglich haben ähnliche Elemente einen quantitativen Wert, der angibt, wie ähnlich sie sind.

Gleichung 14 und 15 aus „RoFormer: Verbesserter Transformator mit Rotationspositionseinbettung“

Wie Sie der obigen Gleichung entnehmen können, haben wir eine dünn besetzte Matrix, die mit verschiedenen Funktionen gefüllt ist, die sich um den Wert θ drehen, der übergeben wird, um alle Positionskodierungen in Beziehung zu halten.

Der genaue Zusammenhang dieser θ ist unten dargestellt:

Theta definieren in „RoFormer: Verbesserter Transformator mit Rotationspositionseinbettung“

Der kritischste Teil dieser Gleichung für die Kontextgröße ist der Wert 10.000. Da wir versucht haben, größere Kontexte mit nicht unendlichen Zahlenbereichen zu erstellen, ist der Wert von 10.000 zu einem begrenzenden Faktor geworden – schließlich gibt es nur eine begrenzte Anzahl von Vektoren, die Sie mit dieser Zahl als Foundation erstellen können.

Abbildung 1 aus „RoFormer: Verbesserter Transformator mit Rotationspositionseinbettung“

Sie könnten zwar ein neues Modell mit einem größeren Basiswert für Ihre Positionskodierungen von Grund auf trainieren, es gibt jedoch einige Gründe, die die Allgemeinheit davon abhalten, dies zu tun. Erstens ist die Schulung von Grund auf mit enormen Kosten verbunden. Da derzeit nur wenige Organisationen auf der Welt über die Ressourcen dafür verfügen, ist die Belastung dafür groß. Zweitens ist es unglaublich schwierig, eine große Menge an qualitativ hochwertigem Langtext zu finden. Da für das Coaching Billionen von Token erforderlich sind, ist die Suche nach qualitativ hochwertigen Langdaten in diesem Umfang eine große Herausforderung.

Daher haben Forscher verschiedene Methoden zur Ausweitung von RoPE auf größere Thetas vorgeschlagen.

Die erste Methode ist die lineare Positionsinterpolation (PI), bei der Sie die Anzahl der möglichen Positionen erweitern können, indem Sie Theta um einen Wert λ reduzieren. Die folgende Gleichung verwendet Beta, um die θ^(2/d)-Gleichung darzustellen, die wir verwendet haben, um alle Thetas von zuvor zu verbinden.

Gleichung 2 in das Papier

Obwohl dies funktioniert, stellen die Autoren des Papiers fest, dass es einen Crowding-Effekt gibt, bei dem einige der Informationen nach der Reduzierung verloren gehen.

Die zweite Methode ist YaRN (One more RoPE extensioN methodology), bei der wir die RoPE-Dimensionen in drei Gruppen unterteilen und jeder von ihnen einen anderen linearen Faktor zuweisen. Die Grundidee besteht darin, dass häufig vorkommende Token nicht verändert werden sollten (ihr λ := 1) und diejenigen, die seltener vorkommen, verändert werden. Aus der folgenden Grafik können wir ersehen, dass dies bei der Erweiterung auf eine Kontextlänge von bis zu 128 KB intestine funktioniert. Hier geht es um die Festlegung der Gruppierungen. Die Gruppen werden von Menschen bestimmt und somit kann es zu suboptimalen Entscheidungen kommen, die die Leistung mindern.

Abbildung 1 aus „YaRN: Effiziente Kontextfenstererweiterung von Giant
Sprachmodelle“

Obwohl sowohl YaRN als auch Linear Projection (PI) funktionieren, weisen sie Einschränkungen auf, die sie behindern. Lengthy RoPE nutzt das Beste aus jeder Idee und findet einen cleveren Weg, sie zu kombinieren.

Die Forscher von Lengthy RoPE erkannten, dass sie zur Verbesserung früherer Methoden zwei Schlüsselideen einführen müssten: (1) die Verteilung von gutem λ ist unregelmäßig, daher ist die Suche nach λ besser als die Annahme einer korrekten Antwort, und (2) es gibt eine Teilmenge von Token, deren Place einfach nicht geändert werden sollte.

Beide Ergebnisse sind in der folgenden Formel enthalten. Um das optimale λ zu finden, erstellten sie eine Verlustfunktion, die sie minimieren konnten. Die folgende Formel ist eine neu formatierte Model von RoPE mit dem Ergebnis 𝕀 und ( n/ βich ) stellt die Skalierung unseres Positionsvektors dar. Wenn sie den kleinsten Verlust finden, wählen sie das entsprechende λ.

Gleichung 3 aus das Papier

Mit der 𝕀-Step-Funktion aktualisieren wir die Teilmenge der Token, die nicht geändert werden sollten. Indem wir den Wert 1 wählen, signalisieren wir, dass die Positionskodierungen dort gleich bleiben sollten. Um die Suche einzuschränken, wurden nur n-hat-Werte von berücksichtigt {0, 1, 2, 4, 8, 12, 16, 20, 24, 28, 32, 64, 128, 256}. Je höher der Wert von n-hat, desto mehr Token behalten ihre ursprüngliche Positionscodierung.

Nachdem wir uns nun mit der Theorie befasst haben, wollen wir uns die Ergebnisse ansehen!

Abbildung 3 aus das Papier

Lengthy RoPE funktioniert sowohl ohne Feinabstimmung als auch mit. Die obige Grafik zeigt die Leistung von LongRoPE bei Anwendung auf LLaMA2–7B. Der ursprüngliche Kontext für dieses Modell conflict 4k. Indem sie das optimale λ fanden, konnten sie das Kontextfenster auf 32.000 Token erweitern, ohne dass sich die Verwirrung merklich änderte! Das Unglaubliche daran ist, dass der für eine solche Änderung erforderliche Rechenaufwand im Vergleich zu den Kosten für die Feinabstimmung nahezu vernachlässigbar ist. Eine 8-fache Erweiterung ohne großen Rechenaufwand ist unglaublich.

Um eine enorme Erweiterung zu erreichen, ist eine Kombination aus Feinabstimmung und der Suche nach dem optimalen λ erforderlich. Die Forscher in der Arbeit erreichten nach dieser Methodik eine 512-fache Erweiterung. Sie haben das Modell zunächst auf eine Größe von 128 KB und 256 KB gebracht. Sie haben eine Feinabstimmung für 400 Schritte bei 128k vorgenommen und sind dann dazu übergegangen, die 256k-Faktoren für weitere 600 Schritte zu verwenden. Da dies besser funktionierte als nur die direkte Feinabstimmung von 256k, scheint es, dass das Erlernen einer allgemeineren Verteilung statt nur einer der skalierten eine bessere Leistung bringt. Anschließend optimierten sie erneut für das beste λ und erreichten ein Kontextfenster von 2048 KB, eine Steigerung von 512 gegenüber dem ursprünglichen 4 KB-Kontextfenster!

Eine der Schwierigkeiten eines größeren Kontexts ist ein Leistungsverlust bei Aufgaben mit kleinen Kontexten. Dieses Verhalten wurde schon früher beobachtet und die Theorie besagt, dass die Daten zu Beginn auf einen kleineren Bereich komprimiert werden, was zu einem gewissen Aufmerksamkeitsverlust führt.

Sie lösten dieses Drawback im 2048k-Kontextfenstermodell, indem sie das ideale λ für kürzere Längen fanden (in der Arbeit waren dies 4k und 8k). Wenn während der Inferenz festgestellt wird, dass der Kontext klein ist, geht das LLM dynamisch dazu über, das kleinere λ für die Positionskodierungsdaten zu verwenden.

LLMs sind hervorragend im Denken und überraschen uns immer wieder mit ihren Anwendungen in der realen Welt. Mit einem größeren Kontextfenster, insbesondere einem, das zu begrenzten Kosten und dennoch hoher Leistung erhältlich ist, werden ihre Anwendungen nur wachsen.

Eine interessante Frage ist, ob dynamische Positionskodierungsberechnungen der Weg der Zukunft sind. Wenn Sie mehrere Positionscodierungen optimieren und eine qualitativ hochwertige Leistung für 2 λs erzielen können, verfügen wir möglicherweise über ein Modell, das zur Inferenzzeit nahtlos zwischen mehreren λs wechseln kann.

Eines der Dinge, die ich am LLM-Bereich am spannendsten finde, ist die Möglichkeit, Daten zu sichten. Während das Web bei der Demokratisierung des Zugangs zu Informationen hervorragende Arbeit geleistet hat, hat es leider auch unser Leben mit Lärm überschwemmt. Es gibt viele Dinge, die uns on-line gezeigt werden und die für uns quick keine Konsequenzen haben. Mit einem Instrument, das die wichtigen Informationen aus dem Alltäglichen und sogar Schädlichen herausfiltern kann, können wir das Potenzial des Internets voll ausschöpfen.

Mit größeren Kontextfenstern kann die Fähigkeit des LLM, Informationen zusammenzufassen und zu verdichten, noch effektiver genutzt werden. Es könnte sogar eine Zeit kommen, in der große Fortschritte dadurch erzielt werden, dass LLMs zwei scheinbar unterschiedliche Informationssätze erhalten und sie etwas Neues herausfinden lassen, das angesichts der Prämissen in jedem Satz begründet werden kann.

Es ist eine aufregende Zeit zum Bauen.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert