0 / 0
Torna alla versione inglese della documentazione
Parametri per l'ottimizzazione dei modelli di base
Ultimo aggiornamento: 27 set 2024
Parametri per l'ottimizzazione dei modelli di base

I parametri di sintonizzazione configurano gli esperimenti di sintonizzazione che si utilizzano per sintonizzare il modello di fondazione.

Nota: I parametri modificati quando si sintonizza un modello di fondazione si applicano all'esperimento di sintonizzazione, non al modello di fondazione sottostante.

Per saperne di più sulle fasi che si svolgono durante un esperimento di messa a punto e su come i parametri che si possono configurare influenzano il processo.

Flusso di lavoro per la messa a punto dei prompt

Durante l'esperimento, il modello di ottimizzazione regola ripetutamente la struttura del prompt in modo che le sue previsioni possano migliorare nel tempo.

Il diagramma seguente illustra i passaggi che si verificano durante l'esecuzione di un esperimento di prompt-tuning. Le parti del flusso dell'esperimento che si possono configurare sono evidenziate da un'icona utente Utente. Questi punti di decisione corrispondono ai parametri di ottimizzazione dell'esperimento controllati.

Dettagli del processo di esecuzione dell'esperimento di messa a punto del prompt

Il diagramma mostra i seguenti passi dell'esperimento:

  1. Inizia dal metodo di inizializzazione che si sceglie di utilizzare per inizializzare il prompt.

    Se il parametro metodo di inizializzazione è impostato su text, è necessario aggiungere il testo di inizializzazione.

  2. Se specificato, tokenizza il testo di inizializzazione e lo converte in un vettore di prompt.

  3. Legge i dati di addestramento, li tokenizza e li converte in batch.

    La dimensione dei batch è determinata dal parametro dimensione batch .

  4. Invia l'input dagli esempi nel batch al modello di base affinché il modello elabori e generi l'output.

  5. Confronta l'output del modello con l'output dei dati di training che corrispondono all'input dei dati di training inoltrati. Quindi, calcola il gradiente di perdita, che è la differenza tra l'output previsto e l'output effettivo dai dati di addestramento.

    Ad un certo punto, l'esperimento regola il vettore di prompt che viene aggiunto all'input in base alla prestazione del modello. Quando si verifica questa regolazione dipende da come è stato configurato il parametro passi di accumulo .

  6. Le regolazioni vengono applicate al vettore di prompt inizializzato nel passo 2. Il grado di modifica del vettore è controllato dal parametro Tasso di apprendimento . Il vettore di prompt modificato viene aggiunto come prefisso all'input dall'esempio successivo nei dati di addestramento e viene inoltrato come input al modello.

  7. Il processo si ripete fino a quando non vengono elaborati tutti gli esempi in tutti i batch.

  8. L'intera serie di batch viene elaborata nuovamente per il numero di volte specificato nel parametro Numero di epoche .

Nota: durante questo processo non viene modificato alcun livello del modello di base.

Parametri predefiniti per la messa a punto del prompt

I migliori valori degli iperparametri da utilizzare per un esperimento di prompt-tuning variano in base ai dati e al caso d'uso.

La tabella seguente riporta i valori dei parametri da utilizzare come punto di partenza per la messa a punto immediata di un modello di fondazione di terze parti.

Tabella 1: Valori dei parametri di messa a punto per i modelli di fondazione di terze parti
Nome del parametro Valore predefinito per flan-t5-xl-3b Ulteriori informazioni
Metodo di inizializzazione Casuale Inizializzazione dell'ottimizzazione delle richieste
Testo di inizializzazione Nessuna Inizializzazione dell'ottimizzazione delle richieste
Dimensione del lotto 16 Segmentazione dei dati di formazione
Passi di accumulo 16 Segmentazione dei dati di formazione
Tasso di apprendimento 0.3 Gestione del tasso di apprendimento
Numero di epoche (numero di cicli di addestramento) 20 Scelta del numero di esecuzioni di addestramento da completare

I parametri predefiniti utilizzati per la messa a punto immediata del modello di fondazione granite-13b-instruct-v2 sono regolati in base al tipo di attività che si desidera svolgere con il modello messo a punto.

La tabella seguente riporta i valori dei parametri da utilizzare come punto di partenza per ogni tipo di attività supportata per la messa a punto del modello di fondazione granite-13b-instruct-v2.

Tabella 2: Valori dei parametri di regolazione per il modello di fondazione granite-13b-instruct-v2
Nome del parametro Valore predefinito per la classificazione Valore predefinito per la generazione Valore predefinito per il riepilogo Ulteriori informazioni
Dimensione del lotto 8 16 8 Segmentazione dei dati di formazione
Passi di accumulo 32 16 1 Segmentazione dei dati di formazione
Tasso di apprendimento 0.0006 0.0002 0.0002 Gestione del tasso di apprendimento
Numero di epoche (numero di cicli di addestramento) 20 20 40 Scelta del numero di esecuzioni di addestramento da completare

Descrizioni dei parametri

