Risorse / Guida

L'addestramento dei modelli, spiegato

Tutto ciò che c'è dietro il fine-tuning di un modello linguistico sui Suoi dati, un concetto alla volta. Inizi da dove preferisce: ogni scheda apre una pagina completa con il meccanismo, un esempio pratico, le impostazioni, gli errori comuni e le fonti primarie.

9 capitoli68 concetti
01

Il quadro generale

Il fine-tuning non crea un modello da zero. Indirizza un modello esistente fornendo numerosi esempi del comportamento desiderato.

  1. 01Sessioniselezionare le chat
  2. 02Datasetraccogliere esempi
  3. 03Providerdove viene addestrato
  4. 04Preparazione datipulire + convertire
  5. 05Addestramentoeseguire il job
  6. 06Valutazionedimostrare il miglioramento
  7. 07Chat di testprovare direttamente
  8. 08Utilizzomettere in funzione
La pipeline di addestramento. Ogni fase consegna un artefatto congelato e ispezionabile alla successiva, in modo che qualsiasi esecuzione possa essere ricondotta alle esatte chat da cui ha appreso.
02

Token e contesto

I modelli leggono e scrivono token, non caratteri o parole. Quasi ogni limite e ogni costo nell'addestramento viene calcolato in base a essi.

03

Dalle chat agli esempi di addestramento

Una chat diventa un dato di addestramento decidendo quali delle sue risposte il modello debba imparare a scrivere.

04

Dataset

Una raccolta di esempi statica e denominata — proveniente da chat reali, chat generate, dataset pubblici o feedback sulle chat — e il singolo fattore più determinante per la qualità finale del modello addestrato.

ConcettoCos'è un datasetUna raccolta denominata e congelata di esempi di addestramento — copiati dalle chat, scritti da un modello o importati — oltre a eventuali documenti da cui imparare: perché si tratta di un'istantanea anziché di un collegamento, e cosa significa questo per le correzioni, le importazioni e la riproducibilità.Approfondire →Best practiceCosa rende valido un datasetLe proprietà che determinano se il fine-tuning migliora un modello — corretto, coerente, vario, mirato e rappresentativo — e come verificare ciascuna di esse prima dell'addestramento.Approfondire →MetodoDati sintetici e il Generatore di datasetCome un modello avanzato può scrivere le conversazioni di esempio che non possiede ancora, e come il brief, il piano, i controlli e la revisione del Generatore di dataset mantengono tali chat variegate, fondate sui fatti e sotto il Suo controllo.Approfondire →ConcettoDataset pubblici da Hugging FaceCosa contiene un dataset pubblico di Hugging Face, i formati comuni in cui si presentano tali dataset e perché alcuni dataset diventano chat, altri documenti e altri ancora non possono essere utilizzati affatto per l'addestramento.Approfondire →MetodoApprendimento dal feedback della chatCome i pollici in su, i pollici in giù e Aggiorna nella chat diventano dati di addestramento: le risposte apprezzate per l'addestramento supervisionato, le coppie per l'ottimizzazione delle preferenze e le risposte non apprezzate inviate a un revisore.Approfondire →
05

Preparazione dei dati

La preparazione dei dati trasforma gli esempi del dataset negli esatti file di addestramento richiesti da un provider: ripuliti, oscurati, ridotti e suddivisi in set di addestramento, validazione e test.

Fase della pipelinePuliziaLa pulizia rimuove le risposte da cui un modello non dovrebbe mai imparare — errori, rifiuti, markup dell'interfaccia, duplicati e risposte predefinite — e corregge la struttura in modo che ogni record sia valido per l'addestramento.Approfondire →Fase della pipelineDati personali e segreti (PII)Prima dell'addestramento, email, numeri di telefono, numeri di carta, IBAN, documenti d'identità e chiavi API vengono rilevati e, per impostazione predefinita, sostituiti con segnaposto, poiché un modello sottoposto a fine-tuning può ripetere il testo di addestramento parola per parola.Approfondire →ImpostazioneLimiti dei token e troncamentoOgni provider pone un limite al numero di token che un esempio di addestramento può contenere. Le conversazioni lunghe che superano il limite vengono troncate — rimuovendo prima gli scambi più vecchi — o scartate.Approfondire →Fase della pipelineSplit di validazioneUna quota di conversazioni viene esclusa dall'addestramento e utilizzata per osservare la loss su dati da cui il modello non apprende. La suddivisione avviene per intere conversazioni, in modo che nessuna parte di una chat riservata contamini l'addestramento — e non coincide con il set di test conservato per la valutazione.Approfondire →ImpostazionePrompt di sistemaIl prompt di sistema è un'istruzione permanente inserita prima di ogni conversazione. Aggiunto durante l'addestramento, il modello apprende il proprio comportamento in presenza di quell'esatto prompt, pertanto dovrebbe rimanere invariato quando il modello viene utilizzato.Approfondire →ConcettoFile di addestramento JSONLIl JSONL (JSON Lines) è un file di testo contenente un oggetto JSON completo per riga. È il formato standard per i dati di fine-tuning: una riga corrisponde a un record di addestramento.Approfondire →
06

Cosa succede durante l'addestramento

L'addestramento è un ciclo: prevedere, misurare l'errore, calcolare come dovrebbe cambiare ogni peso, modificarlo leggermente — e ripetere migliaia di volte.

ConcettoIl ciclo di addestramentoIl fine-tuning è una breve procedura ripetuta migliaia di volte: prevedere la risposta target, misurare l'errore della previsione, calcolare in quale direzione deve muoversi ciascun peso e spostarlo leggermente.Approfondire →ConcettoEpoca, batch e stepUn batch è il gruppo di esempi alla base di un aggiornamento dei pesi, uno step è un singolo aggiornamento e un'epoca è un passaggio completo sui dati di addestramento. Insieme determinano la frequenza con cui il modello cambia e quante volte analizza ciascun esempio.Approfondire →MetodoFine-tuning completoIl fine-tuning completo aggiorna ogni peso nel modello. Ha il massimo margine per modificare il comportamento, ma richiede una memoria GPU pari a molte volte le dimensioni del modello stesso ed è il più propenso a erodere le competenze che il modello di base possedeva.Approfondire →MetodoLoRA e adattatori (PEFT)LoRA congela il modello di base e addestra due piccole matrici accanto a layer selezionati, il cui prodotto viene aggiunto ai pesi congelati. Riduce drasticamente i pesi addestrabili e la memoria e, se ben configurato, eguaglia il fine-tuning completo sui tipici set di dati di fine-tuning.Approfondire →MetodoQLoRA (LoRA a 4 bit)QLoRA addestra un normale adapter LoRA su un modello di base archiviato a 4 bit anziché a 16. La memoria di addestramento si riduce a circa un terzo, consentendo alla stessa macchina di effettuare il fine-tuning di un modello circa tre volte più grande, con un lieve impatto sulla velocità.Approfondire →ConcettoGradient checkpointingIl gradient checkpointing risparmia memoria conservando solo alcuni dei risultati intermedi del forward pass e ricalcolando i restanti quando il backward pass ne ha bisogno. Utilizza molta meno memoria e rende l'addestramento circa il 20–30% più lento.Approfondire →Best practiceCi sarà spazio per il modello? Memoria per l'addestramentoL'addestramento richiede spazio per i pesi del modello, i suoi gradienti e lo stato dell'ottimizzatore, oltre alla memoria di lavoro. Una semplice regola empirica, circa 2 GB per miliardo di parametri per LoRA e 12 GB per il full fine-tuning, permette di sapere prima di iniziare se un modello è adatto alla propria macchina.Approfondire →ConcettoModelli open-weightUn modello open-weight è un modello i cui pesi addestrati vengono pubblicati affinché chiunque possa scaricarli, in modo che possa essere sottoposto a fine-tuning ed eseguito sull'hardware prescelto. La sua licenza stabilisce cosa è possibile farne, e la versione di partenza è tanto importante quanto la famiglia di appartenenza.Approfondire →ImpostazioneIperparametriGli iperparametri sono le impostazioni di addestramento da Lei scelte, come le epoche, il tasso di apprendimento, la dimensione del batch e il rango dell'adattatore, in contrapposizione ai pesi che il modello apprende. Auto li seleziona dai Suoi dati ed effettua una prima esecuzione ottimale; questa pagina illustra ciascun iperparametro per consentirLe di perfezionarli successivamente.Approfondire →ImpostazioneTasso di apprendimentoIl tasso di apprendimento stabilisce di quanto si spostano i pesi a ogni aggiornamento. È l'impostazione di addestramento più sensibile: se troppo alto va oltre il limite e può cancellare le competenze, se troppo basso cambia a malapena il modello. Una pianificazione solitamente lo incrementa con un warm-up per poi farlo decadere nel corso dell'esecuzione.Approfondire →MetricaInterpretare le curve di lossLa loss di addestramento indica quanto il modello si adatti agli esempi da cui apprende; la loss di validazione indica la sua capacità di prevedere esempi esclusi su cui non è mai stato addestrato. Il divario tra le due curve è il segnale più utile fornito da un'esecuzione di addestramento.Approfondire →MetricaOverfitting e underfittingL'overfitting si verifica quando un modello memorizza i propri esempi di addestramento invece di apprenderne lo schema sottostante, ottenendo così buoni risultati su quegli esempi e risultati peggiori su quelli nuovi. L'underfitting è l'opposto: non ha appreso affatto lo schema.Approfondire →ConcettoCome viene fatturato l'addestramentoLa maggior parte del fine-tuning gestito viene fatturata per token elaborato: token nel file di addestramento moltiplicati per le epoche e per un prezzo. I job su GPU a noleggio vengono invece fatturati a tempo. L'utilizzo successivo del modello rappresenta un costo separato.Approfondire →
07

