Robocikowo>ROBOCIKOWO
Architektura

PI

2023AktywnyOpublikowano: 9 czerwca 2026Aktualizacja: 9 czerwca 2026Opublikowany
Position Interpolation (Chen et al., Meta 2023) to oryginalna metoda rozszerzania okna kontekstu RoPE-LLM. Zamiast ekstrapolować nieznane pozycje, mapuje wszystkie pozycje docelowego okna w obszar znany modelowi z pretreningu — przez prostą operację pos → pos/s. Następnie wystarczy krótkie douczanie. PI uruchomiło całą falę prac: NTK-aware, YaRN, LongRoPE.
Kluczowa innowacja
Pierwsza praktyczna metoda „cheap context extension" dla RoPE-LLM: liniowo skaluje indeksy pozycji w dół, by zmieściły się w zakresie pretreningu, i odzyskuje jakość krótkim fine-tuningiem (~1000 kroków) zamiast pełnego pretreningu na długim kontekście.
Kategoria
Architektura
Poziom abstrakcji
Building block
Poziom operacji
ModelPo-treningInferencja
Zastosowania
Rozszerzenie kontekstu Llama 1 z 2k do 4k/8k/16k/32k (oryginalna praca Chen et al.)Pierwsza ścieżka long-context dla open-source LLM przed pojawieniem się NTK-aware/YaRNTani fine-tuning produkcyjny gdy zaplecze obliczeniowe jest ograniczoneBaseline porównawczy dla wszystkich późniejszych metod ekstensji kontekstu

Jak działa

W standardowym RoPE pozycja pos rotuje pary wymiarów embeddingu z częstotliwością ω_i = 1 / base^(2i/d). Position Interpolation zamiast podawać do RoPE oryginalną pozycję, podaje przeskalowaną: pos' = pos · L_pretrain / L_target = pos / s, gdzie s = L_target / L_pretrain to scale factor. Cała sekwencja docelowa o długości L_target jest „ściskana" tak, by zmieścić się w zakresie pozycji [0, L_pretrain] znanym modelowi z pretreningu. Ponieważ pos' bywa ułamkowe, a model widział tylko całkowite indeksy, jakość spada — dlatego potrzebny jest krótki fine-tuning (Chen et al. raportują ~1000 kroków dla 2k → 8k, ~5000 dla 2k → 32k), który stabilizuje attention na nowych, ułamkowych pozycjach. Operacja jest deterministyczna i nie wprowadza żadnych uczonych parametrów poza tymi, które są aktualizowane standardowym backpropem w trakcie krótkiego dofine'a.

Rozwiązany problem

Modele LLM oparte o RoPE drastycznie tracą jakość, gdy pozycja przekracza długość pretreningu — rotacje RoPE dla takich pozycji nie były nigdy widziane i zachowanie attention się rozpada. Pełen pretraining na długim kontekście jest niezmiernie kosztowny. PI jako pierwsza pokazała, że można rozszerzyć okno 4×–8× tanim kosztem — kilka tysięcy kroków fine-tuningu na publicznie dostępnym sprzęcie.

Komponenty

Position rescaling (pos → pos/s)Bramka pozycji — kompresuje docelowy zakres do zakresu pretreningowego

Jedyna realna składowa metody — dzielenie indeksu pozycji przez scale factor s przed obliczeniem rotacji RoPE. Operacja w pełni deterministyczna.

INOryginalne indeksy pozycji w docelowym oknie [0, L_target-1].
OUTSkompresowane indeksy w zakresie [0, L_pretrain-1], typowo ułamkowe.
Standard PI (Chen et al.)Liniowe pos → pos/s z fine-tuningiem ~1000–5000 kroków.
NTK-aware (alternatywa)Zamiast skalować indeksy, modyfikuje bazę RoPE — działa bez fine-tuningu.
YaRN (następca)NTK-by-parts + temperature attention scaling — wyższa jakość niż PI po fine-tuningu.

Oficjalna

Implementacja

Pułapki implementacyjne
Brak fine-tuningu po włączeniu PIKrytyczna

PI bez douczania daje słabe wyniki — pozycje ułamkowe są dla modelu nowe i jakość wyraźnie spada. NTK-aware działa bez fine-tuningu, PI nie.

Rozwiązanie:Dotrenować model na małym budżecie długich sekwencji (~1000–5000 kroków) zgodnie z przepisem Chen et al. lub użyć NTK-aware jako alternatywy bez fine-tuningu.
Uniformne kompresowanie wysokich częstotliwościŚrednia

PI skaluje wszystkie wymiary RoPE jednakowo, w tym te wysokoczęstotliwościowe kodujące relacje lokalne. To psuje precyzję pozycyjną na krótkich dystansach i jest powodem, dla którego NTK-aware/YaRN dają lepsze wyniki.

Rozwiązanie:Dla maksymalnej jakości long-context preferować YaRN (NTK-by-parts + temperature) lub LongRoPE.
Przejmowanie checkpointu PI z błędnym scale factorem w inferencjiWysoka

