Lassen Sie uns über die Positionskodierung großer Modelle und ihre Extrapolierbarkeit sprechen

Autor | Wang Jianing 

Organisieren | NewBeeNLP

https://wjn1996.blog.csdn.net/article/details/131753251

Treten Sie der NLP-Gruppe bei –> Treten Sie der NLP-Kommunikationsgruppe bei

Heutzutage unterstützen viele große Modelle Inferenzen mit einer Länge von mehr als 4096. Beispielsweise unterstützt GPT-4 mehr als 30 KB und ChatGLM2-6B unterstützt auch Text bis zu 32 KB. Aufgrund der begrenzten Videospeicherressourcen müssen diese großen Modelle jedoch nicht unbedingt so lange Texte während des eigentlichen Trainingsprozesses trainieren. Normalerweise sind sie während des Vortrainings nur auf etwa 4 KB ausgelegt.

Daher ist die Frage, wie sichergestellt werden kann, dass die Modellinferenzphase eine Länge unterstützen kann, die weit über die Zeit vor dem Training hinausgeht, eine der Kernfragen aktueller großer Modelle. Wir klassifizieren dieses Problem als Extrapolation großer Modelle .

Die Extrapolation großer Modelle wird derzeit hauptsächlich unter diesen beiden Aspekten betrachtet, die auch die beiden effektivsten Verbesserungsperspektiven darstellen:

  • Finden oder entwerfen Sie eine geeignete Standortkodierung;

  • Entwerfen eines lokalen Aufmerksamkeitsmechanismus.

In diesem Artikel werden die Positionskodierungs- und Extrapolationsprobleme großer Modelle unter diesen beiden Aspekten ausführlich erörtert.

1. Grundlegende Einführung in die Positionscodierung

Für ein Token wird sein Darstellungsvektor als bezeichnet, und für einen Satz wird er als bezeichnet. Dann kann das Token in diesem Satz durch eine Zuordnungsfunktion dargestellt werden:

wobei und das and-te Token darstellt.

1.1 Absolute Positionskodierung

In Transformer werden die Sinus- und Cosinusfunktionen zur Darstellung der absoluten Position verwendet. Die Formel lautet wie folgt:

Diese Kodierungsmethode wird auch Sinuskodierung genannt . Intuitiv besteht die Darstellungsvektordimension der Position darin, dass die ungeraden Positionselemente dieses Vektors Kosinuswerte und die geraden Positionselemente Sinuswerte verwenden.
Die Visualisierung sieht wie folgt aus:

de365d1a147408f24756cc49ec97d3dc.png
  • Die benachbarten Positionskodierungsvektoren sind sehr ähnlich und die weiter entfernten Positionskodierungsvektoren sind sehr unterschiedlich, was darauf hinweist, dass die absolute Position basierend auf den Sinus- und Kosinusfunktionen die Korrelation der Position darstellen kann;

  • Es ist nicht erforderlich, den Standort explizit zu erlernen, wodurch die Effizienz verbessert wird.

Abschließend kann die Mapping-Funktion wie folgt definiert werden. Das heißt, die Eingabedarstellung ist die Darstellung des Tokens und seiner entsprechenden Darstellung der absoluten Position.

Diese Darstellung ist in der Regel eine direkte Addition der Positionsdarstellung und der Wortdarstellung.

1.2 Relative Positionskodierung

(1) Explizite relative Position
Für die Token an der und -ten Position kann die relative Position als relativer Abstand zwischen den beiden Token ausgedrückt werden und wird durch den Maximal- und Minimalwert (die relative Position) eingeschränkt darf den Maximalwert nicht überschreiten und nicht kleiner als der Minimalwert sein).

Daher muss die relative Position im Vergleich zur absoluten Position nur einen Darstellungsvektor haben. Das heißt, bei der Berechnung des Aufmerksamkeitswerts zwischen zwei Token muss während des Aufmerksamkeitsberechnungsprozesses nur die relative Position eingefügt werden, die den beiden Positionen entspricht. Der Positionsdarstellungsvektor kann sein:

Auf diese Weise ist nur eine begrenzte Anzahl von Positionscodes erforderlich, um relative Positionen beliebiger Länge auszudrücken (aufgrund der Kürzung). Unabhängig davon, ob Sie trainierbare oder trigonometrische Funktionen wählen, können Sie die Anforderungen der Verarbeitung von Text beliebiger Länge erfüllen.

Diese Darstellung ist in der Regel eine direkte Addition der Positionsdarstellung und der Wortdarstellung.
Referenzpapier: „Selbstaufmerksamkeit mit relativen Positionsdarstellungen“

