Visualisierung wie Rotary Position Embeddings (RoPE) relative Positionen durch Vektor-Rotation kodieren
Rotary Position Embedding (RoPE) rotiert Vektoren in 2D-Unterräumen basierend auf ihrer Position. Der Schlüssel: Relative Position zwischen zwei Tokens entspricht der Rotationsdifferenz ihrer Embeddings. Dies ermöglicht Zero-Shot-Längen-Extrapolation und wird in Llama, PaLM und GPT-NeoX verwendet.
m: Position des Tokens
θ: Rotationsfrequenz (z.B. 1/10000^(2i/d))
x₀, x₁: 2D-Unterraum des Vektors
Das Skalarprodukt zwischen Query an Position m und Key an Position n:
Hängt nur von der relativen Position (m-n) ab, nicht von absoluten Positionen! Dies ermöglicht Längen-Extrapolation: Wenn das Modell auf 2K Tokens trainiert wurde, funktioniert es oft auch bei 8K+ Tokens.