Quantizzazione GGUF spiegata (Q4 vs Q8 vs FP16): cosa gira su un portatile
Se hai mai scaricato un LLM locale e visto file chiamati Q4_K_M, Q5_K_S, Q8_0 o FP16, hai incontrato la quantizzazione — il concetto più importante per far girare modelli di IA su un portatile usato. È la quantizzazione a permettere a un modello che a piena precisione richiede 13 GB di girare in 4 GB di VRAM con una perdita di qualità appena percettibile. Capirla ti dice esattamente quali modelli può eseguire il tuo portatile prima di scaricare un file da 10 GB che non si caricherà.
Questa guida spiega la quantizzazione GGUF in parole semplici, mostra il compromesso tra qualità e memoria e ti offre una tabella su quale quant entra in 4, 6, 8 e 16 GB di VRAM.
Cosa fa davvero la quantizzazione
Una rete neurale è fatta di miliardi di numeri (i pesi). Quando un modello viene addestrato, ogni peso è memorizzato come numero a 16 bit — FP16 o BF16, la “piena precisione” ai nostri fini. Un modello da 7 miliardi di parametri in FP16 è di circa 13 GB, perché 7 miliardi di pesi × 2 byte ≈ 14 GB.
La quantizzazione memorizza ogni peso usando meno bit — 8, 5, 4, persino 2 — mappando l’intervallo di valori su una griglia più piccola. Lo scambio è semplice:
- Meno bit → file più piccolo, meno VRAM/RAM, caricamento più rapido.
- Meno bit → pesi un po’ meno precisi → qualità di output marginalmente inferiore.
La scoperta notevole degli ultimi anni è che i grandi modelli linguistici tollerano tutto ciò straordinariamente bene. Passare da 16 bit a 4 bit riduce un modello del ~70% mantenendo la stragrande maggioranza della sua qualità per chat, coding e riassunti. È tutta qui la ragione per cui l’IA locale su hardware modesto è praticabile — ed è il motivo per cui la VRAM è la specifica che conta di più quando si acquista un portatile.
GGUF e i K-quant
GGUF è il formato di file usato da llama.cpp e Ollama — i due strumenti con cui la maggior parte delle persone esegue modelli in locale. Un file GGUF raggruppa i pesi quantizzati più i metadati così che qualunque runtime compatibile possa caricarlo. La nomenclatura sembra criptica ma si decodifica con pulizia:
- Il numero indica i bit per peso:
Q4≈ 4 bit,Q5≈ 5 bit,Q8≈ 8 bit. _Kindica un K-quant — uno schema più intelligente che varia la precisione all’interno del modello, proteggendo i pesi più sensibili._S,_M,_Lsono le varianti piccola / media / grande del K-quant:Q4_K_Mmantiene un po’ più di precisione diQ4_K_S.Q8_0eQ4_0sono vecchi quant “legacy” senza schema K — generalmente superati dai K-quant a parità di dimensione.
Per quasi tutti, Q4_K_M è la scelta predefinita: il miglior equilibrio tra dimensione, velocità e qualità. Sali a Q5_K_M o Q6_K se hai memoria in più; ricorri a Q8_0 solo quando vuoi un output quasi senza perdite e hai la VRAM per farlo.
Il compromesso tra qualità e memoria
| Quant | Bit/peso | Dimensione vs FP16 | Qualità | Quando usarlo |
|---|---|---|---|---|
| FP16/BF16 | 16 | 100% | Riferimento (piena) | Solo fine-tuning e addestramento |
| Q8_0 | ~8 | ~53% | Quasi senza perdite | Memoria in più; fedeltà massima |
| Q6_K | ~6.5 | ~41% | Eccellente | Alta qualità con risparmio moderato |
| Q5_K_M | ~5.5 | ~35% | Molto buona | Un passo sicuro oltre Q4 quando la VRAM lo consente |
| Q4_K_M | ~4.5 | ~28% | Buona (predefinita) | Il punto d’equilibrio quotidiano per portatili |
| Q3_K_M | ~3.5 | ~22% | Sensibilmente degradata | Far entrare un modello più grande in VRAM ridotta |
| Q2_K | ~2.6 | ~16% | Scarsa / ultima risorsa | Solo per far caricare un modello |
La lezione pratica: da Q4_K_M a Q5_K_M è la zona che vuoi. Sotto Q3 il modello inizia a fare più errori, a ripetersi e a seguire peggio le istruzioni. Sopra Q6 paghi molta memoria per guadagni che la maggior parte delle attività su portatile non noterà.
Quale quant entra nella tua VRAM?
La regola di massima: dimensione del file GGUF + 1–2 GB di overhead (contesto, cache KV, runtime) è ciò che serve in VRAM per eseguire un modello interamente sulla GPU. Se il modello è più grande della tua VRAM, Ollama e llama.cpp scaricheranno alcuni layer nella RAM di sistema — gira comunque, solo più lentamente, quindi anche tanta RAM conta.
| La tua VRAM | Modello comodo + quant | Portatile di esempio |
|---|---|---|
| 4 GB | 7B at Q4_K_M (in parte scaricato), 3B tutto su GPU | ThinkPad X1 Extreme Gen 4 |
| 6 GB | 7B at Q4_K_M tutto su GPU; 13B in parte scaricato | Lenovo Legion 5 Gen 6 |
| 8 GB | 7B at Q5/Q6; 13B at Q4_K_M tutto su GPU | ASUS ROG Zephyrus G14 |
| 16 GB | 13B at Q6/Q8; 34B at Q4 (al limite); fine-tuning | ThinkPad P15 Gen 2 |
Nota come un modello 13B che non entra su una scheda da 6 GB entra invece su 8 GB con Q4_K_M — quel singolo passo è il motivo per cui 8 GB è un livello di VRAM così significativo. Per il quadro delle velocità modello per modello, vedi la nostra guida ai requisiti di Ollama su portatile.
E Stable Diffusion e FLUX?
I modelli di immagini funzionano diversamente — non vengono distribuiti come quant di chat GGUF — ma vale la stessa logica di memoria. SDXL vuole 6–8 GB di VRAM per essere comodo; FLUX.1 è quello grosso. FLUX a piena precisione richiede circa 16 GB, ma FLUX quantizzato (build comunitari GGUF/Q8 e Q4) lo riporta a girare su schede da 8 GB, esattamente come la quantizzazione fa per gli LLM. Quindi un portatile da 8 GB esegue FLUX quantizzato; solo 16 GB lo eseguono a piena precisione. Vedi i migliori portatili usati per Stable Diffusion per i livelli hardware.
Raccomandazioni pratiche
- Inizia con Q4_K_M. È il predefinito per un motivo. Cambia solo se hai un’esigenza specifica.
- Adatta il modello alla tua VRAM, non alla tua ambizione. Un 7B at Q4_K_M che gira interamente sulla GPU batte un 13B scaricato a metà in RAM che arranca.
- Aggiungi RAM se prevedi di scaricare. 32 GB di RAM di sistema permettono a una GPU da 4–8 GB di eseguire modelli più grandi facendo traboccare i layer sulla CPU.
- Tieni FP16 solo per il fine-tuning. L’inferenza non ne ha quasi mai bisogno; l’addestramento sì — ed è un compito da 16 GB di VRAM.
FAQ
Cosa significa Q4 in un file di modello GGUF?
Q4 significa che i pesi del modello sono quantizzati a circa 4 bit ciascuno anziché 16. Un file Q4_K_M è circa un quarto della dimensione dell’originale FP16, quindi un modello 7B scende da ~13 GB a ~4 GB. La perdita di qualità è ridotta per la maggior parte delle attività di chat e coding, ed è per questo che Q4_K_M è il quant più popolare sui portatili.
Q8 è sensibilmente migliore di Q4?
Q8 è più vicino al modello a piena precisione e leggermente più accurato, ma per la maggior parte degli usi su portatile la differenza rispetto a Q4_K_M è difficile da notare nella chat, nei riassunti e nel coding di tutti i giorni. Q8 raddoppia all’incirca la dimensione del file e l’impronta di VRAM/RAM rispetto a Q4, quindi lo si sceglie solo quando si ha memoria in abbondanza o serve la massima fedeltà.
Mi serve FP16 per eseguire un modello in locale?
No. FP16 (o BF16) è il formato a piena precisione usato per l’addestramento e il fine-tuning, non per l’inferenza quotidiana su un portatile. Per eseguire modelli in locale, un GGUF quantizzato (Q4 o Q5) dà quasi le stesse risposte con una frazione della memoria. Riserva FP16 al fine-tuning, che richiede una GPU da 16 GB come il ThinkPad P15 Gen 2.
Come faccio a sapere se un quant entra nella mia VRAM?
Come regola di massima, la dimensione del file GGUF più 1–2 GB di overhead è ciò che serve in VRAM per girare interamente sulla GPU. Un modello 7B Q4_K_M da 4,4 GB ha bisogno di circa 6 GB di VRAM per essere comodo. Se il modello è più grande della tua VRAM, llama.cpp e Ollama possono scaricare alcuni layer nella RAM di sistema — più lento, ma funziona.