← Übersicht

Rotary Positional Embeddings (RoPE)

Ein Transformer verarbeitet alle Wörter gleichzeitig und hat darum von sich aus kein Gefühl für Reihenfolge „Hund beißt Mann" und „Mann beißt Hund" sähen für reines Attention gleich aus. Man muss Positionsinformation hinzufügen. RoPE tut das auf elegante Weise: Es kodiert die Position nicht als zusätzlichen Vektor, den man addiert, sondern als Drehung der Query- und Key-Vektoren. Die Position eines Worts bestimmt, um welchen Winkel sein Vektor gedreht wird.

Warum Position überhaupt nötig ist

„Hund beißt Mann" „Mann beißt Hund" Hund beißt Mann Mann beißt Hund Gleiche Wörter, andere Bedeutung nur die Reihenfolge unterscheidet sie.
Ohne Positionssignal kann Attention Wortreihenfolge nicht erkennen.

Die Idee: Position als Winkel

RoPE nimmt die Vektordimensionen paarweise und behandelt jedes Paar als Punkt in einer Ebene. Ein Wort an Position m wird um einen Winkel proportional zu m gedreht. Position 1 dreht ein kleines Stück, Position 2 doppelt so weit, und so fort. Die Länge des Vektors bleibt gleich nur seine Richtung kodiert, wo das Wort steht.

Position 1 Position 2 Position 3 Gleicher Vektor, mit der Position weitergedreht
Ein und derselbe Wortvektor wird umso weiter gedreht, je später das Wort steht. Der Winkel ist die Position.

Mehrere Frequenzen

Würde man nur einen Winkel benutzen, wiederholte sich das Signal nach einer vollen Drehung. RoPE nutzt daher viele Dimensionspaare mit unterschiedlichen Drehgeschwindigkeiten: manche drehen schnell (erfassen feine, nahe Unterschiede), manche langsam (erfassen grobe, weite Distanzen). Zusammen ergeben sie eine eindeutige Signatur für jede Position ähnlich wie Zeiger einer Uhr (Sekunde, Minute, Stunde) gemeinsam eine eindeutige Zeit anzeigen.

schnell langsam Position →
Verschiedene Frequenzen: schnelle Drehungen unterscheiden nahe Positionen, langsame decken große Distanzen ab.

Der entscheidende Vorteil: relative Position

Attention vergleicht Query und Key über das Skalarprodukt. Sind beide gedreht die Query von Position m, der Key von Position n, hängt ihr Skalarprodukt nur von der Differenz m − n ab, nicht von den absoluten Positionen. Das Modell lernt also automatisch relative Bezüge („drei Wörter zurück"), die unabhängig davon gelten, wo im Text man gerade ist. Das macht RoPE robust gegenüber langen und ungesehenen Sequenzlängen.

Query (m) Key (n) Winkel = m − n ⟨Q, K⟩ hängt nur von (m − n) ab
Weil nur der Winkelunterschied zählt, kodiert RoPE relative Abstände der Schlüssel zu seiner Stärke bei langen Kontexten.

RoPE im Vergleich

VerfahrenWieRelativ?Lange Kontexte
Sinus-Encoding (Original)fester Vektor addiertnein (absolut)mäßig
Gelernte PositionTabelle pro Positionneinnur bis trainierte Länge
RoPEQ/K gedrehtjagut, gut erweiterbar

RoPE ist heute in vielen führenden Modellen (Llama, weitere) Standard, weil es relative Position auf natürliche, mathematisch saubere Weise einbaut.

Quellen

Verwandte Themen