Ridurre le dimensioni dei modelli per GPU con poca VRAM
La quantizzazione riduce la precisione dei pesi del modello (da FP16 a INT8 o INT4) per risparmiare VRAM mantenendo qualità accettabile.
1. Formati di quantizzazione
- GGUF: formato di llama.cpp, usato da Ollama, CPU + GPU
- AWQ: quantizzazione 4-bit ottimizzata, supportata da vLLM
- GPTQ: quantizzazione 4-bit classica, ampio supporto
- EXL2: formato di ExLlamaV2, massime prestazioni
2. Livelli di quantizzazione GGUF
| Livello | Bit | Qualità | VRAM (7B) |
|---|---|---|---|
| Q2_K | 2-bit | Bassa | ~3 GB |
| Q4_K_M | 4-bit | Buona | ~4.5 GB |
| Q5_K_M | 5-bit | Ottima | ~5.5 GB |
| Q8_0 | 8-bit | Eccellente | ~7.5 GB |
| F16 | 16-bit | Originale | ~14 GB |
3. Scegliere la quantizzazione giusta
# Tesla P4 (8 GB VRAM): Q4_K_M per modelli 7B, Q2_K per 13B
# Tesla P100 (16 GB VRAM): Q5_K_M per 13B, Q4_K_M per 30B
# RTX 3060 (12 GB VRAM): Q4_K_M per 13B, Q8_0 per 7B
4. Scaricare modelli quantizzati
# Con Ollama (GGUF automatico)
ollama pull llama3.2:8b-q4_K_M
# Da HuggingFace (GGUF manuale)
wget https://huggingface.co/TheBloke/Llama-2-7B-GGUF/resolve/main/llama-2-7b.Q4_K_M.gguf
5. Quantizzare un modello
# Con llama.cpp
./quantize modello-f16.gguf modello-q4km.gguf Q4_K_M
La quantizzazione Q4_K_M è il sweet spot: riduce la VRAM del 75% con perdita di qualità minima, permettendo di eseguire modelli grandi su GPU consumer.