← all posts
AI 2026.05.03 · 11 min read Advanced

DPO는 어떻게 Reward Model 없이 정책을 최적화하는가

KL-constrained 최적화 문제의 closed-form 해에서 시작해 reward-policy duality를 거쳐 DPO loss가 유도되기까지, Rafailov 2023의 수학적 논리를 단계별로 추적한다.


RLHF는 reward model을 별도로 학습한 뒤 PPO로 정책을 최적화하는 2단계 구조다. DPO(Direct Preference Optimization, Rafailov et al. 2023)는 이 두 단계를 하나로 합친다. 어떻게 가능한가? 핵심은 KL-constrained 최적화 문제의 최적해를 명시적으로 구할 수 있다는 사실이다. 그 해의 구조를 이용하면 reward를 정책의 함수로 바꿀 수 있고, 따라서 preference 데이터만으로 정책을 직접 학습할 수 있다.

KL-Constrained 문제와 왜 제약이 필요한가

RLHF의 핵심 긴장은 두 목표 사이에 있다. 높은 보상을 얻으면서도 사전 학습된 reference 모델에서 너무 멀어지지 않아야 한다. 이를 수식화하면 다음과 같다.

maxπEyπ[r(x,y)]βDKL(π(x)πref(x))\max_\pi \mathbb{E}_{y \sim \pi}[r(x, y)] - \beta D_{\mathrm{KL}}(\pi(\cdot \mid x) \| \pi_{\mathrm{ref}}(\cdot \mid x))

KL 제약 없이 reward만 최대화하면 정책은 reward가 가장 높은 단 하나의 문장에 모든 확률을 몰아주는 deterministic 정책이 된다. 이는 reward hacking, 다양성 손실, distribution shift로 이어진다. β\beta는 이 두 목표의 균형을 조절하는 역온도(inverse temperature)다. β\beta가 작을수록 KL 제약이 강해져 정책이 reference에 가까워지고, 클수록 reward를 더 추종한다.

Optimal Policy의 Closed Form — Exponential Tilting

이 최적화 문제는 Lagrangian으로 명시적으로 풀 수 있다.

정리 1 · KL-Constrained Optimal Policy

정규화 제약 yπ(y)=1\sum_y \pi(y) = 1을 포함한 Lagrangian의 stationarity 조건 δL/δπ(y)=0\delta \mathcal{L} / \delta \pi(y) = 0을 풀면, 유일한 최적해는 다음 형태다.

π(yx)=1Z(x)πref(yx)exp(r(x,y)β)\pi^*(y \mid x) = \frac{1}{Z(x)}\, \pi_{\mathrm{ref}}(y \mid x) \exp\left(\frac{r(x, y)}{\beta}\right)

