MQA
Variante dell'attenzione in cui tutte le teste condividono un unico insieme di chiavi e valori, mantenendo ciascuna le proprie query. Proposta da Noam Shazeer nel 2019 per un solo motivo: ridurre la KV cache.
Nell'attenzione multi-testa ordinaria ogni testa memorizza chiavi e valori propri per ogni token, e durante la generazione questa cache cresce linearmente con la lunghezza del contesto. Con contesti lunghi il collo di bottiglia reale diventa la banda di memoria verso la cache, non il calcolo. Con una sola coppia chiave-valore condivisa per livello, la cache si riduce di un fattore pari al numero di teste, cioè da dieci a cento volte meno. La perdita di qualità è piccola ma misurabile, e il compromesso che ne è nato è il GQA: raggruppare le teste in modo che alcune, ma non tutte, condividano le chiavi. PaLM e Falcon usano direttamente l'MQA; la maggior parte dei modelli più recenti si è stabilizzata sul GQA.