DPO
forkortelse for Direct Preference Optimization
DPO er en metode til at tilpasse sprogmodeller ved at optimere direkte på præferencepar uden brug af reinforcement learning.
Kort fortalt
Kort fortalt er DPO en måde at lære en model at foretrække bestemte svar frem for andre, uden at skulle bruge komplekse belønningsmodeller.
- Kategori
- teknik
- Niveau
- øvet
- Udtale
- /diː piː ˈoʊ/
Betydninger
1- 1
En algoritme til præferencebaseret tilpasning af sprogmodeller, der omgår behovet for en separat belønningsmodel ved at formulere optimeringsmålet direkte i forhold til præferencepar.
- Modellen blev DPO-trænet på menneskelige præferencer for at reducere skadelige udsagn. — Eksempel fra praksis, 2024
- DPO har vist sig at være lige så effektiv som PPO, men simplere at implementere. — Rafailov et al., 2023
Hvornår bruges det
DPO bruges i praksis til at finjustere store sprogmodeller med menneskelig feedback, hvor man samler par af foretrukne og ikke-foretrukne svar og træner modellen direkte på disse par.
Kodeeksempel
from trl import DPOTrainer
trainer = DPOTrainer(
model=model,
args=training_args,
train_dataset=dataset,
tokenizer=tokenizer,
)
trainer.train()Eksempel på DPO-træning med TRL-biblioteket fra Hugging Face.
Oprindelse
DPO blev introduceret i 2023 af Rafael Rafailov og kolleger i artiklen 'Direct Preference Optimization: Your Language Model is Secretly a Reward Model'.