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

Eksempel på DPO-tabsfunktion i Python.

Oprindelse

Introduceret i 2023 som en forenkling af RLHF; 'Direct Preference Optimization' betyder direkte præferenceoptimering.

Afledte ord

1