Intermedio 14 minQuantization

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.

Di Marie L.·Agg. 2026-06-11·Testato su Windows, macOS e Linux

#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.

i
A chi si rivolge questa guida
Sai già cos'è la quantizzazione (altrimenti, consultare la nostra guida introduttiva Q4/Q5/Q8). Usi direttamente llama.cpp, oppure Ollama / LM Studio in background. Vuoi ottimizzare una configurazione locale anziché usare la quantizzazione proposta per impostazione predefinita.

#Breve riepilogo: GGUF e i K-quants

Il kit IA Locale

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.
→
E le quantizzazioni IQ?
IQ2_XS, IQ3_S, IQ4_XS… utilizzano codebook (quantizzazione vettoriale). Offrono una qualità migliore rispetto ai K-quants a parità di bit, ma sono più lenti nell'inferenza eseguita esclusivamente sulla CPU e con offload su RAM/SSD. Per un uso con offload completo sulla GPU, spesso ne vale la pena. Li esamineremo più avanti.

#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.

Esempio: generare un GGUF Q5_K_M con imatrix
# 1. Calibration imatrix sur un corpus mixte
./llama-imatrix \
  -m qwen3-14b-f16.gguf \
  -f calibration_mixte_fr_en_code.txt \
  -o qwen3-14b.imatrix

# 2. Conversion avec imatrix
./llama-quantize \
  --imatrix qwen3-14b.imatrix \
  qwen3-14b-f16.gguf \
  qwen3-14b-Q5_K_M.gguf \
  Q5_K_M

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à.

!
La perplessità non dice tutto
Un modello può avere una PPL leggermente peggiorata e scendere di un intero livello nelle capacità di ragionamento. Al contrario, una PPL identica può nascondere allucinazioni sottili. Incrociare sempre questi dati con test qualitativi sul tuo caso d'uso.

#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
i
La soglia psicologica
Tra Q4_K_M e Q5_K_M, la differenza di qualità in francese è dell'ordine del 4–5%. Nella scrittura professionale o in ambito giuridico si nota. Nelle chat tecniche in inglese e francese è impercettibile. La buona abitudine: provare con 10 prompt rappresentativi del tuo utilizzo prima di rendere definitiva la scelta.

#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
→
Come capire se un GGUF è imatrix
Il nome del file contiene spesso imat o i1 (nel caso di mradermacher). Sulla pagina HF, la scheda del modello menziona la calibrazione. Per un uso in francese, preferisci i GGUF la cui imatrix include il francese — altrimenti, ricreala tu stesso in 10 minuti con llama-imatrix.

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.
!
Verifica il SHA256
I file GGUF circolano su Hugging Face, a volte riconfezionati altrove. Un file modificato (intenzionalmente o meno) può produrre risultati con distorsioni sottili senza crash visibili. Verifica sempre che l'hash corrisponda a quello dichiarato da chi ha caricato il file originale.

#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.
Questa guida ti è stata utile?

Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.