Robocikowo>ROBOCIKOWO
Architektura

RPR

2018AktywnyOpublikowano: 9 czerwca 2026Aktualizacja: 9 czerwca 2026Opublikowany
Relative Position Representations (Shaw et al., 2018) to mechanizm kodowania pozycji wbudowany bezpośrednio w self-attention. Każdej parze (query, key) odpowiada uczony wektor zależny od ich odległości względnej i przycięty do maksymalnego okna ±k. Fundament późniejszych prac: Transformer-XL, T5 i — pośrednio — RoPE oraz ALiBi.
Kluczowa innowacja
Przenosi informację o pozycji z wejścia modelu DO WNĘTRZA mechanizmu attention, jako uczone reprezentacje odległości WZGLĘDNYCH między query a key (przycięte do okna ±k) — zamiast dodawać absolutne kodowanie pozycji do embeddingu wejściowego.
Kategoria
Architektura
Poziom abstrakcji
Building block
Poziom operacji
ModelElement architekturyTreningInferencja
Zastosowania
Maszynowe tłumaczenie (oryginalny eksperyment Shaw et al. na WMT 2014 En-De/En-Fr)Transformer-XL (Dai et al., 2019) — segment-recurrence z relatywnym PET5 (Raffel et al., 2020) — uproszczony bucketowy bias relatywny per głowaMusic Transformer (Huang et al., 2018) — efektywna implementacja RPR dla długich sekwencji muzycznychModele dialogowe i kodowe, dla których struktura względna jest istotniejsza niż pozycja absolutna

Jak działa

Klasyczne self-attention liczy score_ij = (W_Q x_i)·(W_K x_j) / √d. RPR rozszerza tę formułę o uczone reprezentacje pozycji względnej: score_ij = (W_Q x_i)·(W_K x_j + a^K_{i-j}) / √d, a wyjście attention dostaje analogiczny człon: out_i = Σ_j softmax(score)_ij · (W_V x_j + a^V_{i-j}). Tabele a^K i a^V są małe — zawierają (2k+1) wektorów odpowiadających odległościom względnym przyciętym do zakresu [-k, +k]. Wszystkie odległości |i-j| > k są mapowane na klipowaną wartość ±k, więc model widzi „daleko / bardzo daleko" jako pojedynczą kategorię. Pozycje absolutne NIE są dodawane do embeddingu wejściowego — informacja o pozycji żyje wyłącznie w blokach attention. Każda warstwa może mieć osobne tabele a^K, a^V lub współdzielić je między warstwami (oba warianty są przebadane w pracy).

Rozwiązany problem

Absolutne kodowania pozycji (sinusoidal, learned PE) modelują „pozycję jako numer", co jest nienaturalne dla wielu zadań językowych — gramatyka i znaczenie zależą od odległości między słowami, a nie od ich numerycznej pozycji w zdaniu. RPR pokazuje, że jawne modelowanie relacji „dwa tokeny dalej w lewo" daje istotnie lepsze wyniki na tłumaczeniu maszynowym (WMT En→De/En→Fr) niż klasyczne absolutne PE — bez dodatkowych parametrów typu PE w wejściu.

Komponenty

Relative Key Bias (a^K)Modyfikator macierzy podobieństwa Query-Key w attention

Mała tabela (2k+1) × d_z uczonych wektorów, indeksowana odległością względną przyciętą do [-k, +k]. Dodawana do projekcji Key przed iloczynem z Query.

INMacierz indeksów relatywnych clip(i-j, -k, +k) dla każdej pary tokenów.
OUTWektor relatywny per para tokenów (po lookupie z tabeli).
Per-layer a^KKażda warstwa ma własną tabelę a^K — wariant z pracy Shaw et al.
Shared across layersJedna tabela a^K dzielona przez wszystkie warstwy — wariant T5.
T5 scalar bucketed biasSkalarny bias per głowa per bucket logarytmiczny zamiast d-wymiarowego wektora.

Oficjalna

Relative Value Bias (a^V)Modyfikator strumienia Value w attention

Druga, opcjonalna tabela (2k+1) × d_z dodawana do projekcji Value w wyjściu attention. W oryginalnej pracy daje niewielką poprawę; T5 z niej rezygnuje.

INTe same indeksy relatywne co dla a^K.
OUTWektor wartościowy per para tokenów.

Oficjalna

Clipping function clip(i-j, -k, +k)Bramka odległości — definiuje horyzont relatywny modelu

Funkcja mapująca dowolną odległość |i-j| na indeks w zakresie [-k, +k]. Wszystkie odległości spoza tego zakresu są traktowane jednakowo — kluczowa decyzja architektoniczna RPR.

Hard clipping (Shaw et al.)Twarde przycięcie do ±k. Prosty, ale traci informację dla long-context.
Logarithmic bucketing (T5)Bucketowanie logarytmiczne — bliskie odległości mają osobne bucket, dalekie są grupowane w coraz szersze przedziały.

Oficjalna

Implementacja

Pułapki implementacyjne
Naiwna implementacja O(T²·d) pamięciWysoka

Bezpośrednie zbudowanie tensora z wektorami relatywnymi dla każdej pary (i, j) skaluje się jak T²·d, co eksploduje dla długich sekwencji. To historycznie ograniczało RPR do krótkich kontekstów.

Rozwiązanie:Stosować „skewing trick" z Music Transformera lub bucketowy wariant T5, oba redukujące pamięć do O(T·d) lub mniej.
Klipowanie do ±k tracące informację dla long-contextŚrednia

Przy małym k wszystkie odległości > k są nieodróżnialne dla modelu — co dla long-context jest stratą. Zbyt duże k zwiększa parametry i koszt pamięci.

