Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Rotary Position Embedding (RoPE)

Rotary Position Embedding (RoPE) dreht Query- und Key-Vektoren entsprechend der Tokenposition, sodass Attention-Scores vom relativen Abstand abhängen. Wird in den meisten offenen LLMs verwendet.

Rotary Position Embedding (RoPE) vermittelt einem Transformer Informationen über die Reihenfolge von Token, indem jeder Abfrage- und Schlüsselvektor um einen Winkel gedreht wird, der proportional zur Position des Tokens ist. Selbstaufmerksamkeit kann für sich genommen keine Wortreihenfolge erkennen. Deshalb müssen Modelle Positionsinformationen auf irgendeine Weise einbringen. Bei RoPE hängt der Aufmerksamkeitswert zwischen einer Abfrage an Position m und einem Schlüssel an Position n ausschließlich von ihrem Abstand m − n ab. RoPE wurde 2021 mit dem Modell RoFormer eingeführt und durch EleutherAIs GPT-J und GPT-NeoX bekannt. Heute ist RoPE die standardmäßige Positionskodierung in frei verfügbaren großen Sprachmodellen (LLMs), darunter Llama, Mistral, Qwen, Gemma und DeepSeek.

So funktioniert RoPE#

RoPE teilt jeden Abfrage- und Schlüsselvektor der Dimension d in d/2 Merkmals-Paare auf und behandelt jedes Paar als Punkt in einer Ebene. An Position m wird Paar i um den Winkel m·θᵢ gedreht, wobei θᵢ = base^(−2i/d) und der Basiswert im ursprünglichen Paper 10.000 beträgt. Die ersten Paare drehen sich schnell und erfassen die lokale Reihenfolge präzise. Die letzten drehen sich langsam und können Token auch dann noch unterscheiden, wenn Tausende Positionen zwischen ihnen liegen. Durch die Drehung einer Abfrage um mθ und eines Schlüssels um nθ hängt ihr Skalarprodukt nur noch von der Differenz (m − n)θ ab. Die Drehung verändert niemals die Länge eines Vektors. Die Drehung erfolgt in jeder Aufmerksamkeitsschicht nach den Projektionen von Abfrage und Schlüssel. Wertvektoren werden nicht gedreht, und zu den Einbettungen der Eingabetoken wird nichts addiert:

Der folgende Ausschnitt setzt die Drehung mit komplexen Zahlen um, wie es auch Metas Referenzcode für Llama tut, und überprüft die Eigenschaft der relativen Position:

import torch

torch.manual_seed(0)
dim = 64
freqs = 10000 ** (-torch.arange(0, dim, 2) / dim)  # one rotation frequency per pair of features


def rope(x, pos):
    """Rotate each consecutive feature pair of x by the angle pos * frequency."""
    pairs = torch.view_as_complex(x.reshape(-1, 2))
    return torch.view_as_real(pairs * torch.polar(torch.ones_like(freqs), pos * freqs)).flatten()


q, k = torch.randn(2, dim)
# The same query and key, three tokens apart, at two different places in the sequence
print(f"positions 5 and 2:     {rope(q, 5) @ rope(k, 2):.4f}")
print(f"positions 105 and 102: {rope(q, 105) @ rope(k, 102):.4f}")
print(f"positions 5 and 4:     {rope(q, 5) @ rope(k, 4):.4f}")  # one token apart
print(f"Vector length kept: {rope(q, 5).norm():.4f} vs {q.norm():.4f}")

Für beide Paare im Abstand von drei Token wird -8.2811 ausgegeben, unabhängig davon, ob sie sich an den Positionen 5 und 2 oder 105 und 102 befinden. Für dieselben Vektoren im Abstand von einem Token wird -11.4563 ausgegeben. Die Länge der gedrehten Abfrage bleibt bei 8.3705.

RoPE im Vergleich zu anderen Positionskodierungen#

  • Sinusförmige absolute Positionskodierung: Der ursprüngliche Transformer addiert vor der ersten Schicht einmalig feste Sinus- und Kosinusvektoren zu den Eingabeeinbettungen. Der relative Abstand muss aus dem überlagerten Signal erschlossen werden.
  • Gelernte absolute Einbettungen: BERT und GPT-2 lernen je einen Vektor pro Position – bis zu 512 beziehungsweise 1.024 Positionen. Für Positionen jenseits dieser Grenze haben sie keine Einbettung.
  • Relative Positionsverzerrungen: T5 und ALiBi addieren eine gelernte oder festgelegte, abstandsabhängige Verzerrung zu den Aufmerksamkeitswerten. RoPE kodiert den relativen Abstand durch die Drehung selbst und benötigt keine zusätzlichen Parameter.

Das Kontextfenster erweitern#

Ein mit RoPE auf Sequenzen der Länge L trainiertes Modell hat die Drehwinkel für Positionen jenseits von L noch nie gesehen. Sobald diese auftreten, lässt die Aufmerksamkeit nach. Verfahren zur Kontexterweiterung skalieren die Winkel neu, statt das Modell von Grund auf neu zu trainieren. Position Interpolation quetscht neue Positionen in den trainierten Bereich und erweiterte Llama-Modelle innerhalb von 1.000 Feinabstimmungsschritten auf ein Kontextfenster mit 32.768 Token. Die NTK-bewusste Skalierung und YaRN dehnen die langsamen, niederfrequenten Paare stärker als die schnellen. YaRN erweiterte Llama 2 auf 128K Token und benötigte dabei zehnmal weniger Trainingstoken als frühere Verfahren. Beim Vortraining erhöhte Llama 3 den Basiswert von 10.000 auf 500.000. Dadurch drehen sich die langsamsten Paare pro Token weniger, und weit auseinanderliegende Positionen bleiben unterscheidbar.

RoPE in Bildverarbeitungsmodellen#

Bilder benötigen zwei Koordinaten, daher verwenden Vision Transformers 2D-RoPE, auch als axiale RoPE bezeichnet: Die Hälfte der Merkmalspaare jedes Aufmerksamkeitskopfs rotiert entsprechend der Spalte eines Patches, die andere Hälfte entsprechend seiner Zeile. Qwen2-VL ergänzt seine multimodale M-RoPE für Video um eine dritte, zeitliche Achse. Metas SAM 2, das im Ultralytics-Paket läuft, verwendet axiale RoPE in den vier Schichten seiner Speicheraufmerksamkeit, bei der die Merkmale des aktuellen Videoframes gespeicherte Merkmale früherer Frames berücksichtigen. Die Schlüssel jedes gespeicherten Frames erhalten dasselbe Winkelraster wie die Abfragen des aktuellen Frames, sodass die Aufmerksamkeit zwischen dem aktuellen Frame und jedem gespeicherten Frame vom räumlichen Versatz zwischen den Patches abhängt.

Explore solutions

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Wandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Umweltüberwachung, Naturschutz und Geodatenanalyse um.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Vision AI für die Überwachung aus der Luft mit Ultralytics YOLO-Modellen ein. Nutze Computer-Vision-Lösungen für Drohnen, Abläufe in der Luft- und Raumfahrt, Umweltschutz und Geodatenbranchen.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens