Aandachtsgewicht: hoe AI leert waar het op moet letten
Stel je voor dat je een zin moet vertalen: "De bank stond aan de rivier, dus we gingen er niet op zitten." Om te snappen dat "bank" hier een oever betekent en geen zitmeubel, moet je woorden die verderop staan ("rivier") laten meewegen bij het interpreteren van een woord dat eerder komt ("bank"). Een aandachtsgewicht (in het Engels: attention weight) is het getal dat een AI-model gebruikt om precies dat te doen: het bepaalt hoeveel "aandacht" het model aan elk ander woord in een zin besteedt wanneer het de betekenis van één woord probeert te begrijpen.
Deze gewichten zijn de bouwstenen van het zogeheten attention-mechanisme, de kerntechniek achter vrijwel alle grote taalmodellen van de afgelopen jaren, van ChatGPT tot Google Gemini. Zonder aandachtsgewichten zou een taalmodel woorden grotendeels los van elkaar moeten verwerken, of in een vaste volgorde, wat het lastig maakt om verbanden te leggen tussen woorden die ver uit elkaar staan. Met aandachtsgewichten kan een model direct "kijken" naar elk ander woord in een tekst, ongeacht de afstand, en zelf bepalen welke woorden relevant zijn.
Wat is het precies?
Een taalmodel zet elk woord (of woorddeel, een zogeheten token) om in een lijst getallen, een vector, die de betekenis van dat woord in cijfers weergeeft. Om te bepalen hoe een woord zich verhoudt tot andere woorden in de zin, berekent het model voor elk woord drie afgeleide vectoren: een query (vraag), een key (sleutel) en een value (waarde).
De query van een woord wordt vergeleken met de key van elk ander woord in de zin. Hoe beter een query en een key bij elkaar passen, hoe hoger de uitkomst van die vergelijking. Deze uitkomsten worden vervolgens door een wiskundige functie gehaald die softmax heet, die alle waarden omzet in een reeks getallen tussen 0 en 1 die samen optellen tot 1. Dat zijn de aandachtsgewichten: ze vertellen het model welk percentage van zijn "aandacht" naar elk ander woord moet gaan.
Die gewichten worden daarna gebruikt om de values van alle woorden te combineren tot één nieuwe, verrijkte representatie van het woord waarmee je begon. Een woord dat volgens de gewichten belangrijk is, telt zwaarder mee dan een woord dat nauwelijks relevant is. In de praktijk doet een model dit niet één keer, maar tientallen keren tegelijk via zogeheten multi-head attention: meerdere "aandachtskoppen" die elk op iets anders letten, bijvoorbeeld de ene op grammaticale relaties en de andere op onderwerp-werkwoordcombinaties.
Dit hele proces is beschreven in het invloedrijke onderzoekspaper "Attention Is All You Need", gepubliceerd in 2017 door onderzoekers van Google Brain en Google Research. Zij introduceerden de transformer-architectuur, die volledig op aandachtsmechanismen leunt in plaats van op de sequentiële verwerking die eerdere modellen (zogeheten recurrente neurale netwerken, of RNN's) gebruikten.
Wat wil men ermee bereiken?
Vóór de transformer verwerkten taalmodellen tekst woord voor woord, in volgorde, via RNN's en hun geavanceerdere variant, LSTM's ("long short-term memory"-netwerken). Dat had twee grote nadelen: het was traag, omdat elk woord moest wachten tot het vorige woord verwerkt was, en het model "vergat" vaak informatie uit het begin van een lange zin tegen de tijd dat het aan het einde was.
Aandachtsgewichten lossen beide problemen op. Omdat elk woord tegelijkertijd naar elk ander woord kan "kijken", kan de berekening voor alle woorden parallel gebeuren op grafische processoren (GPU's), wat trainen enorm versnelt. En omdat er geen vaste afstand is waarover informatie moet reizen, kan een model moeiteloos verbanden leggen tussen het eerste en het laatste woord van een lange alinea.
Het uiteindelijke doel is dus tweeledig: modellen die beter omgaan met lange, complexe teksten, en modellen die veel efficiënter te trainen zijn op de enorme hoeveelheden tekst die nodig zijn om moderne AI-systemen te bouwen. Dat laatste heeft de deur geopend naar de huidige generatie grote taalmodellen, die worden getraind op vrijwel het hele publiek toegankelijke internet.
Voorbeelden uit de praktijk
De transformer zelf (Google, 2017) werd oorspronkelijk gebouwd voor automatische vertaling en versloeg destijds de beste bestaande systemen op standaardtests, terwijl het trainen aanzienlijk sneller verliep.
BERT (Google, 2018) gebruikte attention om tekst in twee richtingen tegelijk te lezen (zowel de woorden ervoor als erna), wat de zoekresultaten van Google en talloze taalverwerkingstaken verbeterde.
De GPT-reeks (OpenAI, vanaf 2018), waaronder GPT-3 (2020) en de modellen achter ChatGPT, gebruikt attention om tekst te genereren door telkens het volgende woord te voorspellen op basis van aandacht voor alles wat eraan voorafging.
FlashAttention (Stanford-onderzoekers rond Tri Dao, 2022, met een opvolger FlashAttention-2 in 2023) is geen nieuw soort attention, maar een veel efficiëntere manier om de berekening op GPU-geheugen uit te voeren, waardoor modellen met langere teksten kunnen werken zonder buitensporig veel rekenkracht te verbruiken.
Gemini 1.5 (Google, 2024) claimde een contextvenster tot ongeveer één tot twee miljoen tokens, mede dankzij geoptimaliseerde attention-technieken, waardoor het model in theorie hele boeken of uren video-transcriptie in één keer kan doorlezen.
Hoe ver is de techniek?
Het basisprincipe van aandachtsgewichten uit 2017 staat nog steeds overeind en vormt de kern van vrijwel elk groot taalmodel dat vandaag gebruikt wordt. De ontwikkeling zit vooral in efficiëntie en schaal: onderzoekers proberen attention goedkoper te maken naarmate teksten langer worden, omdat de standaardberekening in rekenkracht kwadratisch toeneemt met de tekstlengte (twee keer zo lange tekst betekent ruwweg vier keer zoveel rekenwerk).
Technieken als sparse attention (waarbij een woord niet naar alle andere woorden kijkt, maar alleen naar een selectie) en FlashAttention pakken dat probleem aan. Ook wordt onderzocht of attention gecombineerd kan worden met andere architecturen, zoals "mixture of experts", waarbij alleen een deel van het model wordt geactiveerd per taak.
Een belangrijke, nog niet volledig opgeloste vraag is hoe goed aandachtsgewichten daadwerkelijk verklaren waaróm een model een bepaalde uitspraak doet. Onderzoekers Jain en Wallace lieten in 2019 zien dat hoge aandachtsgewichten niet altijd overeenkomen met wat werkelijk de uitkomst van een model bepaalt, terwijl andere onderzoekers (Wiegreffe en Pinter, ook 2019) daar nuances bij plaatsten. Dit debat is nog niet definitief beslecht: aandachtsgewichten geven een aanwijzing over waar een model "naar kijkt", maar zijn geen waterdicht bewijs van waaróm het model iets zegt.
Op het gebied van interpreteerbaarheid — het begrijpen van wat er precies in een model gebeurt — heeft onderzoek naar zogeheten "induction heads" (aandachtskoppen die patronen herhalen) laten zien dat sommige aandachtskoppen een verrassend concrete, herkenbare functie vervullen. Dat onderzoek staat nog in de kinderschoenen wat betreft de allergrootste modellen.
Wie werken eraan?
Het fundamentele onderzoek is begonnen bij Google (Google Brain en Google Research, inmiddels opgegaan in Google DeepMind), dat ook BERT en de Gemini-modellen ontwikkelt. OpenAI bouwde de GPT-modellen verder uit op basis van dezelfde attention-architectuur.
Anthropic richt zich onder meer op mechanistische interpreteerbaarheid: proberen te begrijpen wat aandachtskoppen en andere onderdelen van een model precies doen, onder meer via de onderzoekslijn "Transformer Circuits". Meta AI (met de Llama-modellenreeks) en Microsoft Research dragen eveneens bij aan efficiëntere attention-varianten.
Op de meer fundamentele, efficiëntie-gerichte kant speelt academisch onderzoek een grote rol, met name aan Amerikaanse universiteiten zoals Stanford (waar FlashAttention werd ontwikkeld) en instituten in het Verenigd Koninkrijk en de Europese Unie die meewerken aan open-source alternatieven, zoals onderzoeksgroepen verbonden aan Hugging Face en diverse universitaire AI-labs.
Verder lezen
- arXiv.org — preprintserver met het originele onderzoekspaper "Attention Is All You Need" en vrijwel alle vervolgonderzoek
- Anthropic — onderzoek naar interpreteerbaarheid van attention en transformer-modellen
- OpenAI — ontwikkelaar van de GPT-modellenreeks
- PyTorch — veelgebruikt open-source framework met documentatie over attention-implementaties
- TensorFlow — Google's open-source machine-learning framework, met tutorials over transformer-architecturen