Guide 8 minuti

Quantizzazione AI: scegliere Q4, Q5, Q8 e stimare RAM e VRAM

La quantizzazione riduce memoria e requisiti dei modelli AI. Guida pratica a Q4, Q5, Q8, GGUF, RAM, VRAM, qualità e scelta per Ollama.

Modello AI compresso in un blocco più piccolo con la frase Meno bit. Più possibilità.

Scaricare un modello da 7 o 14 miliardi di parametri non significa automaticamente poterlo usare bene sul proprio computer. Il vero limite, spesso, non è la potenza di calcolo dichiarata, ma quanta memoria serve per contenere i pesi del modello, la conversazione e i dati temporanei dell'inferenza.

Il file più piccolo è davvero più veloce? Verificalo con la guida pratica all’inference AI: TTFT, token al secondo, throughput e test ripetibili con Ollama.

La quantizzazione riduce la precisione numerica con cui vengono rappresentati i pesi. In pratica, consente di trasformare un modello molto pesante in una versione più piccola e più semplice da eseguire, accettando un possibile calo di qualità. È una delle tecniche che rendono realistica l'AI locale su PC, Mac, mini PC e workstation aziendali.

Questa guida spiega come leggere sigle come Q4, Q5, Q8, GGUF, GPTQ e AWQ, stimare RAM e VRAM e scegliere una variante adatta al proprio hardware senza affidarsi a regole assolute.

In breve

  • Q4 occupa circa un quarto rispetto a FP16 per i soli pesi ed è spesso un buon punto di partenza per l'uso locale.
  • Q5 e Q6 richiedono più memoria, ma possono conservare meglio la qualità in compiti sensibili.
  • Q8 è vicino al peso di un modello a 8 bit e ha senso quando la memoria non è il principale vincolo.
  • La dimensione del file non coincide con la memoria totale: contano anche context window, KV cache, runtime e offload.
  • Il formato migliore dipende dal software e dall'hardware: GGUF, GPTQ, AWQ e FP8 non sono intercambiabili in ogni ambiente.
  • La scelta corretta si fa con una prova controllata sui propri documenti e processi, non soltanto osservando un benchmark pubblico.

Indice

  1. Che cos'è la quantizzazione
  2. Come stimare RAM e VRAM
  3. Q4, Q5, Q6 e Q8 a confronto
  4. GGUF, GPTQ, AWQ, bitsandbytes e FP8
  5. Come scegliere in base all'hardware
  6. Quantizzare un modello con Ollama
  7. Come misurare qualità e prestazioni
  8. Caso pratico per una PMI
  9. Errori da evitare
  10. FAQ

Che cos'è la quantizzazione di un modello AI

I parametri di un modello sono numeri. Durante l'addestramento vengono normalmente rappresentati con formati a virgola mobile come FP32, FP16 o BF16. Maggiore è il numero di bit disponibile, maggiore è la precisione con cui ogni valore può essere memorizzato, ma aumenta anche lo spazio necessario.

La quantizzazione converte quei valori in una rappresentazione più compatta, per esempio a 8 o 4 bit. Non significa semplicemente “tagliare cifre”: gli strumenti moderni suddividono i pesi in blocchi, calcolano scale e altri metadati e cercano di preservare le informazioni più importanti. Per questo due varianti entrambe indicate come Q4 possono produrre risultati differenti.

La documentazione di Hugging Face sulla quantizzazione distingue tra quantizzazione dei pesi, delle attivazioni e di altri elementi del calcolo. Nei cataloghi per AI locale, la sigla nel nome del file riguarda soprattutto i pesi.

Quantizzazione non significa compressione ZIP

Un archivio ZIP deve essere decompresso prima dell'uso. Un modello quantizzato viene invece eseguito nella rappresentazione ridotta da un runtime compatibile: diminuiscono memoria e traffico tra memoria e processore, e l'inferenza può diventare più rapida.

Il compromesso è che la trasformazione introduce un errore numerico. Sui riassunti semplici può essere quasi impercettibile; su ragionamento, codice, lingue meno rappresentate, estrazione rigorosa e output strutturati può diventare più evidente.

