KV cache
La cache che conserva i vettori «key» e «value» dell'attention per i token già elaborati, così da non doverli ricalcolare a ogni nuovo token generato. Indispensabile perché la generazione autoregressiva di testo sia veloce.
Il motivo: un LLM genera un token alla volta, e ogni nuovo token deve «guardare» tutti i precedenti tramite l'attention. Senza cache l'intera sequenza verrebbe ricalcolata a ogni passo (uno spreco quadratico). La KV cache salva i vettori key/value di tutti i token precedenti; a ogni passo si calcolano solo quelli del nuovo token, confrontandoli con la cache. Il problema: la cache cresce linearmente con la lunghezza della sequenza E con la dimensione del batch, e con contesti lunghi diventa presto il principale consumatore di memoria, quindi un collo di bottiglia per il throughput. Le soluzioni: PagedAttention (gestione efficiente della memoria), grouped-query attention (meno head KV) e quantizzazione della KV cache. È la struttura dati centrale dell'inferenza degli LLM. Correlata a grouped-query attention e continuous batching.