DPO-træning
forkortelse for Direct Preference Optimization-træning
En træningsmetode, der optimerer en sprogmodel direkte ud fra præferencepar uden behov for et belønningsmodul.
- Kategori
- teknik
- Niveau
- øvet
- Udtale
- 'di pi 'o ˌtʁɛnɪŋ
Betydninger
1- 1
En teknik til at justere en sprogmodels adfærd ved at maksimere sandsynligheden for at foretrække en given respons frem for en anden, baseret på en tabfunktion, der direkte sammenligner modelens log-sandsynligheder med en referencemodel.
- DPO-træning har vist sig at være både enklere og mere stabil end RLHF. — forskningsartikel, 2023
- Ved at anvende DPO-træning kan man justere modellens svar til at matche menneskelige præferencer.
Kodeeksempel
def dpo_loss(policy_logps, ref_logps, win_idxs, lose_idxs, beta=0.1):
policy_diff = policy_logps[win_idxs] - policy_logps[lose_idxs]
ref_diff = ref_logps[win_idxs] - ref_logps[lose_idxs]
loss = -F.logsigmoid(beta * (policy_diff - ref_diff)).mean()
return lossEksempel på DPO-tabsfunktion i Python.
Oprindelse
Introduceret i 2023 som en forenkling af RLHF; 'Direct Preference Optimization' betyder direkte præferenceoptimering.
Afledte ord
1Se også
- RLHF
- Reinforcement learning
- alignment-træning(mangler)