Metodi di addestramento

I metodi differiscono per il segnale da cui il modello apprende — e di conseguenza per i dati necessari e per ciò che ciascuno può o non può insegnare.

I quattro metodi differiscono in una cosa: il segnale da cui il modello apprende.

Ottimizzazione delle preferenze

MetodoTuning delle preferenze (DPO)La Direct Preference Optimization addestra un modello su coppie di risposte, una migliore e una peggiore, in modo che impari a preferire la tipologia migliore, senza il modello di ricompensa e il ciclo di apprendimento per rinforzo necessari nel classico RLHF.Approfondire →ImpostazioneBeta (β) nel DPOBeta stabilisce con quanta forza il preference tuning vincola il modello al suo punto di partenza: valori più bassi consentono alle coppie di modificarlo maggiormente, valori più alti lo mantengono più vicino all'originale.Approfondire →MetricaInterpretare la loss DPOLa loss DPO misura con quanta chiarezza il modello preferisca ora la risposta migliore in ogni coppia, rispetto al punto di partenza. Inizia a ln 2 ≈ 0,693 e scende verso 0 man mano che la preferenza viene appresa.Approfondire →Best practiceDa dove provengono le buone coppie di preferenzeUna coppia di preferenze è un prompt con una risposta migliore e una peggiore. L'efficacia della DPO dipende principalmente dal fatto che la differenza tra le due risposte sia ciò che Lei desidera effettivamente cambiare.Approfondire →MetricaAccuratezza delle preferenzeL'accuratezza delle preferenze è la percentuale di coppie per le quali il modello ora assegna alla risposta preferita una ricompensa implicita maggiore rispetto a quella non preferita, in relazione al punto di partenza. Inizia vicino al 50% e aumenta man mano che la preferenza viene appresa.Approfondire →Best practiceLa ricetta standard: SFT, poi DPOL'ottimizzazione delle preferenze affina le risposte che un modello è già in grado di fornire, pertanto la ricetta abituale prevede due fasi: il fine-tuning supervisionato per insegnare l'attività, seguito dalla DPO in continuazione da quel modello e valutata rispetto ad esso.Approfondire →

Fine-tuning per rinforzo

