GHID AI limbaj

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.

2 minute de lecturăUltima actualizare

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

1

Definiți formatul de ieșire, tonul și standardele de calitate înainte de lansare.

2

Răspunsurile la sol cu ​​surse de încredere ori de câte ori acuratețea contează.

3

Păstrați un punct de control uman pentru rezultate cu mize mari.

4

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.

Quiz Start

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.