논문 리뷰/NLP

DPO 논문 리뷰

manfromearth1 2025. 8. 12. 00:26

Direct Preference Optimization: Your Language Model is Secretly a Reward Model

Summary

DPO는 PPO(Proximal Policy Optimization) 의 복잡성과 한계를 줄이기 위해 나온 방법론이다. 기존 RLHF 프로세스는

  1. 데이터 수집 → 사람 피드백(선호 데이터) 수집
  2. 보상모델 학습 → 선택된 답변이 높은 점수를 받도록 하는 모델을 학습
  3. PPO → 이 보상모델의 점수를 최대화하도록 원래 모델을 강화학습으로 튜닝
    보상 모델 학습 및 PPO라는 두 단계가 필요하며, 특히 PPO 자체가 불안정하며 구현이 까다롭다는 문제점이 있었다.

따라서 DPO는 보상모델을 직접 학습하지 않고, Maximum likelihood 방법으로 보상모델 없이 선호를 반영하여 LM을 학습하는 것을 제안한다.

Preliminary

Reward Modeling

Pretrain 이후 SFT(supervised fine tuning)을 거친 모델은 두개의 pair 응답을 내놓게($(y_1, y_2) ~ \pi^{\text{SFT}}(y | x)$) 프롬프팅된다. 이렇게 나온 두 응답은 human labeler에게 선호를 평가받게 되며, 이 선호 데이터를 바탕으로 보상 모델 $r$이 훈련된다.

 

이렇게 reward 모델이 학스보디면, 이제 이 모델이 좋은 응답에 더 높은 점수를 주도록 정책 모델(Policy, 여기서는 LLM $\pi_\theta$)을 업데이트한다. 이때 사용되는 방법이 PPO인데,

보상모델이 매긴 점수를 최대화하면서, 초기 SFT 모델과의 KL divergence를 constraint term으로 두어 과도한 변경을 방지한다.

해당 방식은 PPO 튜닝이 어렵고 불안정하며, 매 스텝마다 보상 모델을 호출해야 하기 때문에 학습 비용이 증가하는 것이 문제점으로 제기되고는 했다.

 

Direct Preference Optimization

Derivation

놀랍게도 이 식에 대한 Closed Form을 구하는 과정을 가져갈 수 있다. 한번 알아보자.

이 식을 이제 $r$에 대해서 정리해보면 다음과 같은 식이 된다:

이제 Bradley-Terry model에 만들어진 $r$을 plug in 해주자

Training

한 샘플에 대한 손실은 다음과 같다.

Chain Rule에 따라

가 되고, $\nabla g$은 다음과 같다.

결국 결합하게 되면

과 같은 식이 된다.

이 식이 어떻게 최소화되는지 알기 위해서, SFT 모델의 응답은 중립적이라 가정하자. 만약 선호되는 응답보다 선호되지 않는 응답이 더욱 응답 가능성이 높다면, 즉 확률이 높다면 gradient update는 $y_w$를 끌어올리고 $y_l$을 누르는 강한 교정 신호가 생긴다는 것을 알 수 있다. 즉 선호되는 응답이 더욱 많이 표시되도록(likelihood) 하고, 선호되지 않는 응답이 덜 표시되도록 하는 것이다.

 

본 논문의 제목은 Your Language Model is Secretly a Reward Model이 이래서 나오는 것이다!

 

KL divergence와 $\beta$와의 관계

최적 해는 $\pi^{*} \propto \pi_{SFT} \cdot \exp{(1/\beta \cdot r(x,y))}$인 것을 생각하면, $\beta$ 값이 커지는 경우 모델에 제약이 많이 생겨 KL divergence 값이 작아지고(보수적으로 업데이트 됨), $\beta$ 값이 작아지는 경우 모델에 제약이 덜 가해지며, KL divergence 값은 커지는 것을 알 수 있다.

 

어떻게 훈련되는지 궁금해서 GPT에 물어봤는데, 응답을 공유해보겠다.

 

Experiments

$\beta$값에 변화를 주어 기존 policy에 얼마나 멀어지는지에 상관 없이 DPO가 더욱 잘하는 모습을 확인할 수 있다. 사람이 작성한 요약과 품질을 비교하는 테스크에서도, PPO보다 성능이 높은 것을 확인할 수 있다.

Fine tuning step 초기에도 DPO의 win rate가 수렴한 것으로 보아 DPO 학습이 효율적임을 알 수 있다. 다만 이후 win rate가 감소하는 것에 대해 저자들이 이에 대해 후속 연구가 필요함을 시사하고 있다.

 

Conclusion

DPO는 LLM이 확산될 수 있도록 더욱 가속시켰다. 실제로 LLaMA, Mistral, Qwen 계열의 채팅모델 상당수가 DPO인 것을 확인할 수 있다.

그러나 DPO는 다음과 같은 문제점이 있다고 한다.

KL 제약 간접적 DPO는 KL을 명시적으로 최적화하지 않고 β로 간접 제어 → KL이 일정하게 유지되지 않음 (학습 중 drift 가능)
쌍 데이터 의존성 Bradley-Terry 로지스틱 기반이라 (win, lose) 형태의 선호쌍 데이터가 필요 → 단일 응답 스코어 데이터 활용이 어렵다
보상 스케일 민감성 β 값 조정이 어려움 → 데이터 분포나 Δ 값 범위에 따라 과도하게 conservative 하거나 aggressive 해질 수 있음
참조 모델 고정 $\pi_{\text{SFT}}$를 고정하고 학습 → 참조 자체가 suboptimal이면 개선 폭이 제한
샘플 효율 한계 Off-policy 성질 → 주어진 pair 데이터에 국한된 학습, 새로운 action space 탐색 불가
Alignment drift 특정 태스크 성능은 오를 수 있지만, 다른 태스크에서는 오히려 성능이 떨어질 수 있음 (catastrophic forgetting)

 

따라서 다음 논문 리뷰는 위의 한계들을 해결해주는 아키텍처에 대해서 다뤄보도록 하겠다!