11. DPO의 재등장: 보상 모델을 수식으로 지우다

자주 하는 실수와 요약

자주 하는 실수
실수 나온 문제 바로잡는 법
반이 다른 두 학생의 점수표를 그대로 비교함 1 반마다 다른 가산점이 차이에 섞인다. 같은 반 안의 차이만 가산점과 무관하다
βlog⁡(π∗/πref)\textcolor{#827717}{\beta}\log(\textcolor{#2e7d32}{\pi^*}/\textcolor{#6f6f78}{\pi_\text{ref}}) 로 다른 프롬프트의 응답끼리 줄 세움 2 보상은 여기에 βlog⁡Z(x)\textcolor{#827717}{\beta}\log \textcolor{#cc00ff}{Z}(\textcolor{#0093b8}{x}) 를 더한 값이다. Z(x)\textcolor{#cc00ff}{Z}(\textcolor{#0093b8}{x}) 는 프롬프트마다 달라 순서가 뒤집힐 수 있다
프롬프트가 다른 두 응답의 비교에도 DPO를 쓸 수 있다고 봄 2 βlog⁡Z(x1)−βlog⁡Z(x2)\textcolor{#827717}{\beta}\log \textcolor{#cc00ff}{Z}(\textcolor{#0093b8}{x_1}) - \textcolor{#827717}{\beta}\log \textcolor{#cc00ff}{Z}(\textcolor{#0093b8}{x_2}) 가 남아 식이 성립하지 않는다
절대 확률이 낮은 응답은 암묵적 보상도 낮다고 봄 3 암묵적 보상은 레퍼런스 대비 로그비율 βlog⁡(πθ/πref)\textcolor{#827717}{\beta}\log(\textcolor{#1565c0}{\pi_\theta}/\textcolor{#6f6f78}{\pi_\text{ref}}) 이다
β\textcolor{#827717}{\beta} 를 낮추면 틀린 쌍의 가중치가 더 커진다고 봄 4 σ(−βz)≈1/2−βz/4\textcolor{#8e44ad}{\sigma(-\beta z)} \approx 1/2 - \textcolor{#827717}{\beta}\textcolor{#d9670b}{z}/4 라 쌍 사이 가중치 차이가 사라진다. 틀린 쌍에 큰 가중치를 주는 것은 큰 β\textcolor{#827717}{\beta} 다
두 후보 사이의 비율만 알면 당선자를 안다고 봄 5 비율은 셋째 후보의 득표를 정하지 않는다
손실이 줄었으니 선호 응답의 확률도 올랐다고 봄 6 둘 다 떨어져도 비선호 응답이 더 떨어지면 마진이 벌어져 손실은 준다
같은 목적함수의 최적해이니 PPO-RLHF와 같은 모델이 나온다고 봄 6 유한한 오프라인 데이터에서 DPO의 최소점은 하나로 정해지지 않고 집합을 이룬다
요약

KL로 묶은 보상 최대화의 최적해는 레퍼런스에 보상의 지수 인자를 곱해 다시 맞춘 π∗∝πref er/β\textcolor{#2e7d32}{\pi^*} \propto \textcolor{#6f6f78}{\pi_\text{ref}}\, e^{\textcolor{#d9670b}{r}/\textcolor{#827717}{\beta}} 다. 최적해 식을 뒤집으면 보상이 βlog⁡(π∗/πref)\textcolor{#827717}{\beta}\log(\textcolor{#2e7d32}{\pi^*}/\textcolor{#6f6f78}{\pi_\text{ref}}) 에 프롬프트만의 상수 βlog⁡Z(x)\textcolor{#827717}{\beta}\log \textcolor{#cc00ff}{Z}(\textcolor{#0093b8}{x}) 를 더한 것으로 적히고, 같은 프롬프트의 두 응답을 Bradley-Terry로 비교하면 그 상수가 사라져 보상 모델 없이 정책만으로 쓴 손실, 곧 DPO가 남는다. 프롬프트가 다른 응답끼리는 그 상수가 남으므로 비교할 수 없다. DPO의 그래디언트는 암묵적 보상이 틀린 정도 σ(−βz)\textcolor{#8e44ad}{\sigma(-\beta z)} 로 쌍마다 가중되는데, β\textcolor{#827717}{\beta} 가 작으면 모든 쌍에 비슷한 가중치를, 크면 틀린 쌍에 큰 가중치를 준다. 손실은 절대 확률 대신 레퍼런스 대비 마진을 본다. 목적함수와 선호 모델은 지켰지만 생성 루프를 버렸으므로, 데이터에 없는 응답의 확률은 손실이 통제하지 못한다.