GUIDA ALL'AI linguistica

Attenzione multi-query

L'attenzione multi-query (MQA) è una svolta salva-memoria sull'attenzione del trasformatore che condivide un set di chiavi e valori tra tutte le teste di attenzione.

2 minuti di letturaUltimo aggiornamento

Panoramica

It dramatically speeds up text generation by shrinking the memory the model must shuffle around.

Immersione profonda

L'attenzione multitesta standard fornisce a ciascuna testa le proprie proiezioni di query, chiavi e valori. Durante la generazione, le chiavi e i valori di tutti i token precedenti devono essere memorizzati nella cache e ricaricati ad ogni passaggio: questa cache KV diventa il principale collo di bottiglia, poiché la lettura dalla memoria è più lenta dei calcoli stessi. L'attenzione multi-query, proposta da Noam Shazeer nel 2019, mantiene proiezioni di query separate per testa ma comprime le chiavi e i valori in un'unica testa condivisa. Ciò riduce la cache KV di un fattore pari al numero di testine, a volte da 8x a 64x più piccolo. Il risultato è una decodifica autoregressiva molto più veloce e un ingombro di memoria più leggero, con solo un modesto calo di qualità. Una via di mezzo, l'attenzione alle query raggruppate, bilancia il compromesso.

Approfondimento tecnico

In MQA, i pesi delle query producono ancora H vettori di query separati, ma una singola proiezione chiave e una singola proiezione valore sono condivise tra tutte le teste. Ogni testa calcola l'attenzione utilizzando la propria query rispetto alle stesse chiavi e valori. Poiché i tensori K e V memorizzati nella cache non si adattano più al numero di testine, la larghezza di banda della memoria durante la decodifica diminuisce drasticamente e la larghezza di banda, non il calcolo, è ciò che determina la velocità di generazione sui moderni acceleratori.

Impatto strategico

Velocità e scala

I flussi di lavoro linguistici possono muoversi più velocemente senza sacrificare la coerenza.

Accedere e raggiungere

Espande l'accesso attraverso lingue e stili di comunicazione.

Decisioni più chiare

I team possono dedicare più tempo al giudizio mentre l'automazione gestisce la ripetizione.

Il futuro dell'attenzione multi-query

MQA ha stabilito che è possibile eliminare le teste chiave/valore ridondanti con pochi danni e che le informazioni ora modellano quasi ogni LLM a inferenza rapida. Il campo è in gran parte convergente su Grouped-Query Attention (GQA), utilizzato in Llama 2/3 e molti altri, che utilizza alcuni gruppi KV anziché uno solo per recuperare la qualità mantenendo la maggior parte della velocità. Il lavoro futuro fonde queste idee con la compressione della cache KV, la quantizzazione e l'attenzione multi-latente per promuovere contesti più lunghi e servizi più economici.

Implementazione nel mondo reale

Accelerazione della generazione token per token negli assistenti chat in cui la cache KV, e non il calcolo grezzo, limita il throughput.

PaLM di Google, che utilizzava l'attenzione multi-query per consentire un'inferenza efficiente su larga scala.

Servire molti utenti simultanei su una GPU riducendo la memoria cache KV per richiesta.

Attenzione di query raggruppate in Llama 2 70B e Llama 3, un discendente diretto che bilancia la velocità di MQA con la qualità dell'attenzione completa.

Rischi e guardrail

Fatti allucinati possono tranquillamente entrare nei rapporti, nei flussi di supporto o nei risultati della ricerca.

La sensibilità tempestiva può creare risultati incoerenti tra richieste simili.

I dati di testo sensibili potrebbero essere esposti se i controlli di accesso sono deboli.

Tabella di marcia per l'implementazione

1

Definisci il formato di output, il tono e gli standard di qualità prima dell'implementazione.

2

Risposte concrete con fonti attendibili ogni volta che la precisione è importante.

3

Mantenere un checkpoint di revisione umana per i risultati ad alto rischio.

4

Tieni traccia dei modelli di errore e riqualifica regolarmente le richieste o i flussi di lavoro.

Continua a esplorare

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.

Inizia il quiz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Prossima guida

Attenzione alle query raggruppate

Domande frequenti

What is Multi-Query Attention?

L'attenzione multi-query (MQA) è una svolta salva-memoria sull'attenzione del trasformatore che condivide un set di chiavi e valori tra tutte le teste di attenzione. Accelera notevolmente la generazione del testo riducendo la memoria che il modello deve spostare.

Cosa condivide l'attenzione multi-query tra tutte le teste di attenzione?

MQA mantiene query separate per testa ma condivide una proiezione chiave e una proiezione di valore per tutte le teste.

Qual è il collo di bottiglia principale che MQA affronta durante la generazione autoregressiva?

Ricaricando la cache KV di grandi dimensioni, ogni passaggio è limitato alla larghezza di banda; MQA riduce la cache per accelerare la decodifica.

All'incirca in base a quale fattore MQA riduce la cache KV?

Poiché le chiavi e i valori collassano da H a uno, la cache si riduce approssimativamente del numero di teste.

Qual è il principale compromesso derivante dall’utilizzo di MQA?

La condivisione di chiavi e valori riduce leggermente la capacità rappresentativa, provocando un piccolo calo di qualità in cambio di grandi guadagni di velocità.

Quale variante si trova tra l'attenzione multi-testa standard e l'MQA?

Grouped-Query Attention (GQA) utilizza diversi gruppi KV anziché uno solo, bilanciando qualità e velocità.