Teknisk GUIDE

YaRN och Context Length Extension

YARN (Yet another RoPE Extension) är en effektiv teknik för att sträcka ut en modells användbara sammanhangsfönster långt utöver vad den tränades på.

2 min readSenast uppdaterad

Översikt

It cleverly rescales rotary position embeddings so a model trained on, say, 4K tokens can handle 32K or more with minimal fine-tuning.

Djupdykning

De flesta moderna LLM:er kodar tokenpositioner med RoPE (Rotary Position Embeddings), som roterar fråge- och nyckelvektorer med vinklar knutna till position. När du matar sekvenser längre än träningslängden kommer dessa rotationer in i osynliga intervall och modellen går sönder. YaRN, som introducerades 2023 av Bowen Peng och medarbetare, fixar detta med NTK-medveten interpolering som tillämpas per frekvens: den lämnar högfrekventa dimensioner (som fångar lokala kortdistansförhållanden) mestadels orörda samtidigt som lågfrekventa dimensioner interpoleras (som spårar långdistansposition). YaRN lägger också till en temperaturjustering för att motverka de entropiförändringar som kommer från längre sammanhang. Resultatet är stark prestanda i långa sammanhang efter finjustering av endast en liten bråkdel av de data och steg som naiva tillvägagångssätt kräver.

Teknisk insikt

RoPE tilldelar varje inbäddningsdimension en rotationsfrekvens. Naiv linjär interpolation komprimerar alla frekvenser lika, vilket skadar högfrekventa dimensioner som kodar för fina lokala detaljer. YaRN använder en rampfunktion för att endast interpolera de lågfrekventa (långvåglängds) dimensionerna samtidigt som de behåller högfrekventa, plus en 1/sqrt(t) uppmärksamhetstemperaturskalning som håller softmax-skärpan stabil när sekvenslängden växer. Denna NTK-för-delar-strategi utökar sammanhanget med mycket mindre försämring.

Strategisk inverkan

Cost and budget

Arkitekturbeslut driver prestanda och driftskostnader i flera år.

Clearer decisions

Teknisk utbildning hjälper team att välja rätt stack, inte bara den nyaste.

Quality control

Bättre tekniska val minskar tillförlitlighetsincidenter i produktionen.

Framtiden för YaRN och Context Length Extension

Kontextförlängning är nu standardpraxis: öppna modeller skickar rutinmässigt YaRN-förlängda varianter som når 128 000 tokens eller mer. Forskning går mot metoder som utökar sammanhanget med noll eller nästan noll finjustering, kombinerar RoPE-omskalning med uppmärksamhetsmönstertrick och upprätthåller kvalitet över hela fönstret snarare än bara ändarna. Förvänta dig en stramare integrering av dessa tekniker i förträning så länge sammanhanget är inbyggt snarare än eftermonterat.

Real-World Implementation

Utöka en öppen 4K-kontextmodell till 32K eller 128K för svar på långa dokumentfrågor med kort finjustering

Möjliggör återvinningsförstärkta system att inta många sammanlänkade passager utan trunkering

Drivkodassistenter som behöver en hel stor förvarsfil eller flera filer i en prompt

Anpassa en basmodell för långa konversationer i flera svängar som samlar på sig stora chatthistoriker

Risker & skyddsräcken

Att optimera ett riktmärke kan dölja bredare systemsvagheter.

Infrastruktur- och underhållskostnader underskattas ofta.

Säkerhets- och observerbarhetsluckor kan växa i takt med att systemen blir mer komplexa.

Färdplan för genomförande

1

Definiera latens-, kvalitet- och kostnadsmål före implementering.

2

Benchmark under realistiska belastnings- och dataförhållanden.

3

Instrumentövervakning för fel, drift och användarpåverkan.

4

Förbered återställnings- och incidentsvarsvägar innan skalning.

Fortsätt utforska

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 YaRN and Context Length Extension quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Starta frågesport

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Next guide

Positionsinterpolation för kontextförlängning

Frequently asked questions

What is YaRN and Context Length Extension?

YARN (Yet another RoPE Extension) är en effektiv teknik för att sträcka ut en modells användbara sammanhangsfönster långt utöver vad den tränades på. Den skalar om på ett smart sätt roterande positionsinbäddningar så att en modell tränad på t.ex. 4K-tokens kan hantera 32K eller mer med minimal finjustering.

Vilken positionskodningsmetod ändrar YaRN för att utöka kontexten?

YaRN, vars namn betyder Ännu en RoPE-förlängning, skalar om de roterande positionsinbäddningar som används i de flesta moderna LLM:er.

Vad går fel när en RoPE-modell ser sekvenser längre än sin träningslängd?

Positioner bortom träning ger rotationsvinklar som modellen aldrig såg, så uppmärksamhetsbeteendet försämras kraftigt.

Hur behandlar YaRN olika RoPE-frekvensdimensioner?

YaRN använder en NTK-by-parts ramp som interpolerar lågfrekventa dimningar med långa våglängder och lämnar högfrekventa dimningar med kort räckvidd för det mesta intakta.

Förutom omskalning av frekvenser, vilken extra justering gör YaRN?

YaRN lägger till en temperaturskalning till uppmärksamhetslogiter för att motverka entropiförskjutningar som uppstår när sammanhanget växer.

Vad är en viktig praktisk fördel med YaRN framför naiv interpolation?

YaRN uppnår stark långkontextkvalitet efter finjustering på en liten bråkdel av de datanaiva metoder som kräver.