XYZNOT

Paper · arXiv 2104.09864

RoFormer: Erweiterter Transformer mit Rotary Position Embedding

RoFormer: Enhanced Transformer with Rotary Position Embedding

Veröffentlicht cs.CLcs.AIcs.LG arXivPDF

Mit Übersetzung und KI lesen

Zusammenfassung in drei Zeilen

  1. 🎯 Standard-Positionseinbettungen sind entweder additive absolute Vektoren oder relative Modifikationen, die die Kompatibilität mit linearer Self-Attention brechen.
  2. 🔧 RoPE multipliziert Query- und Key-Vektoren mit orthogonalen blockdiagonalen Rotationsmatrizen, sodass ihr Skalarprodukt ausschließlich vom relativen Token-Abstand abhängt.
  3. 📈 Erzielt 27,5 BLEU auf WMT 2014 En-De, konvergiert beim Pre-Training schneller und übertrifft WoBERT auf CAIL2019-SCM um 1,5 % Genauigkeit bei einer Sequenzlänge von 1024.

Abstract

Positionscodierung hat sich in der Transformer-Architektur kürzlich als effektiv erwiesen. Sie ermöglicht eine wertvolle Überwachung für die Modellierung von Abhängigkeiten zwischen Elementen an unterschiedlichen Positionen der Sequenz. In dieser Arbeit untersuchen wir zunächst verschiedene Methoden zur Integration von Positionsinformationen in den Lernprozess Transformer-basierter Sprachmodelle. Anschließend schlagen wir eine neuartige Methode namens Rotary Position Embedding (RoPE) vor, um Positionsinformationen effektiv zu nutzen. Konkret codiert das vorgeschlagene RoPE die absolute Position mit einer Rotationsmatrix und integriert gleichzeitig die explizite relative Positionsabhängigkeit in die Formulierung der Self-Attention. Bemerkenswerterweise bietet RoPE wertvolle Eigenschaften, darunter die Flexibilität der Sequenzlänge, abklingende Inter-Token-Abhängigkeiten bei zunehmenden relativen Abständen sowie die Fähigkeit, lineare Self-Attention mit relativer Positionscodierung auszustatten. Schließlich evaluieren wir den erweiterten Transformer mit Rotary Position Embedding, auch RoFormer genannt, auf verschiedenen Benchmark-Datensätzen zur Klassifizierung langer Texte. Unsere Experimente zeigen, dass er Alternativen durchweg übertrifft. Darüber hinaus liefern wir eine theoretische Analyse zur Erklärung einiger experimenteller Ergebnisse. RoFormer ist bereits in Huggingface integriert: \url{https://huggingface.co/docs/transformers/model_doc/roformer}.

Original-Abstract (Englisch)

Position encoding recently has shown effective in the transformer architecture. It enables valuable supervision for dependency modeling between elements at different positions of the sequence. In this paper, we first investigate various methods to integrate positional information into the learning process of transformer-based language models. Then, we propose a novel method named Rotary Position Embedding(RoPE) to effectively leverage the positional information. Specifically, the proposed RoPE encodes the absolute position with a rotation matrix and meanwhile incorporates the explicit relative position dependency in self-attention formulation. Notably, RoPE enables valuable properties, including the flexibility of sequence length, decaying inter-token dependency with increasing relative distances, and the capability of equipping the linear self-attention with relative position encoding. Finally, we evaluate the enhanced transformer with rotary position embedding, also called RoFormer, on various long text classification benchmark datasets. Our experiments show that it consistently overcomes its alternatives. Furthermore, we provide a theoretical analysis to explain some experimental results. RoFormer is already integrated into Huggingface: \url{https://huggingface.co/docs/transformers/model_doc/roformer}.

Leseleitfaden

Problem und Motivation

Self-Attention in Transformern ist von Natur aus permutationsinvariant und erfordert daher explizite Positionsinformationen. Bisherige Ansätze lassen sich weitgehend in zwei Lager einteilen: absolute Positionseinbettungen, die direkt zu den Wortrepräsentationen addiert werden (gelernte oder feste sinusförmige Vektoren), und relative Positionseinbettungen, die in die Attention-Matrix integriert werden (z. B. Shaw et al., Transformer-XL, T5, DeBERTa). Bestehende relative Methoden stützen sich jedoch größtenteils auf additive Zerlegungen, die Zwischen-Logits der Attention verändern, wodurch sie inkompatibel mit Kernel-basierten linearen Self-Attention-Mechanismen werden, die faktorisierbare Repräsentationen erfordern. Darüber hinaus fällt es Modellen oft schwer, nahtlos über variable Sequenzlängen hinweg zu skalieren.

Kernideen

  • Relativer Abstand über Vektorrotation: Anstatt Positionsvektoren zu addieren, wendet RoPE eine positionsabhängige Rotationsmatrix auf die affin transformierten Queries und Keys an. Das Skalarprodukt zwischen einer rotierten Query am Index und einem rotierten Key am Index hängt natürlicherweise nur vom relativen Abstand ab.
  • Orthogonalität und Normerhaltung: Da der Rotationsoperator orthogonal ist, erhält er die euklidische Norm von Queries und Keys, was die Hidden States stabilisiert.
  • Long-term Decay: Der sinusförmigen Frequenzskalierung folgend klingen Token-Interaktionen mit zunehmendem relativen Abstand natürlich ab. Dies entspricht der linguistischen Intuition, dass weiter entfernte Tokens schwächere Abhängigkeiten aufweisen.
  • Kompatibilität mit linearer Attention: Da die Positionsinformationen vor der Berechnung des Skalarprodukts direkt auf die Tokenvektoren angewendet werden, kann RoPE mit Kernel-basierter linearer Attention (wie Performer) kombiniert werden.

Methode (mit den zentralen Gleichungen)

Ziel ist es, Funktionen und zu finden, deren Skalarprodukt nur von den Einbettungen und dem relativen Abstand abhängt:

In einem 2D-Unterraum ergibt die Behandlung reeller Vektoren als komplexe Zahlen folgende Lösung:

Für eine gerade Einbettungsdimension wird der Raum in 2D-Unterräume mit Frequenzen unterteilt. Die allgemeine Transformation wendet die blockdiagonale Rotationsmatrix an:

Der resultierende Attention-Score zwischen den Positionen und erfüllt:

Um dies ohne dünnbesetzte Matrixmultiplikation effizient zu berechnen, wird RoPE über elementweise Operationen implementiert:

Ergebnisse (mit den wichtigsten Kennzahlen)

  • Maschinelle Übersetzung: Auf WMT 2014 Englisch-Deutsch erreicht RoFormer 27,5 BLEU und übertrifft damit die Transformer-base-Baseline (27,3 BLEU).
  • Konvergenz beim Pre-Training: Beim Training von BERT-base mit RoPE auf BookCorpus und Wikipedia konvergiert RoFormer schneller und erreicht einen geringeren Masked-Language-Modeling-Loss (MLM) als Standard-BERT.
  • GLUE Fine-Tuning: Vorab trainiertes RoFormer verbessert die Downstream-Scores auf MRPC (89,5 vs. 88,9 F1), STS-B (87,0 vs. 85,8 Spearman) und QQP (86,4 vs. 71,2 F1) signifikant, schneidet jedoch auf SST-2 (90,7 vs. 93,5), QNLI (88,0 vs. 90,5) und MNLI-m/mm (80,2/79,8 vs. 84,6/83,4) schlechter ab als BERT.
  • Lineare Attention (Performer): Auf dem Enwik8-Datensatz beschleunigt das Hinzufügen von RoPE zu einem 12-schichtigen zeichenbasierten Performer die Konvergenz erheblich und verringert den Trainingsverlust.
  • Semantisches Matching langer Texte: Auf CAIL2019-SCM erreicht RoFormer-512 eine Testgenauigkeit von 68,29 % (gegenüber 67,77 % bei BERT-512 und 68,10 % bei WoBERT-512). Eine Skalierung auf RoFormer-1024 erhöht die Testgenauigkeit auf 69,79 % (eine absolute Verbesserung von 1,5 % gegenüber WoBERT-512).

Einschränkungen und offene Fragen

  • Das Paper weist auf das Fehlen einer theoretischen Erklärung hin, warum die 2D-Rotationsformulierung beim Pre-Training im Vergleich zu additiven Alternativen schneller konvergiert.
  • Obwohl die Long-term-Decay-Eigenschaft mathematisch nachgewiesen ist, bleibt die Frage offen, warum RoFormer auf langen Sequenzen spürbar besser generalisiert als Vergleichsmodelle.
  • Die Evaluierung von RoFormer über Pre-Training im großen Maßstab erfordert erhebliche GPU-Rechenleistung, wodurch umfassendere Skalierungseigenschaften künftigen Arbeiten überlassen bleiben.

Schlüsselbegriffe

Rotary Position Embedding (RoPE)
Ein Positionscodierungsmechanismus, der Positionsinformationen einbettet, indem Query- und Key-Repräsentationen mit orthogonalen blockdiagonalen Rotationsmatrizen multipliziert werden.
RoFormer
Eine Transformer-Architektur, die mit Rotary Position Embedding anstelle von standardmäßigen absoluten oder additiven relativen Positionscodierungen ausgestattet ist.
Long-term Decay
Die mathematische Eigenschaft, bei der das Skalarprodukt von Queries und Keys abnimmt, wenn die relative Positionsdistanz wächst.
Linear Attention
Attention-Mechanismen, die Kernel-Feature-Maps berechnen, um die Reihenfolge der Matrixmultiplikation zu ändern und eine lineare Rechenkomplexität von zu erreichen.
PerFormer
Eine Transformer-Architektur mit linearer Attention, die im Paper getestet wird, um zu zeigen, dass RoPE lineare Attention nahtlos mit relativen Positionsinformationen ausstattet.
CAIL2019-SCM
Der Benchmark 'Chinese AI and Law 2019 Similar Case Matching', bestehend aus juristischen Fall-Tripletts, die zur Evaluierung von Modellierungsfähigkeiten bei langen Texten jenseits von 512 Tokens verwendet werden.
WoBERT
Ein wortbasiertes chinesisches BERT-Modell, das als Vergleichs-Baseline und Pre-Training-Grundlage für RoFormer auf chinesischen Korpora verwendet wird.

Fragen

Wie unterscheidet sich RoPE von standardmäßigen sinusförmigen Positionseinbettungen?

Sinusförmige Einbettungen werden vor den linearen Projektionen zu den Eingabe-Tokenvektoren addiert, während RoPE multiplikativ als Rotation direkt auf die Query- und Key-Projektionen innerhalb der Attention-Schicht angewendet wird.

Warum ist RoPE mit linearer Self-Attention kompatibel, während andere relative Codierungen dies nicht sind?

Bestehende relative Codierungen modifizieren paarweise Attention-Logits innerhalb von Softmax-Operationen, wodurch die für lineare Attention erforderliche Faktorisierung gebrochen wird. RoPE rotiert Query- und Key-Vektoren individuell, ohne deren Normen zu verändern, sodass lineare Attention-Kernel regulär angewendet werden können.

Erfordert die Anwendung von RoPE eine dichte Matrixmultiplikation mit $R^d_{\Theta, m}$?

Nein. Da eine dünnbesetzte blockdiagonale Matrix ist, die aus -Blöcken besteht, wird sie rechnerisch als elementweise Multiplikation und paarweise Rekombination unter Verwendung von Kosinus- und Sinusvektoren implementiert.

Wie verhält sich RoFormer bei der Skalierung auf längere Kontexte?

Auf dem CAIL2019-SCM-Benchmark erhöht die Erweiterung der Kontextlänge von 512 auf 1024 die RoFormer-Testgenauigkeit von 68,29 % auf 69,79 %, was eine starke Generalisierungsfähigkeit über verschiedene Sequenzlängen hinweg zeigt.

Die Übersicht auf dieser Seite wurde von einer KI aus dem Paper erstellt und kann Fehler enthalten. Details stehen im Paper.

Mit Übersetzung und KI lesen