🎲
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
오픈소스 모델 정렬의 사실상 표준