Het attention-mechanisme is het deel van een AI-taalmodel dat uitzoekt welke woorden in een tekst voor elkaar van belang zijn. In "de klant stuurde de jas terug omdat die te klein was" helpt attention het model om "die" aan de jas te koppelen. Het is de kern van de transformer, het ontwerp achter ChatGPT en Gemini, en het verklaart waarom heel lange documenten zoveel rekenkracht kosten.
Waar komt het vandaan?
Attention is ouder dan de transformer. In 2014 voegden Bahdanau, Cho en Bengio het toe aan een vertaalmodel. Tot dan toe perste zo'n model de hele bronzin in één vector van vaste lengte, en nam de kwaliteit snel af naarmate zinnen langer werden. Met attention zoekt het model bij elk woord dat het schrijft in de bronzin naar de delen die voor dat woord tellen.
In 2017 bouwden Vaswani e.a. de transformer, die alleen nog op attention draait. Omdat die een tekst niet meer woord voor woord leest, kan de training grotendeels parallel lopen: hun vertaalmodel haalde na twaalf uur training op acht GPU's een nieuwe topscore. GPT-4 en Gemini zijn op dit ontwerp gebouwd.
Hoe werkt het?
Elk token krijgt drie vectoren, berekend met geleerde gewichten: een query, een key en een value. De score tussen twee tokens is het inproduct van de query van het ene en de key van het andere, gedeeld door √d_k, de wortel uit de lengte van de keyvectoren. Zonder die schaling duwen grote scores softmax in een gebied waar het model nauwelijks nog leert. Softmax zet de scores om in gewichten die samen 1 zijn, en de nieuwe representatie van elk token is de gewogen som van de values:
Attention(Q, K, V) = softmax(QKᵀ / √d_k) V
Bij self-attention komen queries, keys en values allemaal uit dezelfde tekst. Multi-head attention voert meerdere van deze berekeningen naast elkaar uit, elk met eigen gewichten, zodat het model tegelijk op verschillende soorten informatie kan letten. De oorspronkelijke transformer gebruikte 8 heads; de grootste versie van GPT-3 heeft 96 heads in elk van zijn 96 lagen. In een model dat tekst genereert, voorkomt een masker dat een token kijkt naar de tokens die erna komen.
Waar gaat het mis?
Elk token wordt vergeleken met elk ander token, dus het werk per laag groeit met het kwadraat van de tekstlengte. Twee keer zoveel tokens betekent vier keer zoveel paren, en 100.000 tokens betekent 10 miljard query-key-paren per head in elke laag. Sparse attention (Child e.a., 2019) brengt dat terug tot O(n√n) door elk token met een selectie te vergelijken. FlashAttention (Dao e.a., 2022) houdt attention exact en beperkt in plaats daarvan het geheugenverkeer op de GPU.
Een lang contextvenster wordt niet overal even goed gebruikt. Liu e.a. (2023) zagen dat modellen vaak het best antwoorden als de relevante informatie aan het begin of eind van de invoer staat, en veel slechter als die in het midden staat, ook modellen die voor lange contexten zijn gebouwd.
Attention-gewichten zijn ook een zwakke verklaring voor het antwoord van een model. Jain en Wallace (2019) zagen dat ze vaak niet samenhangen met andere maten voor welke invoerwoorden ertoe deden, en dat heel verschillende attention-patronen tot dezelfde voorspelling kunnen leiden.
Voorbeeld
Het transformer-paper laat twee heads in laag 5 van 6 zien die de zin "The Law will never be perfect, but its application should be just" lezen. Vanuit "its" wijzen beide heads bijna volledig naar "Law" en "application": het model koppelt het voornaamwoord aan de zelfstandige naamwoorden waar het bij hoort, wat de auteurs anaphora resolution noemen. Clark e.a. (2019) vonden vergelijkbare specialisten in BERT: heads die met opvallend hoge nauwkeurigheid letten op het lijdend voorwerp van een werkwoord, op lidwoorden en andere bepalers bij een zelfstandig naamwoord, en op woorden die naar hetzelfde verwijzen.
Bronnen
- Vaswani et al.: Attention Is All You Need (2017)arXiv
- Bahdanau, Cho & Bengio: Neural Machine Translation by Jointly Learning to Align and Translate (2014)arXiv
- Liu et al.: Lost in the Middle, How Language Models Use Long Contexts (2023)arXiv
- Clark et al.: What Does BERT Look At? An Analysis of BERT's Attention (2019)arXiv
- Jain & Wallace: Attention is not Explanation (2019)arXiv
- Wikipedia: Attention (machine learning)Web
