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
systemmessaggio è 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
| Parametro | Tipo | Obbligatorio? | Intervallo/valori | Description |
|---|---|---|---|---|
max_epochs | intero | Campo obbligatorio | 1-100 | Numero di passaggi completi attraverso il set di dati di addestramento. |
global_batch_size | intero | Campo obbligatorio | 16, 32, 64, 128 | Campioni totali elaborati per fase di ottimizzazione in tutte le istanze. |
learning_rate | virgola mobile | Campo obbligatorio | 5e-07—1e-04 | Dimensione dei gradini per l'aggiornamento del peso durante l'ottimizzazione. |
lr_scheduler | stringa | Campo obbligatorio | coseno, costante | Programma di decadimento del tasso di apprendimento rispetto all'allenamento. |
lr_warmup_steps_ratio | virgola mobile | Campo obbligatorio | 0—1 | Frazione del totale dei passaggi impiegati per aumentare il tasso di apprendimento da 0. |
weight_decay | virgola mobile | Campo obbligatorio | 0.0 - 1.0 | Coefficiente di regolarizzazione L2. Aiuta a prevenire il sovradattamento. |
gradient_clipping | booleano | Campo obbligatorio | true, false | Riduci i gradienti se la norma supera la soglia. |
gradient_clipping_threshold | virgola mobile | Campo obbligatorio | 0,0-5,0 | Norma di gradiente massima consentita. |
dataset_max_len | intero | Campo obbligatorio | 256—131072 | Lunghezza massima della sequenza in token. Le sequenze più lunghe vengono troncate. |
seed | intero | Campo obbligatorio | 0–2147483647 | Seme casuale per la riproducibilità. |
logging_steps | intero | Campo obbligatorio | 1-100 | Frequenza di registrazione delle metriche nelle fasi dell'ottimizzatore. |
lora_rank | intero | Campo obbligatorio | 8, 16, 32, 64, 128 | Dimensionalità delle matrici di basso rango. Inferiore = meno parametri addestrabili. |
lora_dropout | virgola mobile | Campo obbligatorio | 0.0 - 1.0 | Probabilità di abbandono per i livelli LoRA adattatori. |
lora_alpha | intero | Campo obbligatorio | 16, 32, 64, 128, 256 | LoRAfattore di scala. L'LR effettivo si ridimensiona come. alpha/rank |
merge_weights | booleano | Campo obbligatorio | true, false | Unisci i LoRA pesi nel modello base dopo l'allenamento. |
train_val_split_ratio | virgola mobile | Facoltativo | 0.0 - 1.0 | Frazione assegnata all'addestramento rispetto alla convalida. |
temperature | virgola mobile | Campo obbligatorio | 0,0—2,0 | Temperatura di campionamento per la valutazione. |
adam_beta | virgola mobile | Campo obbligatorio | 1e-03—0,1 | Temperatura inversa DPO. Controlla la forza con cui il modello impone le classifiche delle preferenze. |
Iperparametri - DPO FFT
| Parametro | Tipo | Obbligatorio? | Intervallo/valori | Description |
|---|---|---|---|---|
max_epochs | intero | Campo obbligatorio | 1-100 | Numero di passaggi completi attraverso il set di dati di addestramento. |
global_batch_size | intero | Campo obbligatorio | 16, 32, 64, 128 | Campioni totali elaborati per fase di ottimizzazione. |
learning_rate | virgola mobile | Campo obbligatorio | 5e-07—1e-04 | Dimensione del gradino per l'aggiornamento del peso. |
lr_scheduler | stringa | Campo obbligatorio | coseno, costante | Programma di decadimento del tasso di apprendimento. |
lr_warmup_steps_ratio | virgola mobile | Campo obbligatorio | 0—1 | Frazione di passaggi per il riscaldamento LR. |
weight_decay | virgola mobile | Campo obbligatorio | 0.0 - 1.0 | Coefficiente di regolarizzazione L2. |
gradient_clipping | booleano | Campo obbligatorio | true, false | Riduci i gradienti se la norma supera la soglia. |
gradient_clipping_threshold | virgola mobile | Campo obbligatorio | 0,0-5,0 | Norma di gradiente massima consentita. |
dataset_max_len | intero | Campo obbligatorio | 256—131072 | Lunghezza massima della sequenza in token. |
max_response_length | intero | Campo obbligatorio | 100—200000 | Numero massimo di token per la risposta generata. |
seed | intero | Campo obbligatorio | 0–2147483647 | Seme casuale per la riproducibilità. |
logging_steps | intero | Campo obbligatorio | 1-100 | Frequenza di registrazione metrica. |
train_val_split_ratio | virgola mobile | Facoltativo | 0.0 - 1.0 | Frazione assegnata alla formazione rispetto alla convalida. |
temperature | virgola mobile | Campo obbligatorio | 0,0—2,0 | Temperatura di campionamento per la valutazione. |
adam_beta | virgola mobile | Campo obbligatorio | 1e-03—0,1 | Temperatura inversa DPO. Controlla la forza con cui il modello impone le classifiche delle preferenze. |