KV Cache Quantization FP8/INT8: doppia la densità di utenti per GPU
In una frase Quantizzare il KV cache da FP16 a FP8 o INT8 riduce la memoria di serving del 50%+, permettendo contesti 2x più lunghi o il doppio degli utenti concorrenti per GPU, adottato da vLLM, TGI e TensorRT-LLM.
Durante la generazione di testo, un modello LLM deve ricordare tutte le informazioni elaborate fino a quel punto della conversazione. Questi dati si chiamano KV cache (keys e values) e crescono linearmente con la lunghezza del testo generato. Il problema: occupano enormi quantità di memoria GPU, spesso più dei pesi del modello stesso quando si gestiscono molte conversazioni simultaneamente.
La soluzione è comprimere questi dati temporanei. Tradizionalmente venivano salvati in FP16 — 16 bit per numero. La quantizzazione del KV cache li converte in FP8 o INT8 — 8 bit per numero — dimezzando lo spazio occupato. A differenza dei pesi del modello dove la precisione è cruciale per la qualità, il KV cache ha caratteristiche statistiche diverse che permettono questa compressione con minimo impatto sulla qualità delle risposte.
Il risultato concreto per chi gestisce infrastruttura: sulla stessa GPU puoi far girare lo stesso modello con contesti due volte più lunghi (passando da 4096 a 8192 token di contesto senza aggiungere hardware), oppure servire il doppio degli utenti in parallelo. Entrambi si traducono direttamente in minori costi per risposta generata. vLLM, TGI e TensorRT-LLM hanno tutti adottato questa tecnica come opzione standard.
Aziende
vLLM Team, NVIDIA, HuggingFace
Tool
—
Tag
Fonti