Skip to main content

Predisporre il fine-tuning

Obiettivi di apprendimento

Al completamento di questa unità, sarai in grado di:

  • Spiegare come predisporre i set di dati per il fine-tuning.
  • Fornire un resoconto di alto livello del processo di fine-tuning.

Predisporre il set di dati

La prima fase consiste nel predisporre il fine-tuning del set di dati specifico per l'attività. La preparazione può comprendere la pulitura dei dati, la normalizzazione dei testi e la conversione dei dati in un formato compatibile con i requisiti di input dell'LLM (in altre parole, l'etichettatura dei dati). È essenziale assicurarsi che i dati siano rappresentativi dell'attività e del dominio e che coprano una gamma di scenari in cui il modello dovrebbe imbattersi in produzione. Ecco come preparare il set di dati per il fine-tuning.

Raccolta dei dati

Accumula i dati pertinenti per l'attività o il dominio specifici. Questa operazione potrebbe implicare la raccolta delle interazioni degli utenti o l'utilizzo di dati specifici del dominio.

Pulitura dei dati

Rimuovi i dati non rilevanti correggendo gli errori e, se possibile, anonimizzando le informazioni sensibili.

Suddivisione del set di dati

Ripartisci i dati in set di addestramento, validazione e test. Il modello si addestra sul set di addestramento, gli iperparametri vengono regolati utilizzando il set di validazione e le prestazioni vengono valutate sul set di test.

Configurare il modello

La selezione del modello di base e del metodo di fine-tuning più appropriato dipende dall'attività specifica e dai dati disponibili. Esistono varie architetture di LLM tra cui scegliere, inclusi GPT-3.5 Turbo, BERT e RoBERTa, ognuna con i propri punti di forza e di debolezza. Il metodo di fine-tuning può anche variare in base all'attività e ai dati, come l'apprendimento per trasferimento, il fine-tuning sequenziale o il fine-tuning specifico per l'attività.

Selezione del modello

Quando scegli il modello base, prendi in considerazione gli aspetti seguenti.

  • Compatibilità del modello all'uso per l'attività specifica
  • Dimensioni di input e output del modello
  • Dimensioni del set di dati disponibile
  • Idoneità dell'infrastruttura tecnica alla potenza computazionale richiesta per il fine-tuning

Selezione dell'architettura

Regola alcuni componenti a seconda dell'attività, ad esempio il livello finale per le attività di classificazione. Tieni presente che l'architettura del modello di base resterà invariata.

Scelte relative agli iperparametri

Determina i valori del tasso di apprendimento, della dimensione del batch, del numero di epoche e dei parametri di regolarizzazione. A volte è preferibile un tasso di apprendimento più basso, visto che eventuali aggiornamenti aggressivi potrebbero far dimenticare al modello le conoscenze acquisite in precedenza.

Fine-tuning del modello

Una volta selezionato l'LLM e il metodo di fine-tuning, il modello pre-addestrato dovrà essere caricato nella memoria. In questa fase i pesi del modello vengono inizializzati sulla base dei valori di preaddestramento, accelerando così il processo di fine-tuning e assicurando che il modello abbia già acquisito una comprensione generale del linguaggio.

Inizializzazione mediante pesi pre-addestrati

Inizia dai pesi del modello pre-addestrato. Si tratta dell'essenza dell'apprendimento per trasferimento, che sfrutta le conoscenze acquisite con l'addestramento precedente.

Apprendimento adattivo

In alcuni scenari avanzati, potresti utilizzare tecniche che adattano il tasso di apprendimento ai diversi livelli. Ad esempio, i livelli precoci (che consentono l'acquisizione delle funzionalità generali) potrebbero essere aggiornati con tassi di apprendimento ridotti rispetto ai livelli più tardivi.

Regolarizzazione

Le tecniche come il dropout, il decadimento dei pesi o la normalizzazione dei livelli possono avere un ruolo cruciale nella prevenzione dell'overfitting, in particolare quando le dimensioni del set di dati per il fine-tuning sono relativamente ridotte.

Monitorare e valutare il modello

Questa fase prevede l'addestramento dell'LLM preaddestrato su un set di dati specifico per l'attività. Il processo di addestramento prevede l'ottimizzazione dei pesi e dei parametri del modello per ridurre al minimo la funzione di perdita e migliorare le prestazioni nell'attività. Il processo di fine-tuning può richiedere diversi cicli di addestramento e validazione sui rispettivi set di dati designati, nonché varie regolazioni degli iperparametri, per ottimizzare le prestazioni del modello.

Tracciamento di perdite e metriche

Durante l'addestramento, monitora continuamente le perdite sui set di addestramento e validazione per rilevare eventuali istanze di overfitting o problemi.

Interruzione precoce

Interrompi l'addestramento se le prestazioni sul set di validazione iniziano a diminuire (anche se le prestazioni del set di addestramento migliorano): è un segno di overfitting. Con l'interruzione impedisci al modello di aderire troppo strettamente ai dati di addestramento.

Metriche di valutazione

Utilizza metriche adeguate (ad esempio accuratezza, punteggio F1, punteggio BLEU) per valutare le prestazioni del modello sul set di test. Le metriche utilizzate dipendono dall'attività che viene svolta, ad esempio classificazione, regressioni, generazione e così via.

Apportare modifiche dopo il fine-tuning

Una volta concluso il processo di fine-tuning, è necessario valutare le prestazioni del modello sul set di test. Questa fase consente di verificare che il modello generalizzi in modo ottimale i nuovi dati e che restituisca risultati di qualità nell'attività specifica. L'accuratezza, la precisione e i richiami sono alcune delle metriche più comunemente utilizzate per la valutazione.

Calibrazione

Adatta gli output del modello in modo che riflettano meglio le probabilità reali. A volte, un modello sottoposto a fine-tuning può essere troppo o troppo poco fiducioso riguardo alle previsioni che effettua.

Loop di feedback

Imposta un sistema in cui gli utenti finali possono fornire il loro feedback sugli output dei modelli. Questo feedback può essere utilizzato in ulteriori cicli di fine-tuning, per un perfezionamento continuo dei risultati.

Distribuire il modello

Una volta completata la valutazione dopo il fine-tuning, il modello può essere distribuito negli ambienti di produzione. Il processo di distribuzione può comportare l'integrazione del modello in un sistema più ampio, impostando l'infrastruttura necessaria e monitorando le prestazioni in scenari reali.

Dimensioni del modello

Valuta l'opportunità di sintetizzare o limare il modello dopo il fine-tuning per ridurne le dimensioni senza compromettere le prestazioni in modo significativo. Questa operazione può essere adattata in base al contesto in cui il modello verrà distribuito, ad esempio dispositivi periferici, server web e così via.

Riepilogo

Benché il concetto di fine-tuning possa sembrare elementare, nella pratica implica una serie di fasi e decisioni che richiedono una valutazione attenta. Ciascuna fase, dalla preparazione dei dati alla distribuzione, può esercitare un impatto significativo sull'efficacia e sull'efficienza del modello nel dominio o nell'attività a cui è destinato.

Condividi il tuo feedback su Trailhead dalla Guida di Salesforce.

Conoscere la tua esperienza su Trailhead è importante per noi. Ora puoi accedere al modulo per l'invio di feedback in qualsiasi momento dal sito della Guida di Salesforce.

Scopri di più Continua a condividere il tuo feedback