Vložky s otočnou polohou
Rotary Position Embeddings (RoPE) kóduje, kde každý token sedí v sekvenci otočením svého dotazovacího a klíčového vektoru o úhel úměrný poloze.
Přehled
This elegant trick lets transformers understand relative distances and extend gracefully to longer contexts.
Hluboký ponor
Transformátory nemají vestavěný smysl pro pořádek, takže potřebují nějak doplnit informace o poloze. Dřívější modely přidávaly do vstupů pevné sinusové vektory nebo naučené polohové vnoření. RoPE, navržený Su a kolegy v roce 2021, používá jiný přístup: místo přidání polohového vektoru otáčí dvojice dimenzí v dotazu a klíčové vektory o úhel, který roste s pozicí tokenu. Když model počítá bodový součin mezi dotazem na pozici ma klíčem na pozici n, matematika vyjde, takže výsledek závisí pouze na jejich relativní vzdálenosti m mínus n. To poskytuje skutečné povědomí o relativní poloze, pěkně si hraje s účinnými jádry pozornosti a plynule snižuje pozornost se vzdáleností. RoPE se nyní používá v modelech Llama, Mistral, Qwen a ve většině moderních otevřených modelů.
Technický přehled
RoPE zpracovává rozměry vestavby v párech a na každý pár aplikuje 2D rotaci, přičemž různé páry rotují na různých frekvencích, podobně jako ručičky mnoha hodin tikají různými rychlostmi. Protože rotace o pozici m a následný bodový součin s něčím otočeným pozicí n ponechává pouze úhlový rozdíl, skóre pozornosti se stává funkcí relativní polohy. Vysokofrekvenční páry zachycují jemný místní řád; nízkofrekvenční páry zachycují pozici na dlouhé vzdálenosti. Rozhodující je, že upravuje dotazy a klíče, nikoli hodnoty.
Strategický dopad
Rychlost a měřítko
Jazykové pracovní postupy se mohou pohybovat rychleji, aniž by byla obětována konzistentnost.
Přístup a dosah
Rozšiřuje přístup napříč jazyky a komunikačními styly.
Jasnější rozhodnutí
Týmy mohou strávit více času úsudkem, zatímco automatizace zvládne opakování.
Budoucnost zabudování s otočnou polohou
Mnoho nedávných prací se zaměřuje na roztažení RoPE do kontextů mnohem delších, než na jaké byl model trénován. Techniky jako poziční interpolace, NTK-aware škálování a YaRN upravují rotační frekvence, takže model trénovaný na, řekněme, 4K tokeny zvládne 32K nebo více s lehkým jemným doladěním. Očekávejte, že RoPE zůstane dominantním pozičním schématem s průběžným zpřesňováním své základní frekvence a škálováním pro kontexty milionů tokenů a pokračujícím studiem toho, jak interaguje s chováním pozornosti.
Real-World Implementace
Dávat Llama, Mistral a Qwen modeluje jejich smysl pro pořadí tokenů bez samostatného vkládání pozic
Rozšíření použitelného kontextu modelu z několika tisíc na desítky tisíc tokenů pomocí interpolace nebo YaRN
Pomáhá kódovým modelům sledovat relativní vzdálenosti mezi závorkami, funkcemi a odkazy v dlouhých souborech
Podpora odpovědí na otázky týkající se dlouhého dokumentu tam, kde záleží na relativní pozici mezi otázkou a důkazem
Rizika a zábradlí
Halucinovaná fakta mohou tiše vstupovat do zpráv, podpůrných toků nebo výstupů výzkumu.
Citlivost na výzvy může způsobit nekonzistentní výsledky napříč podobnými požadavky.
Citlivá textová data mohou být vystavena, pokud je řízení přístupu slabé.
Plán implementace
Před zavedením definujte výstupní formát, tón a standardy kvality.
Pozemní reakce s důvěryhodnými zdroji, kdykoli záleží na přesnosti.
Udržujte kontrolní bod lidské kontroly pro vysoce důležité výstupy.
Sledujte vzorce selhání a pravidelně opakujte výzvy nebo pracovní postupy.
Pokračujte v objevování
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Rotary Position Embeddings quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Další průvodce
Zkreslení pozice ALiBi
Často kladené otázky
What is Rotary Position Embeddings?
Rotary Position Embeddings (RoPE) kóduje, kde každý token sedí v sekvenci otočením svého dotazovacího a klíčového vektoru o úhel úměrný poloze. Tento elegantní trik umožňuje transformátorům porozumět relativním vzdálenostem a elegantně se rozšířit do delších kontextů.
Jak RoPE vkládá informace o poloze do transformátoru?
RoPE otáčí vektory dotazu a klíče o úhel úměrný poloze, spíše než přidává samostatný vektor polohy.
Které části výpočtu pozornosti RoPE modifikuje?
RoPE aplikuje své rotace na vektory dotazu a klíče, přičemž vektory hodnot zůstávají nedotčené.
Proč v RoPE rotují různé dimenzní páry na různých frekvencích?
Stejně jako hodinové ručičky tikají různou rychlostí, různé frekvence umožňují některým párům kódovat pořadí krátkého dosahu a jiným polohu dlouhého dosahu.
Jaký je cíl technik, jako je interpolace polohy, škálování s vědomím NTK a YaRN?
Tyto metody mění měřítko rotačních frekvencí RoPE, takže model zvládne mnohem delší kontexty, než je jeho původní délka tréninku.