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. 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'.

Afledte ord

2

Kilder

1