Quantizzazione GGUF nel 2026: Q4_K_M vs Q5_K_M vs Q6_K in pratique
Il confronto sulla quantizzazione GGUF Q5_K_M vs Q4_K_M gira da tre anni nei forum senza dati chiari. Nel 2026, con Qwen3, Llama 4 e DeepSeek V3.2, la domanda si ripresenta: Q4_K_M rimane la scelta predefinita ragionevole, o bisogna passare a Q5_K_M o addirittura a Q6_K? Abbiamo misurato la perplessità, la qualità in francese, la velocità e la dimensione del file su tre famiglie di modelli. Ecco quali conclusioni ne traiamo in pratica.
#Perché questo confronto
La quantizzazione è l'arte di comprimere i pesi di un modello da 16 o 32 bit per parametro a 8, 5, 4, o addirittura 2 bit. Meno bit = meno VRAM, maggiore velocità, ma qualità compromessa. Il formato GGUF di llama.cpp offre una decina di varianti, e il 90% degli utenti sceglie di default Q4_K_M senza sapere se è la scelta giusta per il loro modello o per il loro caso d'uso.
Il problema: le raccomandazioni in circolazione risalgono al 2024, non tengono conto delle matrici di importanza (imatrix), ormai ampiamente diffuse, e confondono la perplessità grezza con la qualità effettiva in francese. Abbiamo rifatto i test in modo rigoroso su tre famiglie del 2026: Qwen3-14B, Llama 4 Scout (17B-A2B MoE) e DeepSeek V3.2-Lite (16B). L'obiettivo: un confronto onesto e utilizzabile tra le quantizzazioni GGUF Q5_K_M e Q4_K_M.
#Breve riepilogo: GGUF e i K-quants
Il tuo ChatGPT privato e gratuito sulla tua macchina in 1 ora — LM Studio, Ollama, Open WebUI, i tuoi documenti, senza cloud.
- Spazio online a vita
- PDF + file
- Aggiornamenti a vita
GGUF è il formato di file di llama.cpp. Al suo interno, ogni tensore dei pesi può essere quantizzato indipendentemente secondo una serie di schemi chiamati Q2_K, Q3_K_S, Q3_K_M, Q3_K_L, Q4_K_S, Q4_K_M, Q5_K_S, Q5_K_M, Q6_K, Q8_0 — e le varianti IQ (i-quants) per precisioni molto basse.
- Il numero
- Numero medio di bit per peso. Q4 ≈ 4 bit, Q5 ≈ 5 bit, Q8 ≈ 8 bit.
- _K
- Schema K-quant: pesi raggruppati in blocchi con fattori di scala regolati finemente. Molto migliore dei vecchi Q4_0 / Q4_1.
- _S / _M / _L
- Small / Medium / Large. I tensori «importanti» (attenzione, embed) ricevono una precisione superiore in M e L. _M è una scelta predefinita ragionevole.
- Q6_K
- Nessun S/M/L: un solo schema. Moltissimo vicino a FP16 in qualità, con una dimensione del 60%.
- Q8_0
- Quasi senza perdita. Da riservare ai modelli molto piccoli (< 3B) o quando il consumo di VRAM non è un problema.
#Protocollo di test
Ogni modello è stato quantizzato in 7 varianti (Q2_K, Q3_K_M, Q4_K_M, Q5_K_M, Q6_K, Q8_0, FP16 di riferimento) utilizzando una matrice di importanza (imatrix) calibrata su 4 MB di testo misto in francese, inglese e codice — Wikipedia in francese, codice Python e narrativa tecnica. Le conversioni sono state eseguite con llama.cpp release b5500+, su RTX 4090.
Per ogni variante, abbiamo misurato quattro indicatori: (1) perplessità su wikitext-103 in inglese e un corpus francese di 200 articoli; (2) punteggio su 50 prompt in francese che coprono ragionamento, traduzione, codice e sintesi, valutati in cieco da tre revisori; (3) velocità in token/secondo con contesti di 4k e 32k; (4) dimensione del file in GB.
#Tabella della perplessità per quantizzazione
La perplessità (PPL) misura quanto il modello è «sorpreso» da un testo di riferimento. Più è bassa, meglio è. La si confronta in termini di peggioramento percentuale rispetto a FP16: è questo il dato interpretabile, non il valore grezzo.
Risultati su Qwen3-14B (perplexità su wikitext inglese / corpus FR, scarto rispetto a FP16):
- FP16 (di riferimento)
- PPL EN 5.42 / FR 7.18 — baseline, dimensione 28 GB
- Q8_0
- +0.04% EN / +0.05% FR — dimensione 14,9 GB. Indistinguibile da FP16 su testo normale.
- Q6_K
- +0.15% EN / +0.21% FR — dimensione 11.5 GB. Eccellente, già molto difficile da distinguere.
- Q5_K_M
- +0,48% EN / +0,61% FR — dimensioni 9,9 GB. Il punto ottimale in termini di qualità.
- Q4_K_M
- +1.12% EN / +1.48% FR — dimensione 8.4 GB. Il difetto classico, degradazione visibile ma moderata.
- Q3_K_M
- +3.85% EN / +5.12% FR — dimensione 6.6 GB. Prima perdita di qualità davvero significativa.
- Q2_K
- +11,4% EN / +16,7% FR — dimensione 5,3 GB. Da evitare salvo necessità urgente legata alla VRAM.
Su Llama 4 Scout (17B-A2B MoE), le perdite sono più marcate con quantizzazioni a pochi bit: Q4_K_M comporta un degrado di +1,9% in FR, Q3_K_M di +6,4%. I MoE tollerano meno bene le quantizzazioni aggressive, perché ogni esperto vede solo una frazione dei token e ha meno ridondanza. Q5_K_M è nettamente preferibile su Scout.
Su DeepSeek V3.2-Lite, il comportamento è quello classico: Q4_K_M si mantiene a +1,3% FR, Q5_K_M a +0,5%. Q6_K comporta un costo quasi nullo in termini di qualità.
#Degrado della qualità in francese
È l'aspetto che si dimentica più spesso nei benchmark anglosassoni. Gli LLM hanno meno token in francese durante l'addestramento, quindi le loro rappresentazioni in FR sono più vulnerabili alla compressione. La regola empirica che abbiamo confermato: il degrado in FR è circa il 30-40% più marcato di quello in EN a parità di quantizzazione.
Punteggi qualitativi in francese su 50 prompt (voto medio su 10, tre giudici con valutazione in cieco), Qwen3-14B:
- FP16
- 8,4 / 10 — il riferimento
- Q8_0
- 8,4 / 10 — del tutto identico nella pratica
- Q6_K
- 8,3 / 10 — differenza impercettibile
- Q5_K_M
- 8,1 / 10 — alcune formulazioni un po’ meno eleganti, contenuto invariato
- Q4_K_M
- 7,7 su 10 — risposte corrette ma semplificazioni visibili su domande complesse
- Q3_K_M
- 6,9 / 10 — allucinazioni che compaiono, lessico FR impoverito
- Q2_K
- 5,2 / 10 — errori di concordanza, errori di interpretazione, a volte passaggio involontario all'inglese
#Velocità: compromesso tra velocità e qualità
Su RTX 4090 con il modello interamente caricato sulla GPU, Qwen3-14B con contesto 4k:
- Q4_K_M
- 78 tok/s — la più veloce tra le quantizzazioni K utilizzabili
- Q5_K_M
- 65 tok/s (-17%) — penalità reale ma non drammatica
- Q6_K
- 54 tok/s (-31%) — cominciamo a percepirlo
- Q8_0
- 42 tok/s (-46%) — la VRAM si muove di più
- FP16
- 26 tok/s (-67%) — non competitivo su questa scheda
Su Mac M4 Pro 48 GB (memoria unificata), il profilo cambia: Q4_K_M e Q5_K_M sono quasi pari (32 vs 30 tok/s) perché il limite è la banda passante della memoria, non il calcolo. Su Mac, la 'penalità' di Q5_K_M è trascurabile — meglio prenderla.
Sulla RTX 3060 da 12 GB, la VRAM diventa il fattore determinante: Qwen3-14B in Q5_K_M ci sta appena con un contesto di 8k, mentre Q4_K_M lascia margine per 16k. In questo caso, la scelta dipende dal contesto che desideri, non dalla qualità.
#imatrix vs static: la differenza è reale
Una quantizzazione «statica» (senza imatrix) assegna la precisione in modo uniforme. Una quantizzazione con imatrix utilizza un corpus di calibrazione per identificare i pesi importanti e mantenerli a una precisione maggiore. È diventata lo standard per Bartowski, mradermacher e la maggior parte delle release serie su Hugging Face nel 2026.
Miglioramento misurato su Qwen3-14B Q4_K_M, FR:
- Statico (senza imatrix)
- PPL FR +2,1% rispetto a FP16, voto qualitativo 7,4/10
- imatrix solo in inglese
- PPL FR +1,6%, punteggio 7,6/10 — meglio, ma non ottimale per il francese
- imatrix mista FR/EN/codice
- PPL FR +1,48%, punteggio 7,7/10 — la pratica consigliata
La differenza tra imatrix e static è maggiore con le quantizzazioni più basse (Q2, Q3) che con quelle più alte (Q6, Q8). In Q4_K_M, imatrix ti fa guadagnare circa lo 0,5–1% in qualità; in Q3_K_M, il guadagno è del 2–3%. In Q2_K, è l'unico modo per ottenere un risultato utilizzabile.
#Consigli per caso d'uso
Non c'è una risposta universale. Ecco le scelte che sosteniamo, suddivise per profilo:
- VRAM abbondante (il modello occupa < 60% della memoria della scheda)
- Scegli Q6_K. Differenza impercettibile rispetto a FP16, file più leggero del 40%. Nessun motivo per scendere.
- VRAM appena sufficiente per il modello
- Q4_K_M rimane una scelta predefinita ragionevole. Risparmia VRAM per la cache KV e per un contesto lungo.
- Uso esigente in francese (scrittura, ambito giuridico, ambito medico)
- Passa almeno a Q5_K_M. La perdita di qualità in francese con Q4 si nota. Se possibile, scegli Q6_K.
- Modello MoE (Llama 4, DeepSeek, Qwen3-A3B)
- Q5_K_M piuttosto che Q4_K_M. I modelli MoE risentono maggiormente della quantizzazione aggressiva.
- Modello piccolo (1B–3B) per edge / CPU
- Sempre Q8_0. I piccoli modelli hanno poca ridondanza: la perdita di bit li penalizza molto.
- Modello per la programmazione (Qwen3-Coder, Devstral)
- Q5_K_M o Q6_K. Il codice non tollera allucinazioni sottili; il risparmio di VRAM offerto da Q4 non vale la pena.
- VRAM molto limitata (8 GB), desideri un modello di grandi dimensioni
- IQ3_M o IQ3_XS con imatrix. Meglio di Q3_K_M a dimensioni uguali.
- Senza GPU, solo CPU
- Q4_K_M. Gli IQ-quants rallentano l'esecuzione con la sola CPU, Q5 occupa troppa RAM, Q4_K_M è il miglior compromesso tra velocità di generazione e qualità.
#Insidie comuni
- Confrontare la perplessità tra famiglie di modelli
- Non ha utilità. La PPL è confrontabile solo mantenendo lo stesso modello e usando lo stesso corpus. Confronta Qwen3 Q4 con Qwen3 Q5, non Qwen3 Q4 con Llama 4 Q4.
- Q4_0 o Q4_1
- Questi vecchi schemi non-K non hanno più motivo di esistere. Se trovi un GGUF Q4_0 recente, probabilmente è stato caricato senza cura — passa oltre.
- Quantizzazione della cache KV
- È un altro argomento (parametro --cache-type-k q8_0 in llama.cpp). Viene spesso confuso con la quantizzazione del modello. Fare entrambe le cose contemporaneamente riduce il consumo di VRAM, ma cumula le perdite di qualità.
- Tensori critici a bassa precisione
- Alcuni strumenti permettono di portare embed e output a Q8 anche in un GGUF Q4. È ciò che fa Q4_K_M per impostazione predefinita. Se vedi Q4_K_S contrassegnato come «puro Q4» da chi lo ha caricato, diffida: la qualità effettiva è inferiore.
- Credere che Q5_K_M richieda il 25% di VRAM in più rispetto a Q4_K_M
- Falso. La differenza effettiva nelle dimensioni dei file è di circa il 18%. E una volta in VRAM, la cache KV (contesto) occupa lo stesso spazio in entrambi i casi.
#Per approfondire
Questo confronto presuppone che tu sappia già gestire i GGUF e avviare llama.cpp. Se alcuni punti non fossero ancora chiari, ecco le guide correlate:
- Scegliere la quantizzazione (Q4, Q5, Q8, FP16)
- La nostra guida introduttiva se vuoi conoscere le basi prima di questo confronto avanzato.
- TurboQuant: quantizzare modelli grandi
- Il passo successivo per far entrare un modello frontier (>100B) su hardware di fascia consumer.
- Compilare llama.cpp con CUDA
- Indispensabile per quantizzare autonomamente con imatrix pesi appena pubblicati.
Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.