Il fine-tuning di un LLM significa prendere un modello pre-addestrato e addestrarlo sui tuoi dati specifici in modo che esegua il tuo compito meglio di qualsiasi prompt. La barriera d'ingresso è crollata: QLoRA + Unsloth ora permettono di fare fine-tuning di un modello a 8 miliardi di parametri su una GPU consumer da 12 GB per meno di 1 € in costi cloud.
Questa guida copre l'intero percorso -- quando fare fine-tuning (vs. RAG o prompt engineering), quale metodo e framework scegliere, come preparare il dataset, una guida Llama 3 pronta per il copia-incolla, scenari di costo reali e il deployment.
Ora scopriamo se il fine-tuning è davvero la scelta giusta per il tuo progetto.
Questa è la domanda che la maggior parte degli sviluppatori salta -- e gli costa settimane di sforzi sprecati. Il fine-tuning è potente, ma non è sempre lo strumento giusto. Ecco un framework per decidere.
La decisione si riduce a cosa stai cercando di cambiare. Ecco scenari reali:
Se stai scegliendo il giusto stack AI per il tuo SaaS, questo framework decisionale è il primo passo. Molti team costruiscono pipeline RAG complesse quando un fine-tune di 500 esempi darebbe loro risultati più coerenti con latenza inferiore.
Verdetto: Fai il fine-tuning quando hai bisogno che il modello si comporti diversamente, non solo che sappia cose diverse. Se hai solo bisogno di nuove conoscenze, il RAG è più economico e facile da mantenere. Se hai bisogno di entrambe le cose, opta per l'approccio ibrido.
Metodo più popolare QLoRA (LoRA quantizzato a 4 bit) -- gestisce il 90% del fine-tuning su GPU consumer
Framework più veloce (2026) Unsloth (2–5x più veloce, 70% meno VRAM del training standard)
Hardware minimo GPU con 12 GB VRAM (RTX 3060) con QLoRA
Opzione cloud più economica ~0,34 $/h su RunPod (RTX 4090)
Dimensione del dataset 100–10.000 esempi (500+ raccomandati per la produzione)
Tempo di training 30 min – 8 ore a seconda delle dimensioni del modello e del dataset
Migliori modelli base (2026) Llama 3.x, Qwen 2.5, Mistral, Gemma 2, Phi-4
Passaggio 3: Configurare gli Adapter LoRA
python
# Aggiungere adapter LoRA al modello
model = FastLanguageModel.get_peft_model(
model,
r=16, # Rango LoRA -- 16 è il punto ottimale per la maggior parte dei compiti
target_modules=["q_proj", "k_proj", "v_proj", "o_proj",
"gate_proj", "up_proj", "down_proj"],
lora_alpha=16, # Fattore di scala (di solito uguale a r)
lora_dropout=0, # Unsloth ottimizza per dropout 0
bias="none",
)
Con r=16, stai addestrando circa 40 milioni di parametri su 8 miliardi -- meno dello 0,5% del modello. Questa è la magia di LoRA.