Skip to main content

Informazioni sul fine-tuning

Obiettivi di apprendimento

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

  • Descrivere il fine-tuning.
  • Descrivere i meccanismi del fine-tuning.

Prima di iniziare

In questo badge sono inclusi termini e idee descritti nei badge Nozioni di base sull'elaborazione del linguaggio naturale, Large Language Model e Nozioni fondamentali sui prompt. Ti consigliamo di conseguire prima quei badge.

Ripasso veloce

I Large Language Model (LLM), come la serie di modelli GPT di OpenAI, sono reti neurali di grandi dimensioni addestrate per capire e generare testi simili a quelli creati dall'uomo. Dato che gli addestramenti sono basati su enormi quantità di dati, hanno un'ampia knowledge base generale.

Che cos'è il fine-tuning?

È detto "fine-tuning" il processo per cui un modello linguistico pre-addestrato generale, di grandi dimensioni e su larga scala, viene addestrato ulteriormente ("tuning") su un set di dati specifico di dimensioni più ridotte. Per gli LLM, questo processo comporta la trasformazione di un modello di base di portata generale in un modello specializzato destinato a un caso d'uso preciso. Il modello diventa quindi più specializzato in una determinata attività. Il fine-tuning si aggiunge a un modello preaddestrato e ne modifica i pesi per raggiungere prestazioni migliori.

In altre parole... Supponiamo che tu abbia un assistente digitale in grado di cucinare discretamente pressoché qualsiasi piatto. L'assistente può realizzare una versione di base di qualsiasi pietanza, ma tu vorresti un meraviglioso piatto italiano preparato esattamente come l'avevi gustato durante una gita a Venezia, secondo tutti i crismi della cucina italiana. Per arrivare a questo risultato devi esporre l'assistente a più ricette e tecniche italiane, in modo da perfezionare le competenze che ha già acquisito. È esattamente così che funziona il fine-tuning.

Few-shot learning

Il few-shot learning è un tipo di fine-tuning che utilizza nel prompt un numero ridotto di esempi specifici riguardanti l'attività in cui il modello deve ottenere risultati migliori. È già possibile applicare questo metodo tramite la progettazione dei prompt e l'LLM di base. Nel prompt includiamo istruzioni e, a volte, diversi esempi. In un certo senso, si tratta di prealimentare il prompt con un set di dati di dimensioni ridotte attinenti all'attività.

Il fine-tuning migliora il few-shot learning basando l'addestramento su un set di esempi di dimensioni molto superiori e utilizzabili dal prompt. Questo addestramento ampliato può migliorare le prestazioni relative ad attività specifiche. Una volta effettuato il fine-tuning di un modello, non è più necessario fornire un numero così elevato di prompt, il che consente di risparmiare sui costi e di attivare richieste e risposte più veloci.

Meccanismi di fine-tuning

Esaminiamo i passaggi necessari per eseguire il fine-tuning di un LLM.

Selezionare il set di dati specialistico

Il primo passaggio consiste nel scegliere un set di dati rappresentativo dell'attività specifica a cui si è interessati. Questo set di dati è solitamente molto più piccolo di quello utilizzato per l'addestramento iniziale. Concentrati su queste aree chiave.

  • Il set di dati selezionato deve essere in linea con il dominio o l'attività specifica che hai scelto come obiettivo. Ad esempio, se stai perfezionando un modello per le diagnosi mediche basato sulle note sul paziente, il set di dati dovrà essere composto da note cliniche rilevanti corredate dalle diagnosi corrispondenti.
  • Come sempre, la qualità dei dati è importante per i dati specialistici. Spesso è necessario un set di dati di dimensioni inferiori, ma più mirato. Tuttavia, occorre disporre di una quantità di dati sufficiente a coprire le sfumature dell'attività specifica. La presenza di dati non validi o non utilizzabili, pieni di errori o di informazioni irrilevanti, possono compromettere il processo di fine-tuning. È essenziale pre-elaborare e ripulire i dati.

Adattare il modello

Mentre l'architettura di base del modello di cui viene eseguito il fine-tuning rimane la stessa, alcuni iperparametri (come il tasso di apprendimento) possono essere regolati per adattarli alle sfumature del nuovo set di dati.

Continuare l'addestramento

Invece di iniziare l'addestramento da zero, continui ad addestrare il modello preaddestrato sul nuovo set di dati. Il modello ha già assimilato molte conoscenze generali ed è quindi in grado di cogliere rapidamente le specificità del nuovo set di dati.

Applicare tecniche di regolarizzazione

Per evitare che il modello si adatti troppo al nuovo set di dati (un fenomeno chiamato "overfitting"), si possono utilizzare tecniche come il dropout o decadimento del peso.

Riepilogo

Il fine-tuning è uno strumento potente che permette di adattare modelli generali di grandi dimensioni ad attività specifiche. Tuttavia, come per tutti gli strumenti, il suo successo dipende dalle tecniche utilizzate e dalle considerazioni effettuate durante la sua applicazione. Nella prossima unità vedremo quali motivi potrebbero portarti a eseguire il fine-tuning del tuo LLM.

Risorse

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