LongRoPE wprowadza dwie niejednorodności: (1) per-dimension — różne wymiary RoPE dostają różne, niemonotoniczne współczynniki interpolacji, oraz (2) per-token — pierwsze tokeny mają mniejsze skalowanie niż dalsze pozycje. Optymalne wartości tych współczynników są wyszukiwane offline algorytmem ewolucyjnym (mutacja + selekcja po perpleksji na próbce długich tekstów), zamiast wyprowadzane wzorem. Następnie stosowana jest progresywna strategia rozszerzania: model najpierw szuka i fine-tuningiem stabilizuje 256k, a potem algorytm wyszukuje współczynniki dla 2048k BEZ kolejnego fine-tuningu. Ostatni krok to readjustacja: na krótkich kontekstach (4k/8k) używane są oddzielne, lekko zmodyfikowane współczynniki RoPE, co przywraca jakość modelu na typowych krótkich promptach.
Metody jednolitej interpolacji RoPE (Position Interpolation, NTK-aware, YaRN) zakładają, że wszystkie wymiary i pozycje wymagają tego samego skalowania. Empirycznie tak nie jest — różne częstotliwości RoPE oraz różne pozycje (zwłaszcza początkowe tokeny) reagują inaczej. Próby ekstremalnego rozszerzenia (rzędu setek tysięcy lub milionów tokenów) tymi metodami prowadzą do gwałtownego wzrostu perpleksji i kompletnego rozpadu uwagi w long-context.
Próba odtworzenia LongRoPE z arbitralnymi, jednorodnymi współczynnikami redukuje ją de facto do YaRN/PI i niweluje główną korzyść (skalowanie do milionów tokenów).
Bez oddzielnych współczynników dla sekwencji krótszych niż pretreningowa LongRoPE zauważalnie obniża jakość na krótkich promptach — efekt analogiczny do statycznego YaRN, ale silniejszy ze względu na agresywne skalowanie.
Praca pokazuje, że bezpośrednie wyszukanie współczynników dla 2M bez wcześniejszego stabilizującego fine-tuningu na 256k pogarsza jakość i destabilizuje search.
Su i in. wprowadzają RoPE — fundament pod całą rodzinę metod ekstensji kontekstu, w tym Position Interpolation, NTK-aware, YaRN i LongRoPE.
Position Interpolation (Meta) oraz NTK-aware interpolation (społeczność) pokazują, że jednolite skalowanie/przebudowa bazy RoPE rozszerza kontekst po krótkim fine-tuningu.
YaRN łączy NTK-by-parts (różne reżimy interpolacji per pasmo częstotliwości) ze skalowaniem temperatury attention i staje się standardem dla 64k–128k.
Microsoft publikuje LongRoPE (arXiv:2402.13753). Dwie niejednorodności (per-dimension i per-token), wyszukiwanie ewolucyjne, progresywna strategia 256k → 2048k oraz readjustacja krótkich kontekstów — pierwsza metoda osiągająca okno >2M tokenów.
Microsoft wypuszcza modele Phi-3 Mini 128k i Phi-3.5 Mini 128k, w których LongRoPE jest oficjalną metodą rozszerzenia kontekstu z 4k do 128k — pierwsze szerokie wdrożenie produkcyjne.
LongRoPE zostaje opublikowany na ICML 2024 jako jeden z głównych wkładów w problem ekstremalnego rozszerzania kontekstu LLM.
Docelowa długość okna kontekstu po rozszerzeniu. Oryginalna praca demonstruje skalowanie z 4k do 2048k (×512).
Niemonotoniczny wektor współczynników skalowania, jeden na wymiar RoPE. Wyszukiwany algorytmem ewolucyjnym. Główna nowość LongRoPE względem YaRN/NTK-aware.
Liczba początkowych tokenów, dla których stosowane jest mniejsze skalowanie pozycji niż dla dalszych pozycji. Druga niejednorodność wykrywana eksperymentalnie.
Liczba iteracji algorytmu ewolucyjnego oraz wielkość populacji. Determinuje koszt offline wyszukania współczynników.
Oddzielny zestaw współczynników RoPE używanych, gdy sekwencja jest krótsza od pretreningu, aby zachować jakość na typowych krótkich promptach.
LongRoPE to modyfikacja kodowania pozycyjnego w gęstym Transformerze. Brak routingu i warunkowej aktywacji.
LongRoPE nie zmienia kosztu pojedynczego attention — modyfikuje tylko sposób wyliczenia rotacji RoPE. Wyszukiwanie współczynników odbywa się offline, raz przed wdrożeniem modelu, i nie wpływa na koszt inferencji.
Sama runtime'owa modyfikacja RoPE jest czysto algorytmiczna i działa wszędzie tam, gdzie działa standardowy RoPE-Transformer.
Offline'owe ewolucyjne wyszukiwanie współczynników wymaga uruchamiania ewaluacji perpleksji na długich kontekstach — w praktyce klastry GPU z FlashAttention i pamięcią ≥80 GB. Inferencja długiego kontekstu typowo korzysta z PagedAttention/FlashAttention.