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.

Panoramica

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.

L'attenzione multi-query fa parte dello stack di intelligenza artificiale del linguaggio utilizzato per leggere, generare, classificare e trasformare testo e parlato su larga scala.

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.

Padroneggiare l'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. Accelera notevolmente la generazione del testo riducendo la memoria che il modello deve spostare. L'attenzione multi-query fa parte dello stack di intelligenza artificiale del linguaggio utilizzato per leggere, generare, classificare e trasformare testo e parlato su larga scala. Per creare una comprensione profonda, tratta l'attenzione multi-query come un modello operativo, non come una singola caratteristica: definisci i risultati desiderati, chiarisci le ipotesi e separa ciò che il sistema può fare in modo affidabile da ciò che richiede ancora il giudizio di un esperto.

In pratica, team forti che utilizzano l'attenzione multi-query progettano richieste, recupero e cicli di revisione come un unico sistema di comunicazione integrato. Documentano criteri di successo espliciti, effettuano test rispetto a dati e flussi di lavoro realistici e ripetono in base a modelli di fallimento osservati piuttosto che a successi benchmark una tantum. È qui che la comprensione teorica si trasforma in capacità duratura in termini di prodotto, politica e operazioni.

I flussi di lavoro linguistici possono muoversi più velocemente senza sacrificare la coerenza. Allo stesso tempo, i fatti allucinati possono tranquillamente entrare nei rapporti, nei flussi di supporto o nei risultati della ricerca. L’approccio più resiliente consiste nel combinare la velocità di sperimentazione con la disciplina della governance: eseguire progetti pilota, acquisire prove, pubblicare registri decisionali e aggiornare continuamente le misure di salvaguardia man mano che il comportamento del modello, le aspettative degli utenti e i requisiti normativi evolvono.

Impatto strategico

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

I flussi di lavoro linguistici possono muoversi più velocemente senza sacrificare la coerenza. Nelle implementazioni di alta qualità, ciò si traduce in regole operative misurabili, limiti di proprietà e rituali di revisione ricorrenti in modo che i team possano aumentare la fiducia invece di aumentare l’ambiguità.

Espande l'accesso attraverso lingue e stili di comunicazione.

Espande l'accesso attraverso lingue e stili di comunicazione. Nelle implementazioni di alta qualità, ciò si traduce in regole operative misurabili, limiti di proprietà e rituali di revisione ricorrenti in modo che i team possano aumentare la fiducia invece di aumentare l’ambiguità.

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

I team possono dedicare più tempo al giudizio mentre l'automazione gestisce la ripetizione. Nelle implementazioni di alta qualità, ciò si traduce in regole operative misurabili, limiti di proprietà e rituali di revisione ricorrenti in modo che i team possano aumentare la fiducia invece di aumentare l’ambiguità.

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.

Modelli di implementazione

Attenzione multi-query in pratica

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

Accelerazione della generazione token per token negli assistenti di chat in cui la cache KV, non il calcolo grezzo, limita il throughput I team di solito ottengono risultati migliori quando definiscono in anticipo le soglie di qualità, mantengono un percorso di escalation umano per i casi limite e monitorano sia i guadagni di produttività che i costi di errore nel tempo.

Attenzione multi-query in pratica

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

Il PaLM di Google, che utilizza l'attenzione multi-query per consentire un'inferenza efficiente su larga scala. I team di solito ottengono risultati migliori quando definiscono in anticipo le soglie di qualità, mantengono un percorso di escalation umano per i casi limite e monitorano sia i guadagni di produttività che i costi di errore nel tempo.

Attenzione multi-query in pratica

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

Servire molti utenti simultanei su una GPU riducendo la memoria cache KV per richiesta I team di solito ottengono risultati migliori quando definiscono in anticipo le soglie di qualità, mantengono un percorso di escalation umano per i casi limite e monitorano sia i guadagni di produttività che i costi di errore nel tempo.

Attenzione multi-query in pratica

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.

Attenzione alle query raggruppate in Llama 2 70B e Llama 3, un discendente diretto che bilancia la velocità di MQA con la qualità dell'attenzione totale. I team di solito ottengono risultati migliori quando definiscono in anticipo le soglie di qualità, mantengono un percorso di escalation umano per i casi limite e tengono traccia sia dei guadagni di produttività che dei costi di errore nel tempo.

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.

Definisci il formato di output, il tono e gli standard di qualità prima dell'implementazione. Tratta ogni passaggio come una prova: se i criteri non vengono soddisfatti, metti in pausa l'implementazione, colma il divario e solo allora espandi l'utilizzo.

2

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

Risposte concrete con fonti attendibili ogni volta che la precisione è importante. Tratta ogni passaggio come una prova: se i criteri non vengono soddisfatti, metti in pausa l'implementazione, colma il divario e solo allora espandi l'utilizzo.

3

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

Mantenere un checkpoint di revisione umana per i risultati ad alto rischio. Tratta ogni passaggio come una prova: se i criteri non vengono soddisfatti, metti in pausa l'implementazione, colma il divario e solo allora espandi l'utilizzo.

4

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

Tieni traccia dei modelli di errore e riqualifica regolarmente le richieste o i flussi di lavoro. Tratta ogni passaggio come una prova: se i criteri non vengono soddisfatti, metti in pausa l'implementazione, colma il divario e solo allora espandi l'utilizzo.

Continua a esplorare