Er zijn echter veel goede bronnen die de transformatorarchitectuur online uitleggen Inbedding van speelpositie (RoPE) wordt vaak slecht uitgelegd of helemaal overgeslagen.
RoPE werd voor het eerst geïntroduceerd in het artikel RoFormer: Enhanced Transformer with Rotary Position Embedding, en hoewel de betrokken wiskundige bewerkingen relatief eenvoudig zijn – vooral matrixrotatie en matrixvermenigvuldiging – ligt de echte uitdaging in het begrijpen van de intuïtie achter hoe het werkt. Ik zal proberen een manier te bieden om het effect ervan op vectoren te visualiseren en uit te leggen waarom deze aanpak zo effectief is.
Ik neem aan dat je in dit bericht een basiskennis hebt van transformatoren en aandachtsmechanismen.
Snaarintuïtie
Omdat transformatoren regelmaat en afstandsbegrip ontberen, ontwikkelden onderzoekers positionele inbedding. Dit is wat positie-inbedding zou moeten bereiken:
- Tokens die dichter bij elkaar staan, moeten een hoger gewicht hebben, terwijl tokens die verder weg staan een lager gewicht moeten hebben.
- De positie in een reeks doet er niet toe. Als twee woorden bijvoorbeeld dicht bij elkaar staan, moeten ze meer gewicht aan elkaar krijgen, ongeacht of ze aan het begin of aan het einde van een lange reeks voorkomen.
- Om deze doelen te bereiken, relatieve positie-inbedding veel nuttiger dan het inbedden van absolute posities.
Belangrijkste inzichten: LLM zou zich moeten concentreren op de relatieve positie tussen twee tokens, wat heel belangrijk is om op te letten.
Als u deze concepten begrijpt, bent u al halverwege.
Vóór touw
De oorspronkelijke positionele inbedding van het baanbrekende artikel Attention is All You Need wordt bepaald door vergelijkingen in gesloten vorm en vervolgens toegevoegd aan de semantische inbedding. Het mixen van positionele en semantische signalen in een verborgen staat is geen goed idee. Later onderzoek bevestigde dat LLM posities onthoudt (overfits) in plaats van generaliseert, wat leidt tot snel verval wanneer de reekslengte de trainingsgegevens overschrijdt. Maar het gebruik van formules in gesloten vorm is zinvol; het stelt ons in staat ze oneindig uit te breiden, en RoPE doet iets soortgelijks.
Eén strategie die succesvol bleek bij het vroege deep learning was: als je niet zeker weet hoe je nuttige functies voor een neuraal netwerk moet berekenen, laat het netwerk dan zelf leren! Dat is wat modellen als GPT-3 doen: ze leren hun eigen positionele inbedding. Het geven van te veel vrijheid vergroot echter het risico van overfitting en creëert in dit geval harde grenzen voor het contextvenster (je kunt het niet uitbreiden buiten het getrainde contextvenster).
De beste aanpak is gericht op het aanpassen van het aandachtsmechanisme, zodat tokens in de buurt een hoger aandachtsgewicht krijgen, terwijl tokens op afstand een lager gewicht krijgen. Door positionele informatie te isoleren in het aandachtsmechanisme, behoudt het een verborgen toestand en blijft het gefocust op semantiek. Deze technieken proberen vooral slim te modificeren Q En K dus het puntproduct weerspiegelt de nabijheid. Veel kranten proberen verschillende methoden, maar RoPE is degene die het probleem het beste oplost.
Roterende intuïtie
Gemodificeerde band Q En K door er rotatie op toe te passen. Een van de beste eigenschappen van rotatie is dat het vectormodules (grootte) behoudt, die mogelijk semantische informatie bevatten.
Laten q wees de vraagprojectie van het token en k wordt een belangrijke projectie van de ander. Voor tokens die zich dicht bij de tekst bevinden, wordt minimale rotatie toegepast, terwijl tokens op afstand een grotere rotatietransformatie ondergaan.
Stel je twee identieke projectievectoren voor: elke rotatie zal ze verder van elkaar af bewegen. Dat is wat wij willen.
Hier is een situatie die verwarrend kan zijn: als twee projectievectoren al ver uit elkaar liggen, kan rotatie ze dichter bij elkaar brengen. Dat Nee wat willen wij! Ze worden geroteerd omdat ze diep in de tekst staan en dus niet zoveel aandacht mogen krijgen. Waarom werkt dit nog steeds?
- In 2D is er slechts één rotatievlak (
xy). Je kunt alleen met de klok mee of tegen de klok in draaien.
- In 3D zijn er zoveel rotatievlakken, dat het zeer onwaarschijnlijk is dat rotatie twee vectoren dichter bij elkaar zal brengen.
- Moderne modellen werken in zeer hoogdimensionale ruimtes (10k+ afmetingen), waardoor dit steeds onmogelijker wordt.
Onthoud: bij deep learning is waarschijnlijkheid het allerbelangrijkste! Soms is het acceptabel om ongelijk te hebben, zolang de kans klein is.
Rotatiehoek
De rotatiehoek is afhankelijk van twee factoren: m En i. Laten we ze allemaal controleren.
Token absolute positie m
De rotatie neemt toe samen met de absolute positie van het token m toename.
Ik weet wat je denkt: “m is een absolute positie, maar zei je niet dat de relatieve positie het belangrijkst is?”
Hier is de magie: beschouw een 2D-vlak waarin je de ene vector met 𝛼 roteert en de andere vector met β. Het hoekverschil tussen de twee wordt 𝛼-β. De absolute waarden van 𝛼 en β doen er niet toe, het gaat om hun verschil. Dus voor twee tokens in positie m En nrotatie verandert de hoek daartussen proportioneel m-n.

