Kernidee

ALiBi ersetzt komplexe Positions-Embeddings durch einen eleganten Trick: Jeder Attention-Head bekommt einen linearen Bias, der entfernte Tokens bestraft. Die Formel ist simpel: bias(i,j) = -m × |i-j|. Verschiedene Heads haben verschiedene Slopes m – so spezialisieren sich manche auf lokale, andere auf globale Abhängigkeiten.

1
8 Heads = 8 verschiedene Reichweiten
Anzeige:
Attention:
0% 100%
2
Focus-Token: Wie stark werden entfernte Tokens bestraft?
Query-Position wählen:
Head 0 (m=1/8) – Short Range
Head 7 (m=1/1024) – Long Range
3
Attention-Berechnung: Step by Step
Wie ALiBi die Attention-Scores modifiziert
4
Extrapolation: Training kurz, Inferenz lang
Sequenzlänge:
512 Tokens
Training
1K
Tokens
Inferenz
512
50% der Trainingslänge
Funktioniert?
Ja!
ALiBi skaliert linear
5
ALiBi vs. RoPE: Der Vergleich
📐
ALiBi
Einfach: Addiert nur Konstanten (keine Rotation)
30% schneller als RoPE in der Berechnung
Extrapoliert: Training auf 1K, Inferenz bis 8K+
Verwendet von: BLOOM (176B), MPT (7B-65B)
🔄
RoPE
⚙️ Komplex: Rotiert Q/K Vektoren im Komplexen
⚙️ Mehr Berechnung durch Sinus/Kosinus-Operationen
⚠️ Braucht Interpolation für längere Sequenzen
⚙️ Verwendet von: LLaMA, Mistral, GPT-NeoX
Warum verschiedene Slopes?
Kleine Slopes (m=1/8): Starke lokale Präferenz für Bigramme und Phrasen. Große Slopes (m=1/1024): Schwache Distanz-Strafe ermöglicht Long-Range Dependencies.
Causal Masking
Die obere Dreiecksmatrix (j > i) wird auf -∞ gesetzt – wie bei Standard-Attention. ALiBi-Bias wirkt nur auf die untere Dreiecksmatrix (vergangene Tokens).
Production-Ready
BLOOM (176B Parameter) und MPT-Modelle verwenden ALiBi als Standard. Einfache Implementierung, bessere Length Generalization als Sinusoidal.
Head wechseln · 1-4 Step wählen