Aandacht voor meerdere zoekopdrachten
Multi-Query Attention (MQA) is een geheugenbesparende variant op Transformer Attention die één set sleutels en waarden deelt over alle aandachtshoofden.
Overzicht
It dramatically speeds up text generation by shrinking the memory the model must shuffle around.
Diepe duik
Standaard aandacht voor meerdere hoofden geeft elk hoofd zijn eigen vraag-, sleutel- en waardeprojecties. Tijdens het genereren moeten de sleutels en waarden voor alle tokens uit het verleden in de cache worden opgeslagen en bij elke stap opnieuw worden geladen. Deze KV-cache wordt het belangrijkste knelpunt, omdat het lezen ervan uit het geheugen langzamer is dan de wiskunde zelf. Multi-Query Attention, voorgesteld door Noam Shazeer in 2019, houdt afzonderlijke queryprojecties per hoofd bij, maar vouwt de sleutels en waarden samen tot één gedeeld hoofd. Hierdoor wordt de KV-cache kleiner met een factor gelijk aan het aantal heads, soms 8x tot 64x kleiner. Het resultaat is een veel snellere autoregressieve decodering en een lichtere geheugenvoetafdruk, met slechts een bescheiden kwaliteitsdip. Een middenweg, Grouped-Query Attention, brengt de afweging in evenwicht.
Technisch inzicht
In MQA produceren querygewichten nog steeds H afzonderlijke queryvectoren, maar een enkele sleutelprojectie en een enkele waardeprojectie worden door alle hoofden gedeeld. Elk hoofd berekent de aandacht met behulp van zijn eigen query op basis van dezelfde sleutels en waarden. Omdat de in de cache opgeslagen K- en V-tensoren niet langer meeschalen met het aantal koppen, neemt de geheugenbandbreedte tijdens het decoderen scherp af - en bandbreedte, en niet rekenkracht, is wat de generatiesnelheid op moderne versnellers bepaalt.
Strategische impact
Speed and scale
Taalworkflows kunnen sneller verlopen zonder dat dit ten koste gaat van de consistentie.
Access and reach
Het breidt de toegang uit naar meerdere talen en communicatiestijlen.
Clearer decisions
Teams kunnen meer tijd besteden aan beoordeling, terwijl automatisering de herhaling afhandelt.
De toekomst van aandacht voor meerdere zoekopdrachten
MQA heeft vastgesteld dat je overtollige sleutel-/waardekoppen met weinig schade kunt wegsnoeien, en dat inzicht vormt nu bijna elke LLM met snelle gevolgtrekkingen. Het veld is grotendeels geconvergeerd op Grouped-Query Attention (GQA), gebruikt in Llama 2/3 en vele anderen, dat een paar KV-groepen gebruikt in plaats van één om de kwaliteit te herstellen terwijl het grootste deel van de snelheid behouden blijft. Toekomstig werk combineert deze ideeën met KV-cache-compressie, kwantisering en multi-latente aandacht om langere contexten en goedkopere dienstverlening te stimuleren.
Implementatie in de echte wereld
Het versnellen van het genereren van tokens per token in chatassistenten waarbij de KV-cache, en niet de onbewerkte rekenkracht, de doorvoer beperkt.
Google's PaLM, dat Multi-Query Attention gebruikte om efficiënte grootschalige gevolgtrekkingen mogelijk te maken.
Veel gelijktijdige gebruikers bedienen op één GPU door het KV-cachegeheugen per verzoek te verkleinen.
Grouped-Query Attention in Llama 2 70B en Llama 3, een directe afstammeling die de snelheid van MQA in evenwicht brengt met volledige aandachtskwaliteit.
Risico's en vangrails
Gehallucineerde feiten kunnen stilletjes rapporten binnendringen, stromen ondersteunen of onderzoeksresultaten opleveren.
Gevoeligheid voor prompts kan inconsistente resultaten opleveren voor vergelijkbare verzoeken.
Gevoelige tekstgegevens kunnen openbaar worden gemaakt als de toegangscontroles zwak zijn.
Implementatie routekaart
Definieer het uitvoerformaat, de toon en de kwaliteitsnormen vóór de implementatie.
Grondreacties met vertrouwde bronnen wanneer nauwkeurigheid belangrijk is.
Houd een menselijk controlepunt bij voor resultaten met een hoge inzet.
Houd faalpatronen bij en train prompts of workflows regelmatig opnieuw.
Blijf verkennen
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Multi-Query Attention quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Next guide
Gegroepeerde query-aandacht
Frequently asked questions
What is Multi-Query Attention?
Multi-Query Attention (MQA) is een geheugenbesparende variant op Transformer Attention die één set sleutels en waarden deelt over alle aandachtshoofden. Het versnelt het genereren van tekst dramatisch door het geheugen dat het model moet verplaatsen te verkleinen.
Wat deelt aandacht voor meerdere zoekopdrachten met alle aandachtshoofden?
MQA houdt afzonderlijke zoekopdrachten per hoofd bij, maar deelt één sleutelprojectie en één waardeprojectie voor alle hoofden.
Wat is het belangrijkste knelpunt dat MQA aanpakt tijdens autoregressieve generatie?
Het opnieuw laden van de grote KV-cache bij elke stap is bandbreedtegebonden; MQA verkleint die cache om de decodering te versnellen.
Met welke factor verkleint MQA ongeveer de KV-cache?
Omdat sleutels en waarden samenvallen van H heads naar één, krimpt de cache met ongeveer het aantal heads.
Wat is de belangrijkste afweging bij het gebruik van MQA?
Het delen van sleutels en waarden vermindert de representatiecapaciteit enigszins, waardoor een kleine kwaliteitsvermindering ontstaat in ruil voor grote snelheidswinsten.
Welke variant zit tussen standaard multi-head aandacht en MQA?
Grouped-Query Attention (GQA) gebruikt meerdere KV-groepen in plaats van één, waardoor kwaliteit en snelheid in evenwicht worden gebracht.