Jeśli model dotreniowano z s=4, a w inferencji ustawiony jest s=1 lub s=8, attention rozjeżdża się — pozycje ułamkowe są niespójne z tym, czego model się nauczył.

Rozwiązanie:Zawsze używać `rope_scaling.factor` zgodnego z konfigem oryginalnego checkpointu.

Ewolucja

Oryginalny paper · 2023 · arXiv:2306.15595 (Meta AI / FAIR) · Shouyuan Chen
Extending Context Window of Large Language Models via Positional Interpolation
Shouyuan Chen, Sherman Wong, Liangjian Chen, Yuandong Tian
2021
RoPE (Su et al.) — fundament

Rotary Position Embeddings — kodowanie pozycji przez rotację par wymiarów. Wszystkie późniejsze metody ekstensji kontekstu modyfikują działanie RoPE.

2023
kaiokendev — wstępna intuicja PI w blogu „SuperHOT"

Niezależnie i nieco wcześniej blogger kaiokendev publikuje „SuperHOT" — proste obniżanie częstotliwości RoPE, by Llama działała na 8k. Praca Chen et al. cytuje tę intuicję jako równoległą inspirację.

2023
Position Interpolation — paper Meta
Punkt przełomowy

Chen, Wong, Chen, Tian (Meta AI) publikują PI (arXiv:2306.15595). Formalizują ideę liniowego skalowania pozycji + krótkiego fine-tuningu, pokazują dobrą jakość do 32k tokenów. To pierwsza akademicka praca o „cheap context extension" — wywołuje lawinę kolejnych metod.

2023
NTK-aware Interpolation — odpowiedź społeczności

Reddit user bloc97 proponuje NTK-aware: modyfikacja BAZY RoPE (a nie indeksów), działa BEZ fine-tuningu. Pierwsze ulepszenie PI — pokazuje, że PI nie wykorzystuje pełnego potencjału RoPE.

2023
YaRN — NTK-by-parts + temperature

Peng et al. łączą NTK-by-parts (per-pasmo) ze skalowaniem temperatury attention. Wymaga krótkiego fine-tuningu, ale daje wyższą jakość niż PI i NTK-aware. Staje się standardem 64k–128k.

2024
LongRoPE — 2M+ tokenów przez search ewolucyjny

Microsoft pokazuje, że ręczne wzory (PI, NTK-aware, YaRN) można przekroczyć ewolucyjnym wyszukiwaniem niejednorodnych współczynników per wymiar i per pozycja, osiągając >2M tokenów.

Hiperparametry (konfigurowalne osie)

Scale factor (s)Krytyczna

Stosunek docelowej długości kontekstu do długości pretreningu. Im większe s, tym mocniejsza kompresja pozycji i tym ważniejsze douczanie. Praca Chen et al. raportuje dobrą jakość do s=16, przyzwoitą do s=32.

22k → 4k (minimalny fine-tune)
42k → 8k (typowa konfiguracja Llama-1 long)
82k → 16k
162k → 32k (granica dobrej jakości w pracy)
Fine-tune stepsWysoka

Liczba kroków douczania na długich sekwencjach po zastosowaniu PI. Chen et al. raportują ~1000 kroków dla 2k→8k oraz ~5000 dla 2k→32k.

Fine-tune corpusŚrednia

Zbiór długich tekstów używany do douczania. Praca używa PG-19 (książki) i mieszanki kodu/dialogu — domena wpływa na jakość transferu.

Złożoność obliczeniowa

Złożoność czasowa: O(1) narzut na obliczenie pos' = pos/s; O(T²·d) attention bez zmian. Złożoność przestrzenna: O(1) dodatkowych parametrów.

Wąskie gardło obliczeniowe

Brak własnego — koszt dominują attention i KV cache long-context

PI nie wprowadza realnego bottlenecka. Główne ograniczenia long-context inference (attention O(T²·d), pamięć KV cache) są identyczne jak w bazowym RoPE-Transformerze. Jedyny dodatkowy koszt to krótki fine-tune po włączeniu PI.

Zależy od
sequence length Tscale factor s

Paradygmat wykonania

Tryb główny
Gęsty

PI to czysto deterministyczna modyfikacja kodowania pozycji w gęstym RoPE-Transformerze. Brak routingu i warunkowej aktywacji.

Wzorzec aktywacji
Wszystkie ścieżki aktywne

Równoległość

Poziom równoległości
W pełni równoległy

Modyfikacja sprowadza się do podzielenia indeksu pozycji przez scale factor s przed wejściem do RoPE — operacja skalarna, bez wpływu na strukturę równoległą Transformera.

Zakres
TreningInferencjaPomiędzy tokenami

Wymagania sprzętowe

Podstawowe

PI to dzielenie indeksu przez stałą — operacja niezależna od hardware. Działa wszędzie, gdzie działa standardowy RoPE-Transformer.

Dobry fit

Fine-tuning po PI to standardowy trening LLM — dobrze skaluje się na klastrach GPU z FlashAttention. Inferencja long-context typowo korzysta z PagedAttention.