Iperparametri per l'ottimizzazione del reinforcement learning

Gli iperparametri controllano il modo in cui i pesi del modello vengono aggiornati durante l'ottimizzazione dell'apprendimento per rinforzo. I valori predefiniti sono ottimizzati per funzionare bene per la maggior parte dei carichi di lavoro, ma puoi sostituirli nella console Cloud de Confiance (in Dettagli modello > Opzioni avanzate > Impostazione ottimizzazione quando crei un modello ottimizzato) o nel corpo della richiesta quando crei un job di ottimizzazione con l'API REST.

Iperparametri disponibili

Per la definizione API di questi parametri, consulta il riferimento API ReinforcementTuningHyperParameters.

epochCount

Il numero di iterazioni del set di dati. Questo valore è diverso dal numero di passaggi di addestramento: ogni epoca può produrre un numero variabile di passaggi di addestramento.

  • Valore predefinito: min(110 * promptsPerBatch / promptsInDataset, 10) se lasciato vuoto. Il valore predefinito viene calcolato in modo dinamico in modo che il modello veda ogni prompt più volte, con un limite di 10 epoche per evitare l'overfitting su set di dati più piccoli.
  • Massimo:la sessione di addestramento totale è limitata a 500 passaggi per una messa a punto stabile.

learningRateMultiplier

Un moltiplicatore applicato al tasso di apprendimento di base per il livello dell'adattatore.

  • Valore predefinito: 1
  • Intervallo consentito: [1/4, 4]

thinkingLevel

Controlla la lunghezza e la profondità dell'elaborazione interna della chain-of-thought utilizzata durante la generazione.

  • Valore predefinito: HIGH
  • Valori consentiti: MINIMAL, HIGH (pensiero dinamico)

batchSize e samplesPerPrompt

Questi due iperparametri controllano il modo in cui i prompt vengono raggruppati e il numero di risposte generate dal modello per prompt durante ogni passaggio di addestramento.

  • batchSize: il numero di prompt per batch (chiamato anche promptsPerBatch). Una dimensione del batch maggiore rallenta l'ottimizzazione, ma può produrre aggiornamenti più stabili per ogni passaggio.
    • Valore predefinito: 32
  • samplesPerPrompt: il numero di risposte diverse che il modello genera per ogni prompt durante un singolo passaggio di addestramento. Un samplesPerPrompt più grande rallenta l'ottimizzazione, ma può aumentare la diversità delle risposte esplorate dal modello.
    • Valore predefinito: 16

Il prodotto batchSize * samplesPerPrompt è soggetto a limitazioni specifiche per modalità:

Modalità Limitazione per batchSize * samplesPerPrompt
Testo Deve essere divisibile per 16 e inferiore o uguale a 8192
Multimodale (immagine, audio o video) Deve essere divisibile per 16 e inferiore o uguale a 1024

evaluateInterval

La frequenza con cui il modello viene valutato durante l'ottimizzazione. L'intervallo viene misurato in passi, non in epoche.

checkpointInterval

La frequenza con cui lo stato di avanzamento dell'ottimizzazione del modello viene salvato come checkpoint, per il recupero o l'utilizzo successivo. L'intervallo viene misurato in passi, non in epoche.

  • Consigliato: imposta checkpointInterval = evaluateInterval * N, dove N è un numero intero positivo.

maxOutputTokens

La lunghezza massima di generazione dell'output per il modello ottimizzato.

  • Limite predefinito e superiore: 32,768

adapterSize

Le dimensioni dell'adattatore LoRA. Adattatori più grandi offrono una maggiore capacità di apprendimento per attività complesse a costo di ulteriore tempo di addestramento e memoria.

  • Valore predefinito: ADAPTER_SIZE_SIXTEEN

Passaggi successivi