Schuifvenster-attentie: hoe AI-taalmodellen lange teksten betaalbaar verwerken
Stel je voor dat je een heel dik boek moet lezen, maar dat je alleen door een klein kijkgaatje mag kijken dat steeds een stukje meeschuift over de bladzijde. Je ziet nooit de hele pagina tegelijk, alleen de woorden vlak om je huidige positie. Dat is in essentie wat schuifvenster-attentie (in het Engels: sliding window attention) doet in moderne AI-taalmodellen zoals de systemen achter chatbots en tekstgeneratoren: elk woord "kijkt" alleen naar een beperkt aantal naburige woorden in plaats van naar de hele tekst.
Deze techniek bestaat omdat taalmodellen normaal gesproken elk woord met elk ander woord in een tekst vergelijken om te bepalen wat relevant is — een proces dat "attentie" heet. Bij lange teksten wordt dat rekenkundig peperduur: de hoeveelheid rekenwerk groeit kwadratisch met de lengte van de tekst. Schuifvenster-attentie beperkt elk woord tot een vast "venster" van bijvoorbeeld enkele duizenden omliggende woorden, waardoor modellen veel langere documenten kunnen verwerken zonder dat de kosten en het geheugengebruik uit de hand lopen.
Wat is het precies?
Om schuifvenster-attentie te begrijpen, helpt het om eerst te weten wat gewone attentie doet. De meeste huidige taalmodellen zijn gebouwd op de zogeheten transformer-architectuur. Binnen zo'n model berekent het systeem voor elk woord (technisch: elk "token", een stukje tekst zo groot als een woord of woorddeel) hoe relevant elk ander woord in de tekst is. Dat gebeurt via een wiskundige bewerking die "attentie" heet.
Bij een tekst van bijvoorbeeld 10.000 tokens betekent dit 10.000 keer 10.000 vergelijkingen: honderd miljoen berekeningen, alleen al voor die ene laag van het model. Verdubbel de tekstlengte en de rekenlast verviervoudigt. Dit heet kwadratische complexiteit en is al decennialang een bekende bottleneck.
Schuifvenster-attentie lost dit op door elk token slechts te laten kijken naar een vast aantal directe buren, bijvoorbeeld de 4.096 voorgaande tokens, in plaats van naar de volledige tekst. Het "venster" schuift mee terwijl het model de tekst doorwerkt: token nummer 5.000 kijkt naar tokens 908 tot en met 5.000, token 5.001 kijkt naar 909 tot en met 5.001, enzovoort. Hierdoor groeit de rekenlast niet meer kwadratisch maar lineair met de tekstlengte, wat een enorme besparing oplevert bij lange documenten.
Een belangrijke vraag is dan: verliest het model zo niet het overzicht over informatie die verder terug in de tekst staat? Deels wel, maar transformer-modellen bestaan uit tientallen op elkaar gestapelde lagen. Doordat elke laag opnieuw een venster toepast, kan informatie via meerdere lagen indirect toch verder reizen dan het venster van één laag — een beetje zoals een boodschap die van persoon tot persoon wordt doorgefluisterd in een rij. Sommige varianten, zoals het model Longformer, voegen daarnaast een klein aantal "globale" tokens toe die wél naar de hele tekst mogen kijken, als een soort aandachtspunten die overzicht houden.
Wat wil men ermee bereiken?
Het hoofddoel is simpel: taalmodellen in staat stellen om lange teksten te lezen en te begrijpen zonder dat de rekenkosten explosief stijgen. Denk aan het analyseren van hele boeken, juridische dossiers, softwarecode of lange gespreksgeschiedenissen. Zonder trucs zoals schuifvenster-attentie zou het verwerken van zulke lange teksten enorme hoeveelheden geheugen en rekenkracht vergen, wat het gebruik traag en kostbaar maakt.
Daarnaast speelt een economisch motief: bedrijven willen taalmodellen aanbieden die betaalbaar draaien, ook bij lange invoer. Efficiëntere attentie betekent minder dure computerchips nodig, snellere antwoorden en lagere energiekosten. Dat is een van de redenen waarom kleinere, efficiëntere modellen — die met beperktere middelen toch lange teksten aankunnen — de laatste jaren veel aandacht hebben gekregen, als tegenhanger van steeds groter wordende modellen.
Ten slotte hoort schuifvenster-attentie bij een bredere zoektocht in het onderzoeksveld naar "efficiënte attentie": technieken die de kwadratische complexiteit van transformers omzeilen, zonder al te veel in te leveren op kwaliteit. Andere voorbeelden uit die familie zijn schaarse (sparse) attentiepatronen en methoden die attentie benaderen in plaats van exact te berekenen.
Voorbeelden uit de praktijk
Longformer (2020) van het Allen Institute for AI, ontwikkeld door onderzoekers waaronder Iz Beltagy, was een van de eerste bekende modellen die schuifvenster-attentie combineerde met een beperkt aantal globale aandachtspunten. Het werd gebruikt voor taken met lange documenten, zoals het beantwoorden van vragen over hele wetenschappelijke artikelen.
BigBird (2020), ontwikkeld door onderzoekers van Google Research, bouwde hierop voort met een combinatie van lokale (schuifvenster), globale en willekeurige attentiepatronen, en werd onder meer ingezet voor genoomanalyse naast taalverwerking.
Mistral 7B (2023), van het Franse bedrijf Mistral AI, is een van de bekendste recente taalmodellen die schuifvenster-attentie gebruikt, met een venstergrootte van 4.096 tokens. Het model combineert dit met een "rolling buffer cache", een geheugentruc waarmee oudere, buiten het venster vallende informatie efficiënt wordt weggegooid uit het werkgeheugen.
Mixtral 8x7B (eind 2023), eveneens van Mistral AI, past dezelfde schuifvenster-aanpak toe binnen een zogeheten "mixture of experts"-architectuur, waarbij het model per token slechts een deel van zijn totale netwerk activeert.
Gemma 2 (2024) van Google DeepMind wisselt lagen met lokale schuifvenster-attentie af met lagen die wél de volledige tekst zien, als compromis tussen efficiëntie en het behouden van overzicht over lange afstanden in de tekst.
Hoe ver is de techniek?
Schuifvenster-attentie is inmiddels een bewezen, in productie gebruikte techniek: het zit in publiek beschikbare, veelgebruikte modellen en is geen experimenteel prototype meer. De basisidee dateert van rond 2020 en is sindsdien op verschillende manieren verfijnd en gecombineerd met andere trucs.
Toch is het niet de enige, laat staan de dominante, oplossing voor lange contexten. Veel toonaangevende modellen, waaronder de nieuwste generaties van grote commerciële taalmodellen, gebruiken andere of aanvullende technieken om lange teksten te verwerken, zoals aangepaste positie-coderingen (bijvoorbeeld RoPE of ALiBi) of geoptimaliseerde volledige attentie via slimme software zoals FlashAttention, die attentie sneller en geheugenzuiniger berekent zonder het venster te beperken. Bij veel gesloten, commerciële modellen is bovendien niet publiek bekend welke exacte combinatie van technieken wordt gebruikt, wat het lastig maakt om in algemene zin te zeggen "hoe ver" de techniek precies is binnen de industrie als geheel.
Een blijvend punt van discussie is de afweging tussen efficiëntie en nauwkeurigheid: een venster dat te klein is, kan ervoor zorgen dat een model verbanden mist tussen delen van de tekst die ver uit elkaar liggen, ook al helpt het stapelen van lagen daarbij. Onderzoek naar de juiste venstergrootte, naar slimmere combinaties met globale aandacht, en naar volledig andere architecturen (zoals modellen zonder klassieke attentie, bijvoorbeeld op basis van "state space models") loopt nog volop door.
Wie werken eraan?
Het onderzoek naar schuifvenster-attentie en verwante efficiënte-attentietechnieken is breed verspreid over zowel bedrijven als academische instellingen. Mistral AI (Frankrijk) heeft de techniek prominent toegepast in zijn open modellen. Google en Google DeepMind hebben met BigBird en Gemma 2 belangrijke bijdragen geleverd. Het Allen Institute for AI (AI2) in Seattle, met Longformer, geldt als een van de pioniers op dit specifieke gebied.
Daarnaast werken grote spelers als Meta AI, OpenAI en Anthropic aan het efficiënter verwerken van lange context, al is niet altijd publiek gemaakt welke exacte technieken zij daarvoor inzetten. Ook talloze universiteiten en onderzoeksgroepen wereldwijd, vaak gepubliceerd via het open preprint-platform arXiv, dragen bij aan verbeteringen op dit gebied, van nieuwe venstervarianten tot geheel andere benaderingen van efficiënte attentie.