Rozwiązanie:Użyć logarytmicznego bucketowania (T5) lub przejść na RoPE/ALiBi, które dają ciągłe rozróżnianie odległości.
Mieszanie absolutnego PE z RPRNiska

Shaw et al. pokazują, że RPR jest pełnym zamiennikiem absolutnego PE. Łączenie obu nie poprawia wyników i zwiększa parametry.

Rozwiązanie:Wyłączyć absolutne PE w wejściu, gdy używane jest RPR.

Ewolucja

Oryginalny paper · 2018 · NAACL 2018 · Peter Shaw
Self-Attention with Relative Position Representations
Peter Shaw, Jakob Uszkoreit, Ashish Vaswani
2017
Transformer i absolutne PE (Vaswani et al.)

Oryginalny Transformer wprowadza absolutne sinusoidalne / learned PE. Pozostaje pytanie: czy względna pozycja modelowana jest wystarczająco efektywnie?

2018
Shaw et al. — Relative Position Representations
Punkt przełomowy

Shaw, Uszkoreit, Vaswani publikują RPR na NAACL 2018. Pokazują, że jawne modelowanie odległości względnej w attention bije absolutne PE na WMT 2014 i może zastąpić PE w wejściu modelu.

2018
Music Transformer — skewing trick

Huang et al. (Google Brain) implementują RPR efektywnie dla bardzo długich sekwencji muzycznych dzięki sztuczce „skewing", która redukuje pamięć z O(T²·d) do O(T·d).

2019
Transformer-XL — relative PE + segment recurrence

Dai et al. łączą relatywne PE (wariant rozwijający RPR) z rekurencją między segmentami, dzięki czemu Transformer może utrzymać spójność na sekwencjach znacznie dłuższych niż pojedyncze okno attention.

2020
T5 — uproszczony bias relatywny per głowa

T5 (Raffel et al., Google) wprowadza znacznie uproszczony wariant RPR: skalarny bias per głowa per bucket, z 32 bucketami logarytmicznymi. Współdzielony między warstwami. To rozwiązanie staje się popularne w encoder-decoder LLM.

2021
RoPE i ALiBi — kolejne kroki w stronę relatywnego PE

RoPE (Su et al.) i ALiBi (Press et al.) idealizują pomysł RPR w innym kierunku: zamiast uczonych wektorów relatywnych używają deterministycznej funkcji odległości (rotacja vs liniowy bias). Oba dziedziczą po RPR centralną intuicję: „liczy się odległość, nie pozycja absolutna".

Hiperparametry (konfigurowalne osie)

Max relative distance (k)Krytyczna

Maksymalna odległość względna, dla której uczone są osobne wektory. Wszystkie pozycje dalsze niż k są klipowane do ±k. W oryginalnej pracy najlepsze wyniki dla k = 16; T5 używa wariantu z 32 bucketami logarytmicznymi.

8Krótki kontekst lokalny
16Optymalna wartość w Shaw et al. 2018
32 (bucketów)Wariant T5 z logarytmicznym bucketowaniem
64+Niektóre późniejsze warianty dla długich sekwencji
Include relative bias in V (a^V)Średnia

Czy modyfikować również strumień Value (a^V), czy tylko Key (a^K). Shaw et al. raportują niewielkie zyski z dodania a^V — T5 i część późniejszych prac z tego rezygnuje.

Share tables across layersWysoka

Czy tabele a^K/a^V są dzielone między warstwami (jak w T5) czy osobne per warstwa (jak w wariancie Shaw et al.). Sharing redukuje liczbę parametrów wielokrotnie bez wyraźnej utraty jakości.

Per-head relative biasWysoka

T5 redukuje RPR do skalarnego biasu per głowa per bucket (zamiast wektora d-wymiarowego). Każda głowa attention dostaje własną „mapę" jak rozkładać uwagę po dystansach.

Złożoność obliczeniowa

Złożoność czasowa: O(T² · d) dla score + a^K (jak vanilla attention, ze stałym narzutem). Złożoność przestrzenna: O((2k+1) · d) parametrów; O(T² · d) aktywacji w naiwnej impl., O(T · d) ze skewing trickiem.

Wąskie gardło obliczeniowe

Pamięć aktywacji macierzy relatywnej

Naiwna implementacja musi zmaterializować tensor [T, T, d_z] z wektorami relatywnymi, co dla dużego T eksploduje pamięciowo. To główne ograniczenie RPR przed pojawieniem się T5/skewing tricka.

Zależy od
sequence length Td_z (head dim) i num_heads

Paradygmat wykonania

Tryb główny
Gęsty

RPR modyfikuje wyłącznie obliczenia gęstego attention — brak routingu i brak warunkowej aktywacji.

Wzorzec aktywacji
Wszystkie ścieżki aktywne

Równoległość

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

Dodatkowe wektory a^K, a^V wchodzą w tę samą równoległą strukturę co standardowe attention. Oryginalna implementacja RPR ma narzut O(T²·d) na obliczenie macierzy z relatywnymi wektorami — Music Transformer wprowadza wariant „skewing trick", który redukuje pamięć do O(T·d) bez utraty równoległości.

Zakres
TreningInferencjaPomiędzy tokenamiPomiędzy warstwami

Wymagania sprzętowe

Podstawowe

RPR to czysto algorytmiczna modyfikacja attention — lookup w małej tabeli + dodawanie. Brak wymagań sprzętowych poza typowym akceleratorem.

Dobry fit

Dobrze współpracuje z optymalizowanymi kernelami attention (np. wariant T5 z biasem skalarnym fuzowany w FlashAttention dla T5-like modeli).