Direct Preference Optimization
Direct Preference Optimization(DPO)은 강화학습(RL)과 선호도 학습(preference learning)의 효율적인 대안으로 개발된 방법
핵심 개념
- 기존 선호도 기반 학습은 크게 두 단계로 이루어짐:
- 선호도 데이터로부터 보상 모델(reward model) 학습
- 학습된 보상 모델을 사용해 RL로 정책(policy) 최적화
- DPO는 이 두 단계를 결합하여 직접 정책을 최적화:
- 보상 모델을 명시적으로 학습하지 않음
- 선호도 데이터에서 직접 정책 파라미터 업데이트
- KL 제약 보상 최적화 문제의 닫힌 형태 해(closed-form solution)를 활용
장점
- 명시적인 보상 모델 학습 필요 없음
- 계산 효율성 향상 (단일 단계 학습)
- RL 알고리즘의 복잡성과 불안정성 회피
- 원래 모델의 능력을 보존하면서 선호도 반영 가능
- 모델 배포 과정 간소화 (별도의 보상 모델 없음)
수학적 공식화
선호도 데이터
- Bradley-Terry 모델로 선호도 확률 모델링:
- 이 수식의 목적: 선호되는 출력과 선호되지 않는 출력 간의 보상 차이를 시그모이드 함수를 통해 선호도 확률로 변환
는 시그모이드 함수로, 두 출력 간의 보상 차이를 0과 1 사이의 확률값으로 매핑 는 입력 에 대한 출력 의 보상값(선호도)
- KL 제약 보상 최적화 문제:
- 이 수식의 목적: 모델이 높은 보상을 받는 출력을 생성하도록 하면서, 동시에 참조 모델과 너무 멀어지지 않도록 제약 설정
- 첫 번째 항은 정책
가 생성하는 출력의 기대 보상을 최대화 - 두 번째 항은 새 정책
가 참조 정책 로부터 너무 멀어지지 않도록 KL 발산으로 제약 는 이 두 목표 간의 균형을 조절하는 하이퍼파라미터
- DPO 손실 함수:
- 이 수식의 목적: KL 제약 보상 최적화 문제를 직접 풀 수 있는 형태의 손실 함수로 변환
- 보상 모델
을 직접 학습하지 않고, 정책 와 참조 정책 간의 로그 확률 비율로 암묵적으로 표현 는 새 정책과 참조 정책 간의 출력 확률 비율, 이 값이 높을수록 새 정책이 해당 출력을 더 선호함을 의미 - 선호되는 출력
에 대해서는 이 비율이 높아지고, 선호되지 않는 출력 에 대해서는 낮아지도록 학습
여기서:
는 시그모이드 함수 는 최적화하려는 정책 는 참조 정책(보통 초기 사전학습 모델) 는 참조 정책으로부터의 이탈 정도를 조절하는 하이퍼파라미터