강화학습 없이 사람의 선호 데이터를 직접 학습해 모델을 정렬하는 방법. RLHF보다 훨씬 단순하고 안정적이면서 비슷한 성능을 낸다.
RLHF는 별도의 보상 모델을 학습하고 PPO로 강화학습하는 복잡한 과정이 필요하다. DPO는 "어떤 답변이 더 좋다"는 선호 쌍 데이터(chosen/rejected)만 있으면, 복잡한 강화학습 루프 없이 언어 모델 손실 함수만으로 직접 학습할 수 있다. 구현이 간단하고 학습이 안정적이어서 오픈소스 파인튜닝에서 빠르게 주류가 됐다.
Hugging Face의 TRL 라이브러리에서 DPOTrainer를 쓰면 (prompt, chosen_response, rejected_response) 형식의 데이터셋으로 바로 학습할 수 있다. 사내 피드백 데이터를 모아 분기별로 DPO 파인튜닝하면 도메인 선호도를 모델에 반영할 수 있다.