Atenție la mai multe interogări
Multi-Query Attention (MQA) este o întorsătură care economisește memorie a atenției transformatorului, care împărtășește un set de chei și valori în toate capetele de atenție.
Prezentare generală
It dramatically speeds up text generation by shrinking the memory the model must shuffle around.
Scufundare în profunzime
Atenția standard pentru mai multe capete oferă fiecărui cap propriile sale interogări, cheie și proiecții de valoare. În timpul generării, cheile și valorile pentru toate jetoanele anterioare trebuie să fie stocate în cache și reîncărcate la fiecare pas - acest cache KV devine principalul blocaj, deoarece citirea lui din memorie este mai lentă decât matematica în sine. Multi-Query Attention, propus de Noam Shazeer în 2019, păstrează proiecții separate de interogare pe cap, dar restrânge cheile și valorile într-un singur cap partajat. Acest lucru micșorează memoria cache KV cu un factor egal cu numărul de capete, uneori de 8x până la 64 de ori mai mic. Rezultatul este o decodare autoregresivă mult mai rapidă și o amprentă mai ușoară a memoriei, cu doar o scădere modestă a calității. O cale de mijloc, Atenție de interogare grupată, echilibrează compromisul.
Perspectivă tehnică
În MQA, greutățile de interogare produc în continuare H vectori de interogare separați, dar o singură proiecție cheie și o proiecție cu o singură valoare sunt partajate în toate capetele. Fiecare cap calculează atenția folosind propria sa interogare față de aceleași chei și valori. Deoarece tensorii K și V stocați în cache nu se mai scalează în funcție de numărul de capete, lățimea de bandă a memoriei în timpul decodării scade brusc - iar lățimea de bandă, nu calculul, este ceea ce limitează viteza de generare a acceleratoarelor moderne.
Impact strategic
Viteză și scară
Fluxurile de lucru lingvistice se pot deplasa mai rapid fără a sacrifica consistența.
Acces și acoperire
Extinde accesul în diferite limbi și stiluri de comunicare.
Decizii mai clare
Echipele pot petrece mai mult timp jucând în timp ce automatizarea se ocupă de repetiție.
Viitorul atenției cu mai multe interogări
MQA a stabilit că puteți elimina capetele cheie/valoare redundante cu puțin rău, iar această perspectivă modelează acum aproape fiecare LLM cu inferență rapidă. Domeniul a convergit în mare parte către Grouped-Query Attention (GQA), folosit în Llama 2/3 și multe altele, care utilizează câteva grupuri KV mai degrabă decât unul pentru a recupera calitatea, păstrând în același timp cea mai mare parte a accelerației. Lucrările viitoare îmbină aceste idei cu compresia KV-cache, cuantizarea și atenția multi-latentă pentru a împinge contexte mai lungi și servirea mai ieftină.
Implementare în lumea reală
Accelerarea generării token-cu-token în asistenții de chat, unde memoria cache KV, nu calculul brut, limitează debitul.
PaLM de la Google, care a folosit Multi-Query Attention pentru a permite o inferență eficientă la scară largă.
Servirea multor utilizatori concurenți pe un singur GPU prin micșorarea memoriei cache KV la cerere.
Grouped-Query Attention în Llama 2 70B și Llama 3, un descendent direct care echilibrează viteza MQA cu calitatea atenției deplină.
Riscuri și balustrade
Faptele halucinate pot intra în liniște în rapoarte, fluxuri de sprijin sau rezultate ale cercetării.
Sensibilitatea promptă poate crea rezultate inconsecvente pentru solicitări similare.
Datele text sensibile pot fi expuse dacă controalele de acces sunt slabe.
Foaia de parcurs de implementare
Definiți formatul de ieșire, tonul și standardele de calitate înainte de lansare.
Răspunsurile la sol cu surse de încredere ori de câte ori acuratețea contează.
Păstrați un punct de control uman pentru rezultate cu mize mari.
Urmăriți tiparele de eșec și reantrenați în mod regulat solicitările sau fluxurile de lucru.
Continuați să explorați
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
Următorul ghid
Atenție la interogare grupată
Întrebări frecvente
What is Multi-Query Attention?
Multi-Query Attention (MQA) este o întorsătură care economisește memorie a atenției transformatorului, care împărtășește un set de chei și valori în toate capetele de atenție. Accelerează dramatic generarea de text prin micșorarea memoriei pe care modelul trebuie să o amestece.
Ce împărtășește atenția cu interogări multiple pentru toate capetele de atenție?
MQA păstrează interogări separate per cap, dar partajează o proiecție cheie și o proiecție a valorii pentru toate capete.
Care este blocajul principal pe care MQA îl abordează în timpul generării autoregresive?
Reîncărcarea memoriei cache KV mare la fiecare pas este legată de lățimea de bandă; MQA micșorează memoria cache pentru a accelera decodarea.
Aproximativ prin ce factor MQA micșorează memoria cache KV?
Deoarece cheile și valorile se prăbușesc de la capete H la unul, memoria cache se micșorează cu aproximativ numărul de capete.
Care este principalul compromis al utilizării MQA?
Partajarea cheilor și valorilor reduce ușor capacitatea de reprezentare, determinând o mică scădere a calității în schimbul unor câștiguri mari de viteză.
Care variantă se află între atenția standard cu mai multe capete și MQA?
Grouped-Query Attention (GQA) folosește mai multe grupuri KV în loc de unul, echilibrând calitatea și viteza.