Come stimare RAM e VRAM

Per una prima stima dei soli pesi si può usare questa formula:

memoria teorica = numero di parametri × bit per parametro ÷ 8

Per un modello da 7 miliardi di parametri:

Precisione Calcolo teorico Memoria dei soli pesi
FP16/BF16 7 miliardi × 16 ÷ 8 circa 14 GB
Q8 7 miliardi × 8 ÷ 8 circa 7 GB
Q5 7 miliardi × 5 ÷ 8 circa 4,4 GB
Q4 7 miliardi × 4 ÷ 8 circa 3,5 GB

Sono valori orientativi. Il file reale contiene metadati, scale e talvolta tensori mantenuti a precisione superiore. Durante l'esecuzione servono inoltre memoria per il runtime, buffer, attivazioni e conversazione. È quindi prudente lasciare margine e non scegliere un file che occupi tutta la RAM o VRAM disponibile.

Perché la dimensione del file non basta

La memoria totale dipende anche da:

  • context window e KV cache: una conversazione più lunga richiede più memoria;
  • numero di richieste contemporanee e dimensione dei batch;
  • architettura del modello e tipo di attenzione;
  • eventuale componente visiva di un modello multimodale;
  • percentuale di layer caricata sulla GPU e parte mantenuta in RAM;
  • implementazione e versione del runtime.

La guida alla context window spiega perché aumentare il contesto può far crescere il consumo anche quando il file del modello non cambia. Se il modello entra per pochi megabyte ma il sistema usa tutta la memoria, basta una conversazione più lunga per causare rallentamenti, offload o errori.

Q4, Q5, Q6 e Q8: quale scegliere

Non esiste un livello migliore in assoluto. La decisione dipende dall'attività e dal margine di memoria.

Variante Vantaggio principale Limite Uso indicativo
FP16/BF16 massima fedeltà al modello distribuito memoria molto elevata riferimento, server o ulteriori elaborazioni
Q8 perdita generalmente contenuta risparmio inferiore test di qualità, compiti sensibili, molta memoria disponibile
Q6/Q5 buon equilibrio tra qualità e dimensione più pesante di Q4 codice, estrazione o uso professionale da verificare
Q4 forte riduzione della memoria perdita più visibile in alcuni compiti chatbot locale, RAG, hardware consumer
Q3/Q2 modello molto compatto rischio di degrado più alto hardware fortemente limitato, solo dopo test accurati

Per molti modelli in formato GGUF, una variante come Q4_K_M è un punto di partenza pratico, non una garanzia universale. Le lettere aggiuntive descrivono lo schema utilizzato dal progetto llama.cpp; una quantizzazione “K” applica strategie diverse a gruppi di tensori. Il suffisso M o S indica varianti con un diverso equilibrio tra dimensione e qualità.

Se Q4 produce errori su dati importanti e rimane memoria libera, conviene provare Q5 o Q6. Se il computer esegue il modello con forte swap o non riesce a caricarlo, bisogna scendere di precisione oppure scegliere un modello con meno parametri. Passare da un 14B molto compresso a un 7B meno compresso non porta sempre a un peggioramento: l'unico confronto valido è sul proprio caso d'uso.

GGUF, GPTQ, AWQ, bitsandbytes e FP8

La sigla Q4 non specifica da sola formato o runtime.

GGUF

GGUF è comune nell'ecosistema llama.cpp ed è utilizzato anche da Ollama. È adatto a CPU, GPU e configurazioni ibride. Il repository di llama.cpp descrive il processo di quantizzazione e gli strumenti per confrontare dimensione, velocità e perplexity.

GPTQ e AWQ

GPTQ e AWQ sono metodi di quantizzazione post-addestramento diffusi soprattutto nei flussi di inferenza GPU. Possono offrire buone prestazioni, ma richiedono kernel e hardware supportati. Prima di scaricare una variante bisogna controllare la matrice del motore scelto: la documentazione di vLLM mostra che la compatibilità varia tra architetture e metodi.