MetodoReinforcement fine-tuning (RFT)Il reinforcement fine-tuning addestra un modello sui punteggi anziché su risposte di esempio: risponde a ogni prompt diverse volte, un correttore valuta ogni tentativo e il modello si orienta verso ciò che ha ottenuto il punteggio migliore.Approfondire →MetodoGRPO, passo dopo passoLa Group Relative Policy Optimization valuta diverse risposte allo stesso prompt e rafforza quelle al di sopra della media del gruppo. Sostituisce il modello di valore separato della PPO con questo semplice confronto.Approfondire →ImpostazioneValutatori: come vengono valutate le risposteUn valutatore trasforma una risposta in un numero compreso tra 0 e 1. Nel fine-tuning con rinforzo è l'unica definizione di "buono" che il modello vede, quindi la scelta del valutatore decide cosa impara il modello.Approfondire →ImpostazioneImpostazioni RFTLe sei impostazioni di un'esecuzione di reinforcement fine-tuning: cosa valuta le risposte, quante risposte scrive il modello e quanto possono essere lunghe, oltre all'entità e all'ancoraggio di ciascun aggiornamento.Approfondire →MetricaMetriche RFT da monitorareRicompensa, tasso di troncamento, dispersione della ricompensa e lunghezza del completamento: i quattro grafici che indicano se un'esecuzione di rinforzo sta imparando, è in stallo o sta manipolando il suo valutatore.Approfondire →MetricaControlli held-out nel fine-tuning con rinforzoQuando un fornitore esegue il fine-tuning di rinforzo su un modello di ragionamento in hosting, ripropone alcune domande di validazione escluse ogni pochi step e valuta le risposte con lo stesso valutatore. Ogni domanda diventa una cronologia che mostra se l'addestramento si generalizza a domande su cui il modello non si è mai addestrato.Approfondire →Best practiceReward hackingIl reward hacking si verifica quando un modello aumenta il proprio punteggio senza migliorare nell'attività, sfruttando ciò che il valutatore non riesce a controllare. È il motivo principale per cui il fine-tuning per rinforzo fallisce.Approfondire →
08

Valutazione

Le curve di perdita mostrano l'adattamento del modello. La valutazione dimostra se le sue risposte sono effettivamente migliori.

ConcettoModello di base e ottimizzato a confrontoUna valutazione pone al modello di partenza e al modello addestrato le stesse domande tenute da parte e ne confronta le risposte, in modo che Lei possa vedere se l'addestramento ha effettivamente migliorato le risposte.Approfondire →ConcettoDomande di test: perché i dati "esclusi" sono importantiUna porzione delle Sue conversazioni che la preparazione dei dati mette da parte prima di ogni altra cosa, in modo che una valutazione possa porre al modello addestrato domande che non ha mai visto. È l'unico modo pulito per distinguere un vero miglioramento dalla memorizzazione.Approfondire →MetodoLLM-as-a-judgeUn modello linguistico separato legge la domanda, la risposta di riferimento e due risposte candidate, assegna un punteggio a entrambe e sceglie un vincitore. Se configurato in cieco, con ordine casuale e una famiglia di modelli diversa, concorda con i valutatori umani con la stessa frequenza con cui gli esseri umani concordano tra loro.Approfondire →MetricaInterpretare i risultati della valutazioneCome interpretare il tasso di vittoria, la differenza di punteggio e i segnali secondari di una valutazione — e come distinguere un miglioramento reale dal rumore quando il numero di domande è ridotto.Approfondire →ConcettoCheckpoint: quando il modello di base non è più disponibileI checkpoint sono copie del modello che il provider salva durante l'addestramento. Quando il modello di base non può più essere distribuito, il confronto del modello finale con un checkpoint precedente mostra se i passaggi di addestramento successivi sono stati utili.Approfondire →MetodoValutare un modello singolarmenteInvece di confrontare due risposte, il giudice legge una singola risposta accanto alla conversazione e alla risposta di riferimento, assegnando un punteggio da 1 a 5 per ogni criterio. Il risultato è un punteggio di qualità assoluto: nessuna vittoria e nessuna misura di miglioramento.Approfondire →Best practiceConfrontare più modelliPer scegliere tra i modelli — fornitori, metodi o dimensioni di base diversi — questi devono rispondere alle stesse domande ed essere valutati dallo stesso giudice. Un confronto esegue una valutazione per modello su un set di domande condiviso e li classifica in base al punteggio medio del giudice.Approfondire →Best practiceCode di annotazione: verificare il giudice manualmenteLe persone revisionano le risposte del modello una alla volta — assegnando loro un punteggio, scegliendo la migliore o scrivendo una correzione — per misurare il grado di Fiducia che si può riporre nel giudice LLM e per trasformare le loro correzioni in dati di addestramento.Approfondire →
09

Test e distribuzione di un modello

Un modello addestrato deve essere distribuito prima di poter rispondere — e una distribuzione dedicata ha un costo per ogni ora in cui è attiva.

10

Glossario

Ogni concetto, dalla A alla Z. Ciascuno apre la propria pagina completa.

Trasformate settimane di lavoro esperto in pochi minuti

Scoprite come Scalata si adatta al vostro team, ai vostri dati e ai vostri Controlli.

Contatta il team vendite