(2)Transformer-XL (XLNet)

Die QK-Berechnung der und -ten Positionen wird zerlegt. Einige lernbare Parameter werden eingeführt:

Dabei stellt er den relativen Positionsvektor des zu erlernenden Tokens und den relativen Positionsvektor des zu erlernenden Tokens dar. Durch die Zerlegung der relativen Position wird Aufmerksamkeit in den Berechnungsprozess eingebracht.

Diese Darstellung wird normalerweise während des Aufmerksamkeitsberechnungsprozesses in die absolute Position integriert.

(3) Verbesserungen von Transformer-XL

Das zweite und vierte Element verwenden relative Positionsdarstellungen anstelle von absoluten Positionsdarstellungen. Gleichzeitig werden neue trainierbare Parameter und.

Diese Darstellungsmethode wurde erstmals im T5-Modell verwendet. Referenzpapier: „Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer“

Diese Darstellung wird normalerweise während des Aufmerksamkeitsberechnungsprozesses in die relative Position integriert.

(4) Trainierbarer Bias-Term

Die Positionsdarstellung in Transformer-XL besteht darin, QK in 4 Elemente zu zerlegen, und die letzten drei Elemente haben positionsbezogene Parameter. Die Summe der letzten drei Elemente kann direkt in einen Offset abstrahiert werden:

Weitere Modifikationen können auch erhalten werden:

sowie:

Diese drei Methoden verbessern alle die Darstellungsform von Transformer-XL.

2. Codierung der RoPE-Rotationsposition

Der Ausgangspunkt von RoPE (Rotary Position Embedding) besteht darin, „ eine relative Positionscodierung durch absolute Positionscodierung zu erreichen “, oder es kann als eine Kombination aus relativer Positionscodierung und absoluter Positionscodierung bezeichnet werden .

Dies hat sowohl theoretische Eleganz als auch praktische Praktikabilität und kann beispielsweise hauptsächlich aus diesem Grund auf lineare Aufmerksamkeit ausgeweitet werden.

2.1 Einführung komplexer Zahlen

Angenommen, die Summe ist ein zweidimensionaler Zeilenvektor, der der Position entspricht (dh jede Position hat zwei Vektoren zur Darstellung der Position), sodass dieser zweidimensionale Vektor durch eine komplexe Zahl (einschließlich Real- und Imaginärteil) ersetzt werden kann. Ihr inneres Produkt kann also der entsprechende Aufmerksamkeitswert sein.

Die Berechnung des inneren Produkts kann durch zwei komplexe Zahlen realisiert werden: , die die konjugierte komplexe Zahl und den Realteil der komplexen Zahl darstellt.

Das innere Produkt zweier zweidimensionaler Vektoren ist gleich dem Realteil des Produkts der Konjugierten einer komplexen Zahl und der anderen komplexen Zahl, wenn sie als komplexe Zahlen behandelt werden.

Daher erhalten wir bei der Integration bzw. in absolute Positionen:

Der RoPE-Lösungsprozess leitet ab, wie die Kodierung jeder Position bestimmt werden kann.

Es kann festgestellt werden, dass die Multiplikation der absoluten Positionen θ und θ der Multiplikation mit θ in komplexen Zahlenoperationen entspricht, dh einer relativen Position im komplexen Zahlenraum. Auf diese Weise ist die absolute Position geschickt in eine relative Position in Form komplexer Zahlenoperationen umgewandelt. .

Die geometrische Bedeutung der komplexen Multiplikation ist die Drehung des Vektors. Unter der Annahme, dass der Vektor in der Position codiert ist, gilt:

In

Gleichwertig

Das Produkt der letzten beiden Terme besteht im Wesentlichen aus zwei zweidimensionalen Zeilenvektoren des Vektors (oder).

Wenn die Vektordimension (eine gerade Zahl) ist, kann sie wie folgt erweitert werden:

Jeder zwei ist ein Satz zweidimensionaler Vektoren, und es gibt eine Kombination, die direkt als dimensionale Rotationspositionskodierung zusammengefügt werden kann.
Interpretation der zweidimensionalen Erweiterung zur mehrdimensionalen Erweiterung: Transformator-Upgrade-Pfad: 4. Rotationspositionskodierung der zweidimensionalen Position – Wissenschaftliche Räume | Wissenschaftliche Räume Transformator-Upgrade-Pfad: 6. Vollständigkeitsanalyse der Rotationspositionskodierung – Wissenschaftliche Räume | Wissenschaftliche Räume

