🎲

DPO (Direct Preference Optimization)

보상 모델 없이 직접 선호도 최적화

DPO(Direct Preference Optimization)는 2023년 Stanford에서 제안한 기법으로, RLHF의 본질을 수학적으로 재정의했습니다. RLHF에서 보상 모델 학습 → PPO 강화학습이라는 2단계를 밟지만, DPO는 선호도 데이터(좋은 응답 vs 나쁜 응답 쌍)에서 직접 LLM의 가중치를 업데이트합니다. 핵심 통찰은 "최적의 보상 함수는 최적의 정책에서 역으로 도출할 수 있다"는 것입니다. 수식으로 증명하면 RLHF의 목적 함수가 단순한 분류 손실(cross-entropy)로 변환됩니다. 구현이 RLHF보다 훨씬 간단하고 안정적이며, 성능도 유사하거나 더 좋은 경우가 많아 빠르게 채택되고 있습니다.

핵심 개념

1

선호도 데이터 수집: 프롬프트 + 선호 응답(chosen) + 비선호 응답(rejected) 쌍

2

Reference Model 고정: 학습 전 LLM의 복사본을 참조 모델로 사용

3

DPO 손실 함수 계산: log(π(chosen)/π_ref(chosen)) - log(π(rejected)/π_ref(rejected))

4

선호 응답의 확률은 높이고, 비선호 응답의 확률은 낮추는 방향으로 가중치 업데이트

5

β 파라미터로 참조 모델에서 벗어나는 정도 제어

6

별도의 보상 모델/PPO 없이 직접 정렬 완료

장점

  • 보상 모델 학습 불필요 → 파이프라인 단순화
  • PPO보다 학습 안정적
  • 메모리/연산 효율 높음
  • RLHF와 동등하거나 우수한 성능

단점

  • 데이터 품질에 매우 민감
  • 선호도 쌍 데이터 구축 비용
  • β 하이퍼파라미터 튜닝 필요
  • 복잡한 선호도 패턴 표현에 한계

사용 사례

LLaMA 2 Chat 학습 Zephyr 모델 Mixtral Instruct 오픈소스 모델 정렬의 사실상 표준