Rotary Position Embedding
Model porównuje fragmenty tekstu, ale potrzebuje wiedzieć również, jak daleko od siebie leżą. „Wczoraj” obok czasownika może pełnić inną rolę niż to samo słowo w odległym cytacie. Jak włączyć pozycję do porównania liczbowych opisów?
Rotary Position Embedding (RoPE) obraca pary liczb w query i key zgodnie z pozycją tokena, czyli kawałka tekstu. Query i key są wektorami — listami liczb porównywanymi w attention.
Wyobraź sobie dwie strzałki o określonych długościach. Pozycja ustala ich kąt obrotu. Przy porównaniu znaczenie ma różnica kątów, a więc różnica pozycji. W rzeczywistym modelu obraca się wiele par z różnymi częstotliwościami.
To analogia operacji na liczbach, a nie ruch tekstu w pamięci. RoPE nie zakazuje dostępu do przyszłości i nie gwarantuje dobrego działania poza długościami znanymi z treningu. Różni się od dodawania sygnału pozycji w oryginalnym Positional Encoding.
Mechanizm i szczegóły
W przeciwieństwie do dodawania wektora w oryginalnym Positional Encoding, tutaj zmienia się orientacja query i key. Dla dwuwymiarowej pary obrót o kąt daje:
Obrót zachowuje długość wektora. Su et al., RoFormer, §3.1–3.2 wyprowadzają konstrukcję i składają wiele takich par z różnymi częstotliwościami.
Przesuń oba tokeny i sprawdź wynik
Jeśli nieobrócone query i key pozostają stałe, to:
i to pozycje, a kąt przypadający na jednostkę odległości dla danej pary. Wynik zależy od różnicy pozycji. Wspólne przesunięcie obu pozycji obraca strzałki, ale zachowuje ich iloczyn skalarny.
Własny przykład używa i umownego . Przy odległości 1 iloczyn wynosi około 0,866; przy 6 wynosi −1, a przy 12 ponownie 1. To jedna para i celowo prosta częstotliwość, nie pełna receptura modelu. Oryginalna praca dla pary o indeksie używa radianów.
Pokazany wynik jest składnikiem obliczenia Scaled Dot-Product Attention, przed skalowaniem i Softmax. Nie jest prawdopodobieństwem. W tym wariancie rotujemy Q i K; V nie wymaga tego obrotu. RoPE nie zastępuje Causal Masking.
Powrót pojedynczej pary do tej samej orientacji pokazuje też, dlaczego nie wolno zakładać, że każdy wynik maleje monotonicznie z odległością. Własność względnych pozycji sama nie dowodzi poprawnego działania całego modelu dla dowolnie długiego tekstu.
Wykorzystuję treści generowane przez AI jako część mojego codziennego procesu nauki.