2.2 Implementierung von RoPE

7ac3d04f74e38df41c20c8547c04874e.png
  • Wenn ein Satz „Erweiterter Transformator mit Rotationspositionseinbettung“ eingegeben wird, erhalten Sie zunächst seine Abfrage- und Schlüsselvektoren q und k, deren entsprechende Dimensionen beide d sind, und dann kann für eine Gruppe von zwei benachbarten Elementen im Vektor d/ erhalten werden 2 Gruppen (zwei Elemente derselben Farbe im unteren linken Teil der Abbildung werden gruppiert. Für jede Gruppe kann ein Text zwei Zeilenvektoren erhalten);

  • Ermitteln Sie die absolute Positionsnummer jedes Wortes (der Satz besteht aus 6 Wörtern, die Positionsnummern sind jeweils 1, 2, 3, 4, 5, 6) und nehmen Sie als Beispiel das Wort „Erweitert“ als erste Gruppe an der Elemente ist θ1, die Position ist m = 1, dann kann der neue Elementwert durch Drehen der Positionscodierung erhalten werden.

  • Alle d/2 Wortkombinationen werden in dieser Form „gedreht“, um neue Positionscodes zu erhalten (untere rechte Ecke)

Eine lineare Implementierung von RoPE sieht wie folgt aus:

Eigenschaften von RoPE

(1) Ferndämpfung

c57f453ea9fcb7f4fffaa437c1d3393e.png

Aus der Abbildung können wir ersehen, dass das Ergebnis des inneren Produkts mit zunehmendem relativen Abstand tendenziell schwächer wird. Daher kann die Selektion tatsächlich zu einem gewissen Grad an Fernabschwächung führen. Natürlich ist dies nicht die einzige Option, die eine Dämpfung über große Entfernungen bewirken kann; nahezu jede glatte monotone Funktion reicht aus. Wenn Sie an die Initialisierung denken, betrachten Sie θ als trainierbaren Parameter. Nach einem gewissen Zeitraum des Trainings werden Sie feststellen, dass θ nicht wesentlich aktualisiert wurde, sodass Sie es einfach direkt korrigieren können.

(2) Vorteile

  1. Verwenden Sie eine Rotationsmatrix, um die absolute Position zu kodieren und gleichzeitig;

  2. Importieren Sie eine explizite Positionsabhängigkeit in den Selbstaufmerksamkeitsmechanismus.

  3. Freie Sequenzlänge;

  4. Abhängigkeit zwischen Token, die die Verschlechterung (= Dämpfung) mit zunehmender relativer Position allmählich verzögert;

  5. „Aktivierung“ der linearen Selbstaufmerksamkeit mit relativer Positionskodierung.

Konkret verwendet RoPE eine Rotationsmatrix, um die absolute Position zu kodieren , während gleichzeitig eine explizite relative Positionsabhängigkeit in die Selbstaufmerksamkeitsformulierung einbezogen wird .

[Die beiden Kernpunkte sind die „Rotationsmatrix“ und die „explizite relative Positionsabhängigkeit“].

3. Extrapolation aus Langtexten

Die Bedeutung der Extrapolation besteht darin, dass im Prozess der Langtextdarstellung in der Trainingsphase nur eine begrenzte Länge erlernt werden muss, d.

Die Längenextrapolation ist ein Problem inkonsistenter Längen zwischen Training und Vorhersage, das sich hauptsächlich in zwei Aspekten widerspiegelt:

  • Bei der Vorhersage wird eine untrainierte Positionscodierung (ob absolute Position oder relative Position) verwendet;

  • Die Anzahl der vom Aufmerksamkeitsmechanismus während der Vorhersage verarbeiteten Token übersteigt die Anzahl während des Trainings bei weitem.

Eine einfache und effektive Möglichkeit, das Extrapolationsproblem von Langtexten zu lösen, ist die Aufmerksamkeitsmaske, wie in der Abbildung dargestellt:

b58aaeaf0e64a1fc7e2c07caa8aa1732.png
  • Durch eine Struktur, die einem Schiebefenster ähnelt, ist jeder Token darauf beschränkt, nur den Aufmerksamkeitswert für Token in einem lokalen Bereich zu berechnen, sodass die relative Positionsgröße die Fenstergröße nicht überschreitet, wodurch das erste Problem gelöst wird.

  • Die Aufmerksamkeit wird nur innerhalb des Fensters berechnet, wodurch das Phänomen einer übermäßigen „Glättung“ des Endgewichts vermieden wird, die durch die gewichtete Mittelung der Aufmerksamkeit einer großen Anzahl von Token verursacht wird.

Im Implementierungsprozess wird im Wesentlichen eine Matrix nach der Berechnung subtrahiert, das heißt, die Form ist wie in der folgenden Abbildung dargestellt:

5d3b96da6376bed97afcc2edf655717a.png

Es ist ersichtlich, dass der blaue Bereich (d. h. der lokale Bereich innerhalb des Schiebefensters) 0 ist, was darauf hinweist, dass der ursprüngliche Aufmerksamkeitswert vor der Normalisierung beibehalten wird; andere Bereiche sind die größte Ganzzahl innerhalb eines INT, was darauf hinweist, dass der Aufmerksamkeitswert gleich ist eine sehr kleine Zahl (fast 0 nach Softmax-Normalisierung).

3.1 ALIBI

Beschreibung: „Kurz trainieren, lang testen: Aufmerksamkeit bei linearen Verzerrungen ermöglicht Extrapolation der Eingabelänge“

Es ist dasselbe wie die obige Idee, mit der Ausnahme, dass die obige M-Matrix auf λ verbessert wird, das heißt, die Berechnung der Aufmerksamkeit vor der Normalisierung lautet: Wo ist der Hyperparameter und der Wert jedes Kopfes im Multi-Transformator? Die Aufmerksamkeit des Kopfes kann unterschiedlich eingestellt werden. Die Form der Matrix λ ist wie folgt:

abb0397ff0e1e62392211c49f5e2bce0.png

Im Vergleich zur ursprünglichen Methode ist der λ-Wert umso größer, je länger der relative Abstand ist. Je weiter der Aufmerksamkeitswert liegt, desto kleiner wird er nach der Normalisierung. Im Vergleich zur „Schiebefenster“-Methode ist die verwendete Methode schwierig (berechnet innerhalb). (Aufmerksamkeit, nicht innerhalb des Fensters berechnet), AIBLI ist relativ weich (Aufmerksamkeit wird größer sein, wenn es nah ist, und kleiner, wenn es weit weg ist).

3.2 KERPLE

Beschreibung: „KERPLE: Kernelisierte relative Positionseinbettung für die Längenextrapolation“

Es führt einige Verbesserungen an ALIBI durch und führt zwei lernbare Parameter ein sowie das „dynamische“ Lernen lokaler Bereiche. Wie in der folgenden Abbildung gezeigt, ist die linke Seite die ursprüngliche Seite, die die λ-Matrix in AIBLI durch Einführung von Parametern dynamisch subtrahiert:

f5e2464b16dcff8fe11014a1d92efd23.png

Es werden zwei Modi definiert, nämlich Potenz und Logarithmus, entsprechend den Formen ohne bzw. mit Logarithmen:

4cec239fa7dd9f6138fb85c299213101.png

Im logarithmischen Modus steuert c die Gesamtmenge, was ALIBI entspricht, c ist eine Konstante. Die Su Shen-Version vereinfacht das Schreiben:

c6583e0be6f621a3fbcf91f0cdc6412d.png

3.3 Sandwich

Beschreibung: „Rezeptive Feldausrichtung ermöglicht Transformatorlängenextrapolation“

Sandwich und KEPRLE wurden vom selben Autor vorgeschlagen, der einige Verbesserungen an KEPRLE vornahm, das heißt, die entsprechende Formel wurde umgeschrieben als:, wobei die Summe mit Sinuskodierung ausgedrückt werden kann, das heißt:

d3700e47ce4921804dbc099611f51f82.png

Da die Sinuskodierung in ihrer Monotonie gleichwertig ist, handelt es sich bei beiden um linear ansteigende Formen, sodass Sandwich nur ein neues Gesicht ist.

3.4 XPOS

Artikel: „Ein längenextrapolierbarer Transformator“
Referenzinterpretation: Transformer Upgrade Road: 7. Längenextrapolation und lokale Aufmerksamkeit

Es sorgt für lokale Aufmerksamkeit basierend auf RoPE. Die Essenz von RoPE ist:

In:

In Abschnitt 2 wurde eingeführt, dass RoPE absolute Positionen implementiert, um relative Positionen durch die Verwendung komplexer Zahlen darzustellen. XPOS führt einen neuen Skalar ein, nämlich:

Da die relative Position von RoPE nicht ist, ist XPOS auf den Einwegtransformator beschränkt, wodurch negative Zahlen vermieden werden.

XPOS hat außerdem einen lokal bewussten Aufmerksamkeitsmechanismus, Blockwise Causal Attention, entwickelt, um die Leistung der lokalen Aufmerksamkeit weiter zu verbessern und die Extrapolation langer Texte zu verbessern.