여기서 Z(x)=yπref(yx)exp(r(x,y)/β)Z(x) = \sum_{y'} \pi_{\mathrm{ref}}(y' \mid x) \exp(r(x, y')/\beta)는 partition function이다.

▷ 증명

Lagrangian을 각 yy에 대해 독립적으로 변분하면 stationarity 조건은 다음과 같다.

r(y)βlogπ(y)πref(y)λ=0r(y) - \beta \log \frac{\pi(y)}{\pi_{\mathrm{ref}}(y)} - \lambda = 0

정리하면 π(y)=πref(y)exp((r(y)λ)/β)\pi(y) = \pi_{\mathrm{ref}}(y) \exp((r(y) - \lambda)/\beta). 정규화 조건 yπ(y)=1\sum_y \pi(y) = 1에서 eλ/β=Z(x)e^{-\lambda/\beta} = Z(x)임을 결정하면 최종 형태가 나온다. 목적함수가 π\pi에 대해 concave이고 simplex Δ(Y)\Delta(\mathcal{Y})가 convex set이므로 이 1차 조건은 global optimum을 특징짓는다. \square

이 형태를 exponential tilting이라 부른다. πref\pi_{\mathrm{ref}}를 보상 기반 가중치 exp(r(y)/β)\exp(r(y)/\beta)로 기울인 것이다. 물리학의 Boltzmann distribution과 동일한 구조이며, 최적값은 βlogZ(x)\beta \log Z(x)다.

Reward-Policy Duality — log Z의 소거

이제 역방향을 생각한다. 최적 정책 π\pi^*를 알 때 reward를 역으로 구할 수 있는가?

정리 1의 양변에 로그를 취하면 즉시 다음을 얻는다.

r(x,y)=βlogπ(yx)πref(yx)+βlogZ(x)r(x, y) = \beta \log \frac{\pi^*(y \mid x)}{\pi_{\mathrm{ref}}(y \mid x)} + \beta \log Z(x)

βlogZ(x)\beta \log Z(x)yy에 무관한 상수항이다. 따라서 두 선택지 ywy_w(선호), yly_l(비선호)의 reward 차이를 계산하면 이 상수항이 정확히 소거된다.

r(yw)r(yl)=βlogπ(yw)π(yl)βlogπref(yw)πref(yl)r(y_w) - r(y_l) = \beta \log \frac{\pi(y_w)}{\pi(y_l)} - \beta \log \frac{\pi_{\mathrm{ref}}(y_w)}{\pi_{\mathrm{ref}}(y_l)}

이것이 DPO의 수학적 심장이다. Reward를 명시적으로 알 필요 없이, 정책의 log-ratio만으로 reward 차이를 표현할 수 있다. Reward와 optimal policy는 주어진 πref\pi_{\mathrm{ref}}β\beta 아래서 일대일 대응(bijection) 관계에 있다.

DPO Loss의 유도 — Bradley-Terry에서 Preference Optimization까지

Bradley-Terry 선호도 모델은 다음과 같이 정의된다.

P(ywylx)=σ(r(yw)r(yl))P(y_w \succ y_l \mid x) = \sigma(r(y_w) - r(y_l))

preference 데이터의 음의 로그 우도를 최소화하는 문제에서 reward를 위의 policy log-ratio로 치환하면 다음 loss가 나온다.

LDPO(πθ)=E ⁣[logσ ⁣(βlogπθ(ywx)πref(ywx)βlogπθ(ylx)πref(ylx))]\mathcal{L}_{\mathrm{DPO}}(\pi_\theta) = -\mathbb{E}\!\left[\log \sigma\!\left(\beta \log \frac{\pi_\theta(y_w \mid x)}{\pi_{\mathrm{ref}}(y_w \mid x)} - \beta \log \frac{\pi_\theta(y_l \mid x)}{\pi_{\mathrm{ref}}(y_l \mid x)}\right)\right]

이 loss를 최소화하는 정책은 (충분한 데이터 극한에서) KL-constrained 최적 정책으로 수렴한다. RLHF가 reward model을 학습한 뒤 PPO로 최적화하는 2단계인 데 반해, DPO는 preference 데이터에서 직접 이 loss를 역전파한다.

수치 안정성을 위해 logσ(x)=log(1+ex)=softplus(x)-\log \sigma(x) = \log(1 + e^{-x}) = \mathrm{softplus}(-x)로 구현한다.

import torch
import torch.nn.functional as F

def dpo_loss(pi_logprob_chosen, pi_logprob_rejected,
             ref_logprob_chosen, ref_logprob_rejected, beta=0.5):
    delta = beta * (
        (pi_logprob_chosen - ref_logprob_chosen) -
        (pi_logprob_rejected - ref_logprob_rejected)
    )
    return F.softplus(-delta).mean()
트레이드오프

DPO는 reward model 학습 제거로 계산량을 줄이고 수렴 안정성을 높인다. 대신 Bradley-Terry 가정(deterministic, transitive preference)이 실제 인간 선호도와 맞지 않을 수 있고, implicit KL bound가 RLHF의 explicit constraint보다 약하다. 또한 offline 학습이므로 distribution shift가 누적되고, 길이 편향(length bias)에 별도 대응이 없다.

DPO의 한계와 이후 방향

DPO가 풀지 못한 문제들은 구체적이다.

Chosen-only inflation: DPO loss를 최소화하려면 π(yw)\pi(y_w)를 늘리거나 π(yl)\pi(y_l)을 줄이면 된다. 실제로 정책은 선호 응답의 log-prob만 높이고 비선호 응답을 무시하는 경향을 보인다. 결과적으로 DKL(πDPOπref)D_{\mathrm{KL}}(\pi_{\mathrm{DPO}} \| \pi_{\mathrm{ref}})가 생각보다 커진다.

Length bias: 토큰 NN개로 구성된 응답의 로그 확률은 t=1Nlogπ(yty<t)\sum_{t=1}^N \log \pi(y_t \mid y_{<t})로, 응답 길이에 비례해 누적된다. Preference 데이터에서 긴 응답이 우연히 선호되면 DPO는 그 편향을 그대로 학습한다.

이후 등장한 변형들은 각각 이 약점을 겨냥한다. IPO(Azar et al. 2023)는 squared loss를 사용해 noise에 robust한 목적함수를 제안한다. KTO는 Kahneman-Tversky 가치 함수를 빌려 비대칭 손실로 overfitting을 완화한다. SimPO는 reference model 없이 길이 정규화된 log-probability를 직접 비교한다.

정리

  • KL-constrained optimal policy는 π=(1/Z)πrefexp(r/β)\pi^* = (1/Z)\, \pi_{\mathrm{ref}} \exp(r/\beta)로 명시적으로 구해진다.
  • Pair difference에서 partition function logZ\log Z가 소거되므로 reward를 정책의 log-ratio로 표현할 수 있다.
  • 이 duality를 Bradley-Terry likelihood에 대입하면 reward model 없이 preference에서 직접 정책을 최적화하는 DPO loss가 나온다.
  • DPO의 실질적 약점은 implicit KL의 약함, chosen-only inflation, length bias이며, 이후 변형들이 각각을 보완한다.

수식 한 줄 뒤에는 “reward model을 쓰지 않는다”는 주장이 아니라, “reward를 정책으로 재표현한다”는 구체적인 수학이 숨어 있다.