La quantizzazione riduce la precisione dei pesi (da FP16 a INT8/INT4/INT2), abbattendo l'uso di RAM/VRAM con perdita di qualità quasi impercettibile nei formati K-quant.
Comandi pratici con llama.cpp:
BASH
# 1. Conversione checkpoint HuggingFace in GGUF FP16
python3 convert_hf_to_gguf.py ./models/Llama-3-8B/ --outfile model-f16.gguf
# 2. Quantizzazione bilanciata consigliata (Q4_K_M = ~4.5 bit per peso)
./llama-quantize model-f16.gguf model-Q4_K_M.gguf Q4_K_M
# 3. Esecuzione e benchmark velocità token/s da terminale
./llama-cli -m model-Q4_K_M.gguf -p "Spiega il modello OSI in 3 punti" -ngl 33 -c 4096Tabella di scelta rapida:
- Q4_K_M: miglior rapporto memoria/accuratezza per homelab (8B gira in ~6 GB VRAM).
- Q8_0: quasi identico a FP16, ideale se hai RAM abbondante.
- Q2_K / Q3_K_S: solo per far entrare modelli enormi (70B) in hardware consumer con perdita semantica sensibile.