4. Andere Untersuchungen zur Extrapolation

(1) Maske mit gemischter Aufmerksamkeit

Zu den typischen Vertretern bei der Lösung der Langtextpositionsdarstellung gehören Transformer-XL, BigBird und LongFormer. Zusätzlich zum lokalen Aufmerksamkeitsmechanismus führen sie auch die Natur zufälliger Positionen ein:

988639630ed439ccc27c95633dc18963.png

Wie oben gezeigt, zeigt das zweite Bild die lokale Aufmerksamkeit (Schiebefenster) und das dritte Bild zeigt eine begrenzte globale Wahrnehmung (z. B. können nur die ersten beiden Token alle Token sehen). Das erste Bild ist eine zufällige Maske, um übermäßig harte lokale Aufmerksamkeit zu mildern. Das vierte Bild wird nach dem Mischen der drei Aufmerksamkeiten erhalten. Dies ist auch eine Methode, die häufig beim Training großer Modelle mit sehr langen Texten verwendet wird.

(2) Zufällige Positionsdarstellung

Titel: „Randomisierte Positionscodierungen steigern die Längengeneralisierung von Transformatoren“

b916747218caa72130ee00f8d6a64fea.png

Bei der Darstellung absoluter Positionen tritt an der Position ein OOV-Problem auf. Die zufällige Positionscodierung übernimmt während des Trainingsprozesses die folgende Strategie:

5d7d6d9db2fa5743d98989754cb8d461.png

Der entsprechende Code ist ebenfalls sehr einfach:

def random_position_ids(N, L=2048):
    """从[0, L)中随机不重复挑N个整数,并从小到大排列
    """
    return np.sort(np.random.permutation(L)[:N])

Su Shens neue Erkundung der zufälligen Positionscodierung:

d029b6ca3d1ce08c3a668cfe838fb4ca.png

Der entsprechende Code lautet:

def random_position_ids(N):
    """先随机采样n,然后从[0, n]均匀取N个点
    """
    n = sample_from_xxx()
    return np.linspace(0, 1, N) * n

(3) Aufmerksamkeitsskala

Die ursprüngliche Formel zur Berechnung der Aufmerksamkeit lautet:

Ändern Sie es einfach wie folgt:

Wo ist im Allgemeinen die maximale Länge während des Trainings und die Position während der Vorhersage? Intuitiv bedeutet dies, den Wert der Aufmerksamkeit basierend auf seiner relativen Position direkt während der Berechnung zu steuern. Wenn und weit voneinander entfernt sind, ist der Wert von sehr groß, was dazu führt, dass die gesamte Aufmerksamkeit relativ flach normalisiert wird, was dazu beiträgt, das Problem der Extrapolation zu lösen.

(4) Globale Abhängigkeiten

Wenn Sie sich die Schiebefenstermethode in einer Transformer-Ebene ansehen, ähnelt sie im Wesentlichen dem N-Gram-Modell mit einer Länge von , wie in der folgenden Abbildung dargestellt:

c88c76f631e50522a0180f74d21d7520.png

Wenn der Transformer über eine weitere Ebene verfügt, können die Informationen im Fenster mit der Länge ausgehend von der Eingabeebene an einen größeren Bereich übergeben werden. Nach dem Durchlaufen der Ebene beträgt die Bereichslänge, wie in der folgenden Abbildung dargestellt:

da8aa06027ecdc2b9ccbd421f2224c7b.png

Eine neue Idee von Su Shen besteht darin, dass ich, wenn ich eine Transformer-Ebene habe, diese Erweiterungsfunktion in der vorherigen Ebene verwenden kann, um den endgültigen Längenbereich zu erhalten, und dann die oben erwähnte logn Attention Scale-Methode in der letzten Ebene verwenden kann. Informationen Über die Erweiterung der vorderen Schicht kann schnell mit allen Token in der letzten Schicht interagiert werden. Der Originaltext zur Einführung von Su Shen lautet:

15b59ad10ae2f7d2699bd3ae844007c2.png

Auch diese Kombination aus lokaler Aufmerksamkeit + Aufmerksamkeitsskala ist eine sehr clevere Idee. Das Experiment ergab auch, dass die Extrapolation dieser Strategie erstaunlich ist.


Treten Sie der NLP-Gruppe bei –> Treten Sie der NLP-Kommunikationsgruppe bei

Ich denke du magst

Origin blog.csdn.net/qq_27590277/article/details/132727428
Empfohlen
Rangfolge