DPO-træning
forkortelse for Direct Preference Optimization
DPO-træning er en metode til at finjustere sprogmodeller direkte på præferencedata uden brug af en belønningsmodel.
Kort fortalt
En måde at træne en sprogmodel på, så den lærer at foretage valg, som mennesker foretrækker, ved at sammenligne to svar.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
En træningsmetode, hvor en sprogmodel finjusteres ved at maksimere sandsynligheden for foretrukne svar over ikke-foretrukne svar, baseret på en Bradley-Terry-præferencemodel, uden at træne en separat belønningsmodel.
- DPO-træning har vist sig at være lige så effektiv som RLHF, men med markant mindre beregningskompleksitet. — Rafailov et al., 2023
- Efter SFT blev modellen yderligere tilpasset med DPO-træning på et datasæt af menneskelige præferencer.
Hvornår bruges det
DPO-træning anvendes typisk efter en indledende overvåget finjustering (SFT) for at tilpasse modellen til menneskelige præferencer. Det er populært som et alternativ til RLHF, da det er enklere og mere stabilt.
Kodeeksempel
def dpo_loss(policy_chosen_logps, policy_rejected_logps, ref_chosen_logps, ref_rejected_logps, beta):
policy_log_ratio = policy_chosen_logps - policy_rejected_logps
ref_log_ratio = ref_chosen_logps - ref_rejected_logps
logits = beta * (policy_log_ratio - ref_log_ratio)
loss = -F.logsigmoid(logits).mean()
return lossDPO-tabsfunktion, der sammenligner log-sandsynligheder fra politikmodellen og referencemodellen for foretrukne og ikke-foretrukne svar.
Oprindelse
DPO står for Direct Preference Optimization (direkte præferenceoptimering). Metoden blev introduceret i 2023 af forskere fra Stanford University.
Kilder
1- Direct Preference Optimization: Your Language Model is Secretly a Reward Model