Hoe verwerkt een llm context context window?

Werking van het context window

Het context window bepaalt hoeveel tekst een LLM in één keer kan 'zien'. Het wordt uitgedrukt in tokens, niet in woorden of karakters. Een token is ongeveer 0,75 woord in het Engels, maar dit varieert per taal en tokenizer. Het context window omvat zowel de invoer (prompt) als de uitvoer (gegenereerde tekst). Als een gesprek of document langer is dan het context window, moet het worden opgesplitst of samengevat, anders verliest het model informatie. Tijdens de inferentie gebruikt het model self-attention om relaties te leggen tussen alle tokens in het context window. De attention-matrix groeit kwadratisch met de lengte van de sequentie, wat betekent dat een verdubbeling van het context window vier keer zoveel rekenkracht en geheugen vereist. Dit is een fundamentele beperking. Moderne LLM's hebben context windows van 8.000 tot 128.000 tokens, en sommige modellen halen zelfs 1 miljoen tokens. Langere context windows maken het mogelijk om hele boeken of grote codebases te verwerken, maar de effectiviteit neemt vaak af naarmate de context langer wordt. Het model kan belangrijke informatie in het midden van een lange context vergeten, een fenomeen dat 'lost in the middle' wordt genoemd.

Uitdagingen en technieken

Het effectief benutten van een groot context window is een actief onderzoeksgebied. Een van de grootste uitdagingen is dat aandachtmechanismen kwadratisch schalen met de sequentielengte. Dit leidt tot hoge kosten in termen van geheugen en compute. Technieken zoals sparse attention, sliding window attention en FlashAttention proberen dit te mitigeren. Een andere uitdaging is dat modellen niet altijd even goed omgaan met informatie die verspreid is over een lange context. Ze kunnen relevante details missen of prioriteit geven aan recente of vroege tokens. Om dit te verhelpen worden technieken gebruikt zoals retrieval-augmented generation (RAG), waarbij relevante stukken tekst worden opgehaald en in het context window geplaatst. Ook context compression en summarization kunnen helpen. Sommige modellen gebruiken positionele encoderingen zoals RoPE (Rotary Position Embedding) om betere generalisatie naar langere sequenties mogelijk te maken. Het beheren van het context window is cruciaal voor toepassingen zoals chatbots, documentanalyse en code-assistentie. Het bepaalt in grote mate de bruikbaarheid en kosten van een LLM-toepassing.

Dit toepassen in
jouw bedrijf?

We vertalen het naar jouw processen en laten binnen een week een werkend prototype zien.