bitsandbytes

bitsandbytes è usato in Transformers per caricare modelli a 8 o 4 bit e per l'addestramento efficiente. È rilevante per QLoRA, ma non è sinonimo di GGUF e non produce automaticamente un file per Ollama. La guida a LoRA e QLoRA chiarisce la differenza.

FP8

FP8 usa formati a virgola mobile a 8 bit ed è interessante sui server e sulle GPU recenti che lo supportano. Non va confuso con Q8 intero: precisione, kernel e requisiti sono diversi. Anche in questo caso, il vantaggio esiste soltanto se l'intera catena software-hardware lo gestisce correttamente.

Come scegliere in base all'hardware

PC o mini PC senza GPU dedicata

Su un sistema CPU-only, evita lo swap. Inizia da un 7B o 8B GGUF Q4, misura la velocità e riduci il contesto se la KV cache cresce troppo. Prova Q5 soltanto se c'è margine di RAM.

Mac con memoria unificata

La memoria è condivisa tra sistema, applicazioni e GPU. Lascia margine per macOS e per l'interfaccia: anche contesto e applicazioni aperte incidono sul risultato.

GPU NVIDIA consumer

Se tutti i layer entrano in VRAM, l'esecuzione è normalmente più fluida. In caso contrario, llama.cpp e Ollama possono ripartire il carico tra GPU e RAM. Valuta Q4 o Q5 per far entrare modello e KV cache in VRAM.

Server aziendale

Sul server contano batching, latenza al primo token, throughput, replica e picchi di memoria. Verifica supporto del motore, metriche e rollback. Per approfondire consulta la guida ai modelli open weights.

Come quantizzare un modello con Ollama

Se possiedi un modello compatibile in FP16 o FP32, Ollama permette di creare una variante quantizzata. Non serve farlo quando il catalogo offre già una conversione affidabile e documentata.

  1. Installa Ollama e verifica che il comando risponda.
  2. Prepara un Modelfile che punti al modello sorgente.
  3. Crea la variante scegliendo un livello supportato.
  4. Avvia il modello e confrontalo con la sorgente.

Esempio di Modelfile:

FROM /percorso/al/modello

Comando documentato da Ollama:

ollama create --quantize q4_K_M mio-modello-q4
ollama run mio-modello-q4

La documentazione ufficiale di Ollama indica attualmente q8_0, q4_K_S e q4_K_M tra le opzioni supportate dal comando di importazione. Verifica sempre la versione installata, perché formati e compatibilità possono cambiare.

Evita di quantizzare nuovamente un modello già quantizzato: ogni passaggio può sommare errori e rendere più difficile ricostruire la provenienza. Parti, quando possibile, dai pesi originali a precisione superiore e conserva il nome, la licenza, la versione e l'hash del file sorgente.

Come misurare qualità e prestazioni

Un benchmark generico non conosce i documenti, il lessico e i vincoli della tua azienda. Prepara invece un piccolo set di test rappresentativo.

Test minimo ripetibile

  1. Seleziona 20-50 richieste reali e rimuovi dati personali.
  2. Usa lo stesso prompt, la stessa temperatura e lo stesso contesto per ogni variante.
  3. Definisci prima i criteri: correttezza, citazioni, JSON valido, campi estratti, tono e rifiuti appropriati.
  4. Registra RAM, VRAM, tempo al primo token e token al secondo.
  5. Fai valutare a una persona gli errori che possono avere impatto operativo.

Per un sistema RAG collegato ai documenti, misura separatamente recupero e generazione. Una citazione sbagliata può dipendere dalla ricerca, dal prompt o dal modello; attribuire ogni errore alla quantizzazione porta a conclusioni errate.

Una matrice di decisione semplice

Criterio Peso di esempio Q4 Q5 Q8
correttezza sul test interno 40%
latenza percepita 20%
memoria di picco 20%
stabilità output strutturato 10%
consumo energetico 10%

