Cos'è
Il fine-tuning completo continua l'addestramento dell'intero modello sui propri esempi: ogni peso in ogni layer può cambiare. È la forma più diretta di fine-tuning e meccanicamente identica alle fasi finali di costruzione del modello. L'alternativa è il parameter-efficient fine-tuning (PEFT), come LoRA, che congela i pesi originali e addestra invece un piccolo componente aggiuntivo.
Dove viene impiegata la memoria
L'esecuzione di un modello richiede solo i suoi pesi. L'addestramento di ogni peso richiede, per ciascuno di essi, il peso stesso, il suo gradiente e lo stato dell'ottimizzatore. Con AdamW nella consueta configurazione a precisione mista, si tratta di un peso a 16 bit e di un gradiente a 16 bit per i passaggi in avanti e all'indietro, più una copia master a 32 bit del peso e le due medie mobili a 32 bit di Adam, mantenute per aggiornamenti stabili. Il calcolo del paper ZeRO stima questo valore a 16 byte per peso; altre configurazioni che mantengono i gradienti a 32 bit arrivano a circa 18.
per trainable weight · AdamW · mixed precision
16-bit weight 2 bytes
16-bit gradient 2 bytes
32-bit master weight 4 bytes
32-bit Adam momentum 4 bytes
32-bit Adam variance 4 bytes
───────────────────────────────────
16 bytes + activations
7B model: 7 × 10⁹ × 16 bytes ≈ 112 GB- Sola esecuzione a 16 bit: 7 miliardi × 2 byte ≈ 14 GB.
- Fine-tuning completo con AdamW: 7 miliardi × 16 byte ≈ 112 GB, prima delle attivazioni. Si tratta di una capacità superiore a quella di una singola GPU da 80 GB, pertanto il lavoro viene suddiviso su più GPU con tecniche come ZeRO o FSDP, che ripartiscono lo stato dell'ottimizzatore, i gradienti e i pesi tra di esse.
- LoRA a rango 16 su tutti i layer lineari di un modello da 7B in stile Llama: circa 40 milioni di pesi addestrabili, lo 0,6% del modello. Il loro stato di addestramento è di circa 40 milioni × 16 byte ≈ 0,6 GB, in aggiunta ai 14 GB della base congelata: all'incirca 15 GB.
- QLoRA: la base congelata mantenuta a 4 bit occupa circa 3,5 GB, quindi il totale è di circa 4–5 GB più le attivazioni, alla portata di una singola GPU consumer.
- Le attivazioni si aggiungono in ogni caso e crescono con la dimensione del batch e la lunghezza della sequenza. Il gradient checkpointing scambia calcolo aggiuntivo con una minore memoria di attivazione.
Cosa offre
Il fine-tuning completo può modificare il modello in qualsiasi direzione, non solo all'interno del piccolo sottospazio raggiungibile da un adattatore. Uno studio che ha confrontato i due metodi ha rilevato che il fine-tuning completo apprende modifiche con un rango da 10 a 100 volte superiore rispetto alle tipiche impostazioni LoRA e che ha appreso di più su ampi set di addestramento di codice e matematica di circa 100.000 esempi. Per il comune caso d'uso aziendale, da poche centinaia a qualche migliaio di esempi di chat che insegnano il tono, il formato e la terminologia di dominio, LoRA applicato a tutti i layer generalmente eguaglia il fine-tuning completo.
Gli svantaggi: la dimenticanza
La dimenticanza catastrofica è la tendenza di una rete addestrata su qualcosa di nuovo a perdere ciò che ha appreso in precedenza. Poiché il fine-tuning completo può spostare ogni peso, ha il massimo margine per sovrascrivere le abilità generali: un modello di supporto che risponde perfettamente alle domande sui prodotti ma è peggiorato nel seguire istruzioni non correlate. Uno studio empirico sul continual instruction tuning ha osservato la dimenticanza in modelli da 1B a 7B parametri, e si è scoperto che i modelli ottimizzati con LoRA, che mantiene la base congelata, dimenticano meno.
- Meno epoche e un tasso di apprendimento inferiore, in modo che i pesi si discostino meno dal punto di partenza.
- Integrazione di dati generali, come una quota di esempi ampi di esecuzione di istruzioni insieme ai propri.
- Valutazione oltre il proprio compito. Includere alcune domande generali nella valutazione in modo da evidenziare un'eventuale regressione.
- Preferire un adattatore a meno che non sia stato effettivamente misurato un vantaggio derivante dal fine-tuning completo.
Fine-tuning completo e LoRA a confronto
| Aspetto | Fine-tuning completo | Adattatore LoRA |
|---|---|---|
| Pesi addestrabili | Tutti | Tipicamente 0,1–1% |
| Memoria per l'addestramento | Circa 16 byte per peso, più le attivazioni | La base congelata (2 byte per peso, o circa 0,5 a 4 bit) più un piccolo adattatore |
| Risultato salvato | Una copia completa del modello, ad es. circa 14 GB per 7B a 16 bit | Un file adattatore, spesso da decine a centinaia di MB |
| Tasso di apprendimento tipico | Circa 1e-5 | Circa 10 volte superiore |
| Rischio di oblio | Maggiore | Minore |
| Ideale per | Grandi set di dati che insegnano nuove competenze sostanziali | Tono, formato e fraseggio di dominio; diverse varianti di una singola base |
Errori comuni
- Scegliere il fine-tuning completo perché sembra più approfondito. Sui piccoli dataset di solito costa molto di più senza alcun vantaggio misurabile.
- Preventivare la memoria della GPU in base alle dimensioni di download del modello. L'addestramento di ogni peso richiede circa otto volte i pesi a 16 bit, più le attivazioni.
- Addestrare per molte epoche a un tasso di apprendimento elevato e testare solo il compito target, per poi scoprire che le competenze generali si sono degradate.
- Dimenticare che ogni fine-tuning completo è un modello a grandezza naturale da archiviare e servire.
Riferimenti e letture di approfondimento
Le fonti esterne si aprono in una nuova scheda.
- 01ZeRO: Memory Optimizations Toward Training Trillion Parameter ModelsRajbhandari et al., 2019 · arXiv · arxiv.orgL'origine del calcolo di 16 byte per parametro e dello sharding utilizzato per distribuirlo su più GPU.
- 02GPU memory usageHugging Face Transformers docs · huggingface.coUna scomposizione di pesi, stati dell'ottimizzatore, gradienti e attivazioni durante l'addestramento.
- 03LoRA Learns Less and Forgets LessBiderman et al., 2024 · arXiv · arxiv.orgUn attento confronto tra fine-tuning completo e LoRA su codice e matematica: cosa apprende e cosa dimentica ciascuno.
- 04An Empirical Study of Catastrophic Forgetting in Large Language Models During Continual Fine-tuningLuo et al., 2023 · arXiv · arxiv.org
- 05LoRA vs. full fine-tuningTogether AI docs · docs.together.aiI consigli pratici di un provider su quando passare da un adattatore al fine-tuning completo.