La tabella seguente descrive i parametri di sintonizzazione che è possibile personalizzare.

Tabella 3: Riferimenti per la descrizione dei valori dei parametri di regolazione
Nome del parametro Descrizione Opzioni di valore Ulteriori informazioni
Metodo di inizializzazione (messa a punto rapida) Specifica come inizializzare il vettore prompt. Casuale, Testo Inizializzazione dell'ottimizzazione delle richieste
Testo di inizializzazione (sintonizzazione del prompt) Testo da utilizzare come prompt per la prima esecuzione dell'esperimento. Inizializzazione dell'ottimizzazione delle richieste
Dimensione del lotto Numero di esempi etichettati da elaborare in una sola volta. 1-16 Segmentazione dei dati di formazione
Passi di accumulo Numero di lotti da elaborare prima di effettuare le regolazioni. 1-128 Segmentazione dei dati di formazione
Tasso di apprendimento Determina l'ambito della modifica da apportare quando il modello viene regolato. 0.00001–0.5 Gestione del tasso di apprendimento
Numero di epoche (numero di cicli di addestramento) Numero di volte in cui scorrere i dati di addestramento. 1-50 Scelta del numero di esecuzioni di addestramento da completare

Segmentazione dei dati di addestramento

Quando viene eseguito un esperimento, l'esperimento prima suddivide i dati di addestramento in batch più piccoli, quindi si allena su un batch alla volta. Ogni batch deve essere contenuto nella memoria GPU per essere elaborato. Per ridurre la quantità di memoria GPU necessaria, è possibile configurare l'esperimento di ottimizzazione per posticipare le regolazioni fino a quando non viene elaborato più di un batch. Il tuning viene eseguito su un batch e le sue metriche di prestazione vengono calcolate, ma non vengono apportate immediatamente modifiche. Invece, le informazioni sulle prestazioni vengono raccolte su un certo numero di batch prima che vengano valutate le metriche delle prestazioni cumulative.

Utilizzare i seguenti parametri per controllare il modo in cui i dati di addestramento vengono segmentati:

Dimensione batch Numero di esempi etichettati (noti anche come campioni) da elaborare contemporaneamente.

Ad esempio, per un dataset con 1.000 esempi e una dimensione batch di 10, il dataset è diviso in 100 batch di 10 esempi ciascuno.

Se il dataset di addestramento è piccolo, specificare una dimensione batch più piccola per garantire che ciascun batch abbia un numero sufficiente di esempi.

Fasi di accumulo: numero di lotti da elaborare prima di effettuare le regolazioni.

Ad esempio, se il set di dati è suddiviso in 100 lotti e si imposta il valore dei passi di accumulo su 10, le regolazioni vengono eseguite 10 volte invece di 100 volte.

Scelta del numero di esecuzioni di addestramento da completare

Il parametro Numero di epoche specifica il numero di volte in cui eseguire il ciclo dei dati di addestramento.

Ad esempio, con una dimensione del batch di 10 e un set di dati con 1.000 esempi, un'epoca deve elaborare 100 batch ed effettuare le regolazioni 100 volte. Se si imposta il numero di epoche su 20, il modello viene passato attraverso il dataset 20 volte, il che significa che elabora un totale di 2.000 batch durante il processo di ottimizzazione.

Maggiore è il numero di epoche e maggiori sono i dati di addestramento, maggiore è il tempo necessario per ottimizzare un modello.

Gestione del tasso di apprendimento

Il parametro velocità di apprendimento determina l'entità della modifica da apportare quando il modello viene regolato. Più alto è il numero, maggiore è il cambiamento.

Inizializzazione del prompt

Quando si crea un esperimento di regolazione del prompt, si può scegliere se specificare il proprio testo come vettore del prompt iniziale o lasciare che l'esperimento lo generi per voi. Questi nuovi token avviano il processo di addestramento in posizioni casuali o in base all'inserimento di un vocabolario o di un'istruzione che specifichi nel testo. Gli studi dimostrano che, man mano che la dimensione del modello sottostante cresce oltre 10 miliardi di parametri, il metodo di inizializzazione utilizzato diventa meno importante.

La scelta effettuata quando si crea l'esperimento di ottimizzazione personalizza il modo in cui viene inizializzato il prompt.

Metodo di inizializzazione: scegliere un metodo dalle opzioni seguenti:

  • Testo: il metodo Ottimizzazione prompt viene utilizzato quando si specifica il testo di inizializzazione del prompt stesso.
  • Casuale: viene utilizzato il metodo di ottimizzazione del prompt che consente all'esperimento di aggiungere valori scelti casualmente da includere nel prompt.

Testo di inizializzazione: il testo che vuoi aggiungere. Specificare una descrizione dell'attività o istruzioni simili a quelle utilizzate per la richiesta zero - shot.

Ulteriori informazioni

Argomento principale: Ottimizzazione di un modello

Ricerca e risposta AI generativa
Queste risposte sono generate da un modello di lingua di grandi dimensioni in watsonx.ai basato sul contenuto della documentazione del prodotto. Ulteriori informazioni