Gå til indhold
atlas

Kontekstvindue

Også kendt som: kontekstlængde

Den største mængde tekst, målt i tokens, som en sprogmodel kan tage ind og have for øje på én gang, inklusive sit eget svar.

Kladde - dette opslag er endnu ikke gennemgået.

Formelt

Den faste grænse for, hvor mange tokens en sprogmodel kan håndtere på én gang; prompten, tidligere dele af samtalen, tilføjede dokumenter og svaret skal alle være inden for den.

Forklaret enkelt

Som størrelsen på et skrivebord - alt, modellen arbejder med, skal kunne ligge på det, og når det er fuldt, må noget ryddes væk for at gøre plads.

I praksis

En medarbejder i en region arbejder med en AI-assistent en hel eftermiddag; den begynder at ignorere de formatregler, den fik i starten, fordi chat-appen har skåret de ældste beskeder fra for at holde resten inden for kontekstvinduet.

Hvorfor det betyder noget

Det begrænser, hvor meget en model kan tage højde for i ét svar, og alt, hvad der ligger i vinduet - også tekst fra en fil, ingen har tjekket - påvirker svaret.

Teknisk uddybning

Kontekstvinduet er den maksimale sekvenslængde, målt i tokens, som en transformer beregner attention over i ét forward pass. Input og output deler samme budget: En model med et vindue på 200.000 tokens, der bedes om op til 8.000 output-tokens, kan højst modtage 192.000 tokens input, og API'er afviser eller afkorter kald, der overskrider grænsen. Alt tæller med - systemprompt, værktøjsdefinitioner, tidligere beskeder, hentede dokumenter, billeder omsat til tokens og, for ræsonnementsmodeller, de skjulte ræsonnements-tokens, der genereres i den aktuelle tur.

Grænsen har tre tekniske årsager. Self-attention sammenligner hvert token med alle andre, så naivt regnearbejde og hukommelse vokser kvadratisk med sekvenslængden; kerner som FlashAttention (Dao m.fl., 2022) reducerer hukommelsestrafikken, men ikke det kvadratiske regnearbejde. Positionsinformationen skal kunne generalisere: Modeller med rotary position embeddings (RoPE) eller ALiBi fortrænes typisk på kortere sekvenser og udvides derefter med fortsat træning på lange dokumenter kombineret med omskalering af positionsfrekvenserne. Endelig gemmer KV-cachen under generering en key- og en value-vektor pr. token, pr. lag og pr. KV-hoved, så den vokser lineært med kontekstlængden og fylder ofte mest i GPU-hukommelsen; grouped-query attention og kvantisering af cachen findes i høj grad for at gøre den mindre.

Annonceret længde og brugbar længde er ikke det samme. Liu m.fl. ("Lost in the Middle", 2023) viste, at præcisionen ved spørgsmål over flere dokumenter falder, når det relevante afsnit ligger midt i en lang kontekst frem for i starten eller slutningen, og syntetiske benchmarks som RULER finder, at mange modellers effektive kontekst ligger et godt stykke under det nominelle tal, så snart opgaven kræver mere end at finde én enkelt nål. Anthropic kalder den generelle effekt context rot: Genkaldelsen forringes, jo flere tokens der er. Mere kontekst er altså ikke gratis, selv når den kan være der.

Applikationer styrer vinduet aktivt. Chatfladerne smider eller opsummerer de ældste beskeder (fejlen i eksemplet for dette begreb), agenter komprimerer lange forløb til sammendrag eller flytter noter ud i ekstern hukommelse, og RAG-systemer indsætter kun de højest rangerede bidder. Prompt caching genbruger det beregnede præfiks på tværs af kald for at spare ventetid og penge, men gør ikke vinduet større. Kontekstvinduet er også noget andet end hukommelsesfunktioner, der overlever mellem sessioner: De virker ved at skrive tekst til et lager og sætte den ind i en senere kontekst, så de bruger af samme budget og arver samme risiko for prompt injection som al anden tekst, der lægges der.

Hvad du bør lære først

Alt det, dette bygger på - grundlaget først.

  1. Token
  2. →Kontekstvindue

Relationer

Består af
Prompt
Forudsætter
Token

Kilder og videre læsning

Standarder og officielle tekster

  • NIST AI 600-1 - Artificial Intelligence Risk Management Framework, Generative AI Profile · NIST

Opslagsværker

  • Vaswani et al. (2017), Attention Is All You Need

Hvor dataene kommer fra

Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.

Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON

Nævnt i

Test dig selv

Indlæser…

Atlas er i beta.