Il fine-tuning e’ diventato una delle cose piu’ comuni che si fanno con gli LLM, ma il termine resta confuso per chi inizia. Un articolo di KDnuggets lo spiega senza matematica, partendo da un punto chiave: non si capisce il fine-tuning senza capire il passo che viene prima, cioe’ il pretraining. Fare fine-tuning significa letteralmente “regolare” qualcosa che esiste gia’, e quel qualcosa e’ un modello pretrained.
Prima il pretraining
Un modello appena creato ha miliardi di parametri con valori casuali. Insegnargli direttamente un compito molto specifico e’ impossibile: dovrebbe imparare da zero l’intera lingua allo stesso tempo, come pretendere che un bambino studi biologia prima di saper parlare. Il pretraining risolve il problema imparando una volta la parte generale e difficile, da enormi quantita’ di dati, con un compito semplice: predire la parola successiva. Data la frase “The cat sat on the ___”, il modello impara che “mat” e’ molto piu’ probabile di “car”. Ripetuto su miliardi di frasi, questo lo costringe ad assorbire grammatica, fatti e pattern di ragionamento. Da qui il nome foundation model. In pratica non si fa pretraining da soli: si scarica un modello gia’ pronto come Llama, Mistral o Qwen e si parte da li’.
Cosa cambia con il fine-tuning
Un modello pretrained ha i pesi impostati su “buoni valori” che codificano capacita’ generali. Il fine-tuning adatta quell’intelligenza a un’esigenza specifica usando dati task-specific, con requisiti di dati molto piu’ bassi del pretraining. Il loop e’ semplice: si mostra un esempio, il modello prova a rispondere, si confronta con la risposta ideale e si aggiustano un po’ i pesi. Due differenze rispetto al pretraining: i dati sono piccoli, di alta qualita’ e mirati al compito, e il learning rate e’ basso con pochi passaggi, per adattare il modello senza sovrascrivere le capacita’ generali.
Esistono due grandi famiglie. Il full fine-tuning lascia liberi tutti i parametri: il problema principale e’ la memoria, servono hardware serio e c’e’ piu’ rischio di catastrophic forgetting, cioe’ il modello diventa bravo sul compito ma perde le abilita’ generali. Il Parameter-Efficient Fine-Tuning (PEFT) congela il modello base e allena solo un piccolo insieme di nuovi parametri, con tecniche come LoRA, QLoRA e prompt tuning: meno memoria, meno tempo e minore rischio di forgetting. Per la maggior parte dei casi con gli LLM e’ la scelta di default.
Non e’ sempre la risposta
Il fine-tuning insegna bene una nuova skill, uno stile o un comportamento, ma non e’ l’unico strumento e spesso non il primo. A volte un prompt migliore risolve senza alcun addestramento; quando i fatti sono molti o cambiano spesso, il retrieval-augmented generation (RAG) e’ piu’ adatto. Non sono rivali: nella pratica molti sistemi li usano insieme.
- Il pretraining insegna la lingua una volta; il fine-tuning adatta quel modello a un compito con pochi dati mirati.
- PEFT (LoRA, QLoRA) e’ il default: meno memoria e meno rischio di catastrophic forgetting rispetto al full fine-tuning.
- Prima di lanciare un fine-tuning, vale la pena valutare se un prompt migliore o il RAG risolvono gia’ il problema.
Fonte: Fine-Tuning Explained for Noobs (How Pretrained Models Learn New Skills) — https://www.kdnuggets.com/fine-tuning-explained-for-noobs-how-pretrained-models-learn-new-skills
Hai qualcosa da aggiungere? Unisciti alla discussione.