Architektur und interne Modellbausteine
Rotary Position Embedding
Heißt auch RoPE oder Rotary Position Embeddings.
Positionskodierung durch Rotationen von Query- und Key-Vektoren.
Rotary Position Embedding, kurz RoPE, ist ein Verfahren zur Positionskodierung, das Query- und Key-Vektoren abhängig von ihrer Position rotiert. (RoFormer, Transformers-Dokumentation) Dadurch gehen Positionsbeziehungen in den Attention-Abgleich ein, ohne dass lediglich ein separater Positionsvektor zur Token-Einbettung addiert wird. (Transformers-Dokumentation)
So kannst du dir das vorstellen
Stell dir mehrere Uhren vor, deren Zeiger unterschiedlich schnell laufen. Für jede Textposition stehen die Zeiger in einer anderen Kombination. Wenn du zwei solcher Kombinationen vergleichst, erhältst du Hinweise auf ihren Abstand.
Das ist eine Analogie für verschiedene Rotationsgeschwindigkeiten innerhalb der Zahlendarstellung. Es gibt im Modell keine echten Uhren, und RoPE misst auch keine verstrichene Bearbeitungszeit. Entscheidend ist die Position in der Folge.
Wie Rotation die Attention verändert
Query und Key sind gelernte Zahlenvektoren, deren Vergleich beeinflusst, welche Informationen miteinander verknüpft werden. (Vaswani et al.) RoPE behandelt jeweils Paare ihrer Komponenten als zweidimensionale Größen und dreht sie um positionsabhängige Winkel mit unterschiedlichen Frequenzen. (YaRN-Erklärung der Autoren)
Obwohl die Rotation an der absoluten Position ansetzt, entsteht im Query-Key-Abgleich eine Abhängigkeit vom relativen Positionsabstand. (RoFormer) Das Verfahren verbindet damit absolute Positionierung mit relativen Beziehungen in der Attention-Berechnung. (RoFormer)
Warum längere Kontexte zusätzliche Arbeit verlangen
Ein RoPE-basiertes Modell lässt sich nicht allein deshalb zuverlässig auf beliebige Textlängen ausdehnen, weil die Rotationsformeln für weitere Positionen berechenbar sind. (Chen et al.) Verfahren wie Position Interpolation und YaRN passen die Positionsabbildung beziehungsweise ihre Frequenzen an, um längere Kontexte nutzbar zu machen. (YaRN-Erklärung)
Für eine Modellkonfiguration solltest du deshalb prüfen, welche RoPE-Variante und welche zugehörigen Einstellungen vorgesehen sind. Die Transformers-Dokumentation unterscheidet mehrere Varianten mit unterschiedlichen Parametern, statt einen universellen Skalierungsregler anzubieten. (Transformers-Dokumentation)
Verwandte Begriffe
Weiterführen können Positional Encoding, Position Interpolation, NTK-aware Scaling, YaRN und Multi-Head Latent Attention.