La variante vincente non è quella con il file più piccolo, ma quella che raggiunge la soglia di qualità al costo operativo più basso.

Caso pratico: assistente documentale per una PMI

Una PMI vuole usare Open WebUI con Ollama per rispondere su procedure interne. Dispone di una GPU da 12 GB e confronta tre varianti dello stesso modello 8B.

  • Q8 genera risposte corrette, ma lascia poco margine alla KV cache e rallenta con conversazioni lunghe.
  • Q4 è molto rapido e compatto, ma nei test confonde due codici procedura simili.
  • Q5 conserva la correttezza di Q8 sui casi critici e lascia memoria sufficiente per il contesto previsto.

La scelta è Q5. L'azienda documenta modello, quantizzazione, runtime, test, soglia minima e responsabile dell'approvazione. A ogni aggiornamento ripete i test prima della sostituzione.

Errori da evitare

  • Scegliere la quantizzazione soltanto dalla quantità di VRAM dichiarata.
  • Confondere dimensione su disco e memoria totale in esecuzione.
  • Impostare una context window enorme “per sicurezza”.
  • Confrontare varianti con prompt o parametri diversi.
  • Usare una seconda quantizzazione come sorgente per la successiva.
  • Presumere che Q4_K_M sia sempre migliore per ogni modello e attività.
  • Ignorare licenza, model card, provenienza e checksum.
  • Valutare solo token al secondo e non gli errori operativi.
  • Mettere in produzione una nuova variante senza rollback.

FAQ

Q4 significa esattamente 4 bit per ogni parametro?

È una semplificazione. Blocchi, scale, metadati e tensori a precisioni diverse fanno variare la dimensione effettiva.

Q4_K_M è sempre la scelta migliore per Ollama?

No. È un buon punto di partenza per molti modelli locali, ma qualità, velocità e compatibilità devono essere verificate sul modello, sull'hardware e sul compito specifico.

Un modello più grande in Q4 è migliore di uno più piccolo in Q8?

Non necessariamente. Può conservare capacità superiori oppure perdere precisione nei compiti che interessano. Serve un test comparabile.

La quantizzazione riduce anche il numero di token?

No. Tokenizzazione e quantizzazione sono concetti distinti. Il numero di token del prompt non cambia; cambia la rappresentazione numerica del modello e, a seconda del runtime, di altri dati. La guida ai token chiarisce come testo, costi e contesto sono calcolati.

Posso quantizzare qualunque modello?

Solo se architettura, formato sorgente e runtime sono supportati. Controlla la documentazione dello strumento, la licenza del modello e l'eventuale presenza di componenti aggiuntivi.

Quantizzare protegge i dati?

No. La quantizzazione rende più semplice eseguire un modello in locale, ma non introduce cifratura, controllo accessi o audit. Privacy e sicurezza dipendono dall'intera architettura.

Conclusioni

La quantizzazione è ciò che permette a molti modelli open weights di uscire dal data center ed entrare su hardware accessibile. Il vantaggio, però, non consiste nel comprimere il più possibile. Consiste nel trovare il livello minimo di precisione che mantiene affidabile il proprio processo.

Parti da una stima della memoria, lascia margine per contesto e runtime, scegli un formato supportato e confronta Q4, Q5 o Q8 su richieste reali. Documenta la decisione e ripeti i test a ogni aggiornamento: una piccola matrice interna vale più di una classifica generica.

Vuoi ricevere altre guide pratiche su AI locale, integrazioni e governance per professionisti e PMI? Iscriviti gratuitamente alla newsletter di Basi di AI.

Fonti ufficiali

Una pillola di AI

Capire prima. Usare meglio.

Ricevi guide pratiche e notizie selezionate, senza rumore e senza sensazionalismi.

Iscriviti gratuitamente
Giuseppe D'Agata
Scritto da

Giuseppe D'Agata

Solution Engineer in Zenita Group e autore di Basi di AI. Oltre 24 anni di esperienza in infrastrutture ICT, networking, Unified Communication, software, automazione e intelligenza artificiale.