Om het makkelijker te maken, kunnen we denken dat we alleen maar aan het ronddraaien zijn
q(dit is wiskundig nauwkeurig, want het gaat ons om de uiteindelijke afstand, niet om de coördinaten).
Verborgen staatsindex i
In plaats van een uniforme rotatie toe te passen over alle dimensies van verborgen toestanden, verwerkt RoPE twee dimensies tegelijk, waarbij op elk paar verschillende rotatiehoeken worden toegepast. Met andere woorden: het verdeelt een lange vector in paren die in 2D onder verschillende hoeken kunnen worden geroteerd.
We roteren de dimensie van de verborgen toestand anders – een hogere rotatie wanneer i laag (begin van vector) en lager wanneer i hoogte (einde van vector).
Het begrijpen van deze operatie is heel eenvoudig, maar begrijpen waarom we het nodig hebben, vereist verdere uitleg:
- Hierdoor kan het model kiezen wat het moet hebben kortere of langere invloedssfeer.
- Stel je vectoren voor in 3D (
xyz).
- Dat
xEnyas vertegenwoordigt de initiële dimensie (laagi) die een hogere rotatie ondervonden. Tokens worden voornamelijk geprojecteerd opxEnymoet heel dichtbij zijn om met hoge intensiteit aanwezig te zijn.
- Dat
zas, waarihoger, draait minder. Tokens worden voornamelijk geprojecteerd opzkan aanwezig zijn, zelfs als het ver weg is.

xy vliegtuigen. Twee vectoren die informatie voornamelijk coderen in z blijf dichtbij ondanks rotatie (een token dat aanwezig moet zijn, zelfs als de afstand groter is!)
x En y zeer ver uit elkaar liggen (dichtstbijzijnde punten waar de een de ander niet zou moeten opmerken).Deze structuur legt complexe nuances in de menselijke taal vast – best gaaf, toch?
Nogmaals, ik weet wat je denkt: “na te veel rotaties beginnen ze weer dichtbij te komen”.
Dat is waar, maar dit is de reden waarom het nog steeds werkt:
- Wij visualiseren het in 3D, maar het gebeurt eigenlijk in veel hogere dimensies.
- Ook al kwamen sommige dimensies dichterbij, andere dimensies die langzamer roteerden, raakten steeds verder weg. Vandaar het belang van roterende afmetingen onder verschillende hoeken.
- RoPE is niet perfect; vanwege het roterende karakter kunnen lokale maxima optreden. Bekijk de theoretische grafiek van de oorspronkelijke auteur:

Theoretische curven hebben een aantal gekke beperkingen, maar in de praktijk vond ik dat ze zich veel beter gedroegen:

Een idee dat in je opkomt is om de rotatiehoek zo te verkleinen dat de gelijkenis afneemt naarmate de afstand groter wordt. Ik heb clipping toegepast zien worden op andere technieken, maar niet op RoPE.
Houd er rekening mee dat de cosinusgelijkenis de neiging heeft toe te nemen (zij het langzaam) naarmate de afstand voorbij onze basiswaarde groter wordt (later zul je precies zien waar de formule op gebaseerd is). Een eenvoudige oplossing hier is om de basis te vergroten, of dit zelfs door technieken als lokale aandacht of windowing te laten doen.

Kort gezegd: LLM’s leren de invloed van betekenis op de lange en korte termijn over meerdere dimensies heen te projecteren q En k.
Hier zijn enkele echte voorbeelden van afhankelijkheden op de lange en korte termijn:
- LLM verwerkt Python-code waarin initiële transformaties worden toegepast op het dataframe
df. Deze relevante informatie heeft het potentieel om zich op de lange termijn te verspreiden en contextuele investeringen in de downstream-sector te beïnvloedendfteken.
- Bijvoeglijke naamwoorden karakteriseren meestal dingen hier dichtbij zelfstandig naamwoord. In “Mooie bergen strekken zich uit voorbij de vallei”, bijvoeglijk naamwoord Mooi specifiek beschrijft bergNee valleidus dit zal vooral impact hebben op berg inbedden.
Hoekformule
Nu je het concept begrijpt en een sterke intuïtie hebt, is hier de vergelijking. De rotatiehoek wordt bepaald door:
(text{hoek} = m times theta)
(theta = 10.000^{-2(i-1)/d_{model}})
mis de absolute positie van het token
- i ∈ {1, 2, …, d/2} vertegenwoordigt de dimensies van de verborgen toestand, omdat we twee dimensies tegelijk verwerken, hoeven we alleen maar te herhalen
d/2dand.
dmodelis de dimensie van de verborgen staat (bijvoorbeeld 4,096)
Houd er rekening mee dat wanneer:
(i=1 Pijl naar rechts theta=1 quad text{(hoge rotatie)} )
(i=d/2 Pijl naar rechts theta circa 1/10.000 quad text{(lage rotatie)})
Conclusie
- We moeten slimme manieren vinden om kennis in LLM’s op te nemen in plaats van ze alles zelfstandig te laten leren.
- We doen dit door de precieze handelingen te leveren die een neuraal netwerk nodig heeft om gegevens te verwerken – aandacht en convolutie zijn goede voorbeelden.
- Vergelijkingen in gesloten vorm kunnen voor onbepaalde tijd worden uitgebreid omdat u niet elke positionele inbedding hoeft te leren.
- Dit is de reden waarom RoPE een uitstekende flexibiliteit in de sequentielengte biedt.
- De belangrijkste eigenschap: het aandachtsgewicht neemt af naarmate de relatieve afstand groter wordt.
- Dit volgt dezelfde intuïtie als lokale aandacht in een afwisselende aandachtsarchitectuur.


