
Wat is een attention-mechanisme?
Een attention-mechanisme is het onderdeel van een transformer-model dat voor elk token berekent hoeveel elk ander token in de sequentie het zou moeten beïnvloeden. Deze geleerde relevantiescores zijn hoe taalmodellen verwijzingen oplossen, structuur bijhouden, en context gebruiken, en hun kosten zijn wat lange prompts duur maakt. Het idee bleek krachtig genoeg om alleen te staan: het paper "Attention Is All You Need" uit 2017 liet recurrentie en convoluties volledig vallen en zette toch een single-model state of the art van 41,8 BLEU op WMT 2014 Engels-naar-Frans-vertaling neer [1].
De belangrijkste punten
- Attention is de reden dat een LLM "het" kan verbinden met een zelfstandig naamwoord genoemd drie alinea's eerder, of een sluitende accolade kan matchen met de functie waarbij hij hoort.
- De berekening vergelijkt elk token met elk ander token, dus groeien kosten kwadratisch met sequentielengte. Dit is de grondoorzaak van contextvensterlimieten en long-context-prijsstelling.
- Modellen draaien veel attention-"heads" parallel per laag, elk lerend andere relaties: syntax, coreferentie, codestructuur, positionele patronen.
- Attention is niet uniform over een lange context. Content in het midden van een zeer lange prompt krijgt doorgaans minder effectief gewicht, wat directe gevolgen heeft voor hoe je agentcontext ordent.
Hoe het werkt
Voor elk token leidt het model drie vectoren af: een query (waar dit token naar zoekt), een key (wat dit token biedt), en een value (de informatie die het draagt). Het mechanisme scoort elke query tegen elke key, normaliseert die scores naar gewichten die optellen tot één, en produceert een gewogen mix van de values. Een token dat het woord "return" in een codebestand verwerkt, kan zwaar gewicht leggen op de omvattende functiesignatuur en bijna niets op een commentaarblok ver daarboven. De gewichten worden end-to-end geleerd tijdens training; niemand programmeert welke relaties ertoe doen.
Dit draait vele malen parallel. Elke laag heeft meerdere attention-heads, en modellen stapelen tientallen lagen, dus berekent één forward pass duizenden verschillende attention-patronen. Tijdens generatie worden de keys en values van al verwerkte tokens opgeslagen in de KV-cache zodat elk nieuw token alleen verse scores berekent tegen opgeslagen status in plaats van de hele prompt opnieuw te verwerken. Die cache is waarom lange gesprekken zoveel GPU-geheugen verbruiken en waarom prompt-caching-kortingen bestaan.
De kwadratische kosten dwongen echt engineeringwerk af: sliding-window-attention beperkt hoever sommige lagen kijken, sparse- en linear-attention-varianten benaderen de volledige vergelijking, en hybride layouts mengen goedkope lokale lagen met een paar full-context-lagen. Deze trucs zijn hoe aanbieders contextvensters van meer dan een miljoen tokens uitleveren zonder ze onbetaalbaar te prijzen. Googles Gemini 1.5 Pro liet in 2024 zien waar dat engineeringwerk toe leidt, met een standaard venster van 128.000 tokens en tot 1 miljoen tokens in preview, en gerapporteerde succesvolle onderzoekstests bij 10 miljoen tokens [2].
Voorbeeld
Een team voedt een coding-agent een context van 150.000 tokens: systeemprompt bovenaan, twintig bronbestanden in het midden, en het daadwerkelijke bugrapport aan het eind. De agent blijft fixes voorstellen in de verkeerde module. Hun evaltraces laten zien dat het model zich vasthoudt aan bestanden nabij het begin en einde van de prompt terwijl het de relevante module verscholen in het midden veronachtzaamt, een bekende long-context-zwakte. Ze herstructureren contextsamenstelling zodat de falende test, het bugrapport, en de twee meest relevante bestanden naast elkaar nabij het einde zitten, met de rest samengevat. Zelfde model, zelfde takenset, en de fix-locatienauwkeurigheid op hun benchmark springt merkbaar omhoog. Begrijpen waar attention verslechtert, veranderde in een concrete context-engineering-regel.
Veelvoorkomende misvattingen
De verleidelijke fout is attention-gewichten lezen als verklaringen, alsof hoog gewicht op een token bewijst dat het model het "gebruikte" om een antwoord te bereiken. Onderzoek heeft herhaaldelijk aangetoond dat attention-maps onbetrouwbaar zijn als getrouwe verklaringen: gewichten zijn één tussensignaal onder vele, verspreid over duizenden heads, en verschillende gewichtspatronen kunnen identieke outputs produceren. Attention-visualisaties zijn nuttig voor het opbouwen van intuïtie. Om modelgedrag daadwerkelijk te verifiëren, vertrouw op outputniveau-checks en LLM-evals, niet op plaatjes van gewichtsmatrices.
FAQ
Wat is self-attention? Self-attention betekent dat de queries, keys, en values allemaal uit dezelfde sequentie komen, zodat de tekst zichzelf aandacht geeft. Dit is de standaardvorm in LLM's, in tegenstelling tot cross-attention, waar de ene sequentie aandacht geeft aan een andere, gebruikt wanneer een decoder de output van een encoder leest of een model aandacht geeft aan beeldkenmerken.
Waarom maakt attention lange prompts duur? Scoring is paarsgewijs. Een sequentie van n tokens vereist in de orde van n-kwadraat vergelijkingen, dus impliceert een prompt die 10 keer langer is ongeveer 100 keer de attention-rekenkracht bij prefill, plus een KV-cache die lineair groeit en GPU-geheugen bezet voor de levensduur van het verzoek.
Betekenen grotere contextvensters dat het model die hele context goed gebruikt? Nee. Een venster is een harde capaciteitslimiet, geen kwaliteitsgarantie. Effectief gebruik van verre context varieert per model en per positie in de prompt, wat waarom long-context-retrievalbenchmarks bestaan en waarom contextplaatsing een engineeringbeslissing blijft.
Bronnen
- Vaswani et al. "Attention Is All You Need: 41,8 BLEU single-model state of the art op WMT 2014 Engels-naar-Frans." https://arxiv.org/abs/1706.03762. Geraadpleegd augustus 2026.
- Google. "Gemini 1.5 Pro: standaardcontext van 128K, 1 miljoen tokens in preview, onderzoekstests tot 10 miljoen." https://blog.google/technology/ai/google-gemini-next-generation-model-february-2024/. Geraadpleegd augustus 2026.
Related terms
Ready to build your product?

