View a markdown version of this page

DPO - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

DPO

Description

Direct Preference Optimization (DPO) allinea un modello alle preferenze umane addestrandosi su coppie di risposte scelte (preferite) e rifiutate (non preferite) alla stessa richiesta.

Quando utilizzarlo

  • Hai dati sulle preferenze che mostrano quali risposte sono migliori

  • Migliora la qualità delle risposte oltre a quanto ottenuto da SFT

  • Il modello deve evitare comportamenti indesiderati specifici

Cosa ottiene

Il modello impara a preferire la generazione di risposte simili agli esempi scelti ed evitare esempi rifiutati, senza richiedere un modello di ricompensa separato.

Formato del set di dati

Il DPO richiede coppie di risposte scelte (preferite) e rifiutate (non preferite) per lo stesso prompt. Il DPO supporta due formati di set di dati. Tutti i set di dati devono essere in formato JSONL (un oggetto JSON per riga). Un system messaggio è facoltativo in entrambi i formati.

Formato 1: messaggi

Fornisci chosen e rejected come elenchi completi di messaggi. Se incluso, il system messaggio deve essere il primo elemento e deve essere lo stesso in entrambi chosen erejected.

{ "chosen": [ {"role": "system", "content": "..."}, {"role": "user", "content": "..."}, {"role": "assistant", "content": "..."} ], "rejected": [ {"role": "system", "content": "..."}, {"role": "user", "content": "..."}, {"role": "assistant", "content": "..."} ] }

Formato 2: richiesto/scelto/rifiutato

Fornisci il prompt e entrambe le risposte come campi stringa separati, con un system campo opzionale di primo livello.

{ "system": "...", "prompt": "...", "chosen": "...", "rejected": "..." }

Linee guida

  • Le risposte scelte e rifiutate dovrebbero differire significativamente in termini di qualità

  • Utilizza la stessa richiesta sia per le opzioni scelte che per quelle rifiutate

  • Il system messaggio è facoltativo

Iperparametri - DPO LoRa

Nota

Le tabelle seguenti mostrano gli iperparametri disponibili quando si utilizza la personalizzazione del modello serverless. Altri iperparametri sono preimpostati da Amazon SageMaker AI utilizzando valori predefiniti ottimizzati. Quando utilizzi SageMaker AI Training Jobs or HyperPod, puoi accedere all'elenco completo degli iperparametri disponibili nelle ricette. Consulta il repository SageMaker AI Recipes per ottenere una ricetta e accedere a tutti gli iperparametri.

Parametro Tipo Obbligatorio? Intervallo/valori Description
max_epochsinteroCampo obbligatorio1-100Numero di passaggi completi attraverso il set di dati di addestramento.
global_batch_sizeinteroCampo obbligatorio16, 32, 64, 128Campioni totali elaborati per fase di ottimizzazione in tutte le istanze.
learning_ratevirgola mobileCampo obbligatorio5e-07—1e-04Dimensione dei gradini per l'aggiornamento del peso durante l'ottimizzazione.
lr_schedulerstringaCampo obbligatoriocoseno, costanteProgramma di decadimento del tasso di apprendimento rispetto all'allenamento.
lr_warmup_steps_ratiovirgola mobileCampo obbligatorio0—1Frazione del totale dei passaggi impiegati per aumentare il tasso di apprendimento da 0.
weight_decayvirgola mobileCampo obbligatorio0.0 - 1.0Coefficiente di regolarizzazione L2. Aiuta a prevenire il sovradattamento.
gradient_clippingbooleanoCampo obbligatoriotrue, falseRiduci i gradienti se la norma supera la soglia.
gradient_clipping_thresholdvirgola mobileCampo obbligatorio0,0-5,0Norma di gradiente massima consentita.
dataset_max_leninteroCampo obbligatorio256—131072Lunghezza massima della sequenza in token. Le sequenze più lunghe vengono troncate.
seedinteroCampo obbligatorio0–2147483647Seme casuale per la riproducibilità.
logging_stepsinteroCampo obbligatorio1-100Frequenza di registrazione delle metriche nelle fasi dell'ottimizzatore.
lora_rankinteroCampo obbligatorio8, 16, 32, 64, 128Dimensionalità delle matrici di basso rango. Inferiore = meno parametri addestrabili.
lora_dropoutvirgola mobileCampo obbligatorio0.0 - 1.0Probabilità di abbandono per i livelli LoRA adattatori.
lora_alphainteroCampo obbligatorio16, 32, 64, 128, 256LoRAfattore di scala. L'LR effettivo si ridimensiona come. alpha/rank
merge_weightsbooleanoCampo obbligatoriotrue, falseUnisci i LoRA pesi nel modello base dopo l'allenamento.
train_val_split_ratiovirgola mobileFacoltativo0.0 - 1.0Frazione assegnata all'addestramento rispetto alla convalida.
temperaturevirgola mobileCampo obbligatorio0,0—2,0Temperatura di campionamento per la valutazione.
adam_betavirgola mobileCampo obbligatorio1e-03—0,1Temperatura inversa DPO. Controlla la forza con cui il modello impone le classifiche delle preferenze.

Iperparametri - DPO FFT

Parametro Tipo Obbligatorio? Intervallo/valori Description
max_epochsinteroCampo obbligatorio1-100Numero di passaggi completi attraverso il set di dati di addestramento.
global_batch_sizeinteroCampo obbligatorio16, 32, 64, 128Campioni totali elaborati per fase di ottimizzazione.
learning_ratevirgola mobileCampo obbligatorio5e-07—1e-04Dimensione del gradino per l'aggiornamento del peso.
lr_schedulerstringaCampo obbligatoriocoseno, costanteProgramma di decadimento del tasso di apprendimento.
lr_warmup_steps_ratiovirgola mobileCampo obbligatorio0—1Frazione di passaggi per il riscaldamento LR.
weight_decayvirgola mobileCampo obbligatorio0.0 - 1.0Coefficiente di regolarizzazione L2.
gradient_clippingbooleanoCampo obbligatoriotrue, falseRiduci i gradienti se la norma supera la soglia.
gradient_clipping_thresholdvirgola mobileCampo obbligatorio0,0-5,0Norma di gradiente massima consentita.
dataset_max_leninteroCampo obbligatorio256—131072Lunghezza massima della sequenza in token.
max_response_lengthinteroCampo obbligatorio100—200000Numero massimo di token per la risposta generata.
seedinteroCampo obbligatorio0–2147483647Seme casuale per la riproducibilità.
logging_stepsinteroCampo obbligatorio1-100Frequenza di registrazione metrica.
train_val_split_ratiovirgola mobileFacoltativo0.0 - 1.0Frazione assegnata alla formazione rispetto alla convalida.
temperaturevirgola mobileCampo obbligatorio0,0—2,0Temperatura di campionamento per la valutazione.
adam_betavirgola mobileCampo obbligatorio1e-03—0,1Temperatura inversa DPO. Controlla la forza con cui il modello impone le classifiche delle preferenze.