Das Kontexterweiterungs-Problem

LLMs werden typischerweise auf 4K Tokens trainiert. Die Frage ist: Wie können sie auf 100K+ Tokens extrapolieren?

Das Problem: Positionsinformationen sind eng an die Trainingssequenzlänge gekoppelt. Sinusoidale Positional Encodings (ursprüngliches Transformer-Papier) skalieren schlecht auf längere Sequenzen.

Es gibt zwei moderne Lösungen:

  • RoPE (Rotary Position Embedding): Positionsinformation durch Rotation. Benötigt Position Interpolation Fine-Tuning
  • ALiBi (Attention with Linear Biases): Lineare Biases auf Attention-Scores. Zero-Shot Extrapolation möglich

RoPE – Rotary Position Embedding

RoPE kodiert Position durch Rotation von 2D-Vektoren. Der kritische Punkt: Der Attention-Score zwischen Position m und n hängt nur von der relativen Distanz (m-n) ab, nicht von absoluten Positionen.

RoPE Rotation Matrix:

[q_m, k_n] = q_m · R(θ(m)) · k_n · R(θ(n))^T

wobei θ(pos) = Σ_i θ_i · 10000^(-2i/d)

Attention hängt nur ab von (m-n), nicht von m oder n allein

Position Interpolation für Extrapolation:
Durch Skalierung der Positionen kann ein Modell trainiert auf 4K auf 100K+ extrapoliert werden:

  • Original Position 1-4000 → Skaliert auf 1-100000
  • Nur ~1000 Fine-Tuning Steps nötig
  • Kein Qualitätsverlust bei längeren Sequenzen
Abb. 1 | Position Interpolation: Ursprüngliche Positionen 1-4000 werden auf 1-100000 gestreckt. Die Skalierung ermöglicht Extrapolation ohne massive Fine-Tuning.

ALiBi – Attention with Linear Biases

ALiBi ist konzeptionell einfacher: Statt trainierbare Position Embeddings addiert man statische lineare Biases direkt zu den Attention-Scores basierend auf Token-Distanz.

ALiBi Attention:

Attention(Q, K, V) = softmax((QK^T) / √d_k + bias_matrix) · V

bias[i,j] = -m · |i - j|

wobei m ein Head-spezifischer Slope ist (nicht trainiert)

Große Vorteile:

  • Zero-Shot Extrapolation: Modell trainiert auf 1K, funktioniert auf 2K+, 100K+, 1M+ ohne Anpassung
  • Keine trainierbaren Parameter: m ist fest, nicht trainiert
  • Head-Spezialisierung: Jeder Head hat eigenen Slope m, lernt unterschiedliche Entfernungs-Sensitivität
  • Einfach zu implementieren: Eine konstante Subtraktion
Abb. 2 | ALiBi Bias-Matrix: Diagonal ist 0 (selbst), dann linear negativer je weiter entfernt. Verschiedene Heads zeigen verschiedene Slopes m (unterschiedliche Farben = unterschiedliche m-Werte).
4K Tokens

Vergleich: RoPE vs ALiBi vs Sinusoidal

Merkmal Sinusoidal (Original) RoPE (Llama, Mistral) ALiBi (MPT, PaLM)
Mechanismus sin/cos Funktionen Vektorrotation Lineare Biases
Relative Position Implizit Explizit ✓ Explizit ✓
Trainierbare Parameter Keine Keine Keine (nur feste m)
Extrapolation ohne FT ❌ Sehr schlecht ❌ Braucht FT ✓ Funktioniert direkt
Extrapolation mit FT ⚠ Schlecht ✓ Ausgezeichnet ✓ Ausgezeichnet
Computational Cost Niedrig Höher (Rotationen) Sehr niedrig
Abb. 3 | Extrapolation-Test: Perplexity über Sequenzlänge. Training auf 4K Tokens. Sinusoidal verliert schnell, RoPE braucht Fine-Tuning, ALiBi funktioniert Zero-Shot auf 100K+.

Praktische Implementierungsdetails

RoPE Implementierung:
Q und K werden rotiert:

q[d_i:d_i+2] = Rotate2D(q[d_i:d_i+2], θ_i · pos)
k[d_i:d_i+2] = Rotate2D(k[d_i:d_i+2], θ_i · pos)

Rotate2D([x, y], θ) = [x·cos(θ) - y·sin(θ), x·sin(θ) + y·cos(θ)]

ALiBi Implementierung:
Nach QK^T einfach Bias addieren:

scores = (Q @ K.T) / √d_k
bias = -m · absolute_distance_matrix
scores += bias

Die Slopes m für verschiedene Heads sind oft: m_h = 2^(-8h/H) wobei h ∈ [0, H-1] und H die Anzahl Heads ist.

Wichtige Erkenntnisse

🔄 Relative Positionen

Beide RoPE und ALiBi kodieren relative Position (m-n), nicht absolute. Das ist der Schlüssel zur Extrapolation.

📏 Kontextfenster-Limits

Trainiert auf 4K bedeutet nicht "max 4K". Mit den richtigen Position Encodings kann auf 1M+ extrapoliert werden.

⚡ Zero-Shot vs Fine-Tuning

ALiBi erlaubt Zero-Shot Extrapolation. RoPE braucht ~1000 FT Steps, ist aber nach FT stabiler.

🎯 Head-Spezialisierung

Bei ALiBi: Jeder Head hat eigenen Slope m. Erlaubt verschiedene Distanz-Empfindlichkeiten.

🚀 Moderne Standard

RoPE ist in modernen Modellen (Llama 3, Mistral) Standard. ALiBi wird wegen Zero-Shot-Vorteilen auch zunehmend genutzt.

💰 Komputationelle Kosten

ALiBi ist leichter zu implementieren. RoPE braucht mehr Rotations-Operationen, ist aber nicht bedeutsam teurer.