Direct Preference Optimization

Apr 15, 2025 09:48 AM
Apr 30, 2025 08:42 AM

Direct Preference Optimization(DPO)은 강화학습(RL)과 선호도 학습(preference learning)의 효율적인 대안으로 개발된 방법

Link

핵심 개념

장점

수학적 공식화

선호도 데이터 (x,yw,yl)가 있을 때 (x는 입력, yw는 선호되는 출력, yl은 선호되지 않는 출력):

  1. Bradley-Terry 모델로 선호도 확률 모델링: p(ywyl|x)=σ(r(x,yw)r(x,yl))
    • 이 수식의 목적: 선호되는 출력과 선호되지 않는 출력 간의 보상 차이를 시그모이드 함수를 통해 선호도 확률로 변환
    • σ는 시그모이드 함수로, 두 출력 간의 보상 차이를 0과 1 사이의 확률값으로 매핑
    • r(x,y)는 입력 x에 대한 출력 y의 보상값(선호도)
  2. KL 제약 보상 최적화 문제: maxπθExD,yπθ(y|x)[r(x,y)]βKL[πθ(y|x)||πref(y|x)]
    • 이 수식의 목적: 모델이 높은 보상을 받는 출력을 생성하도록 하면서, 동시에 참조 모델과 너무 멀어지지 않도록 제약 설정
    • 첫 번째 항은 정책 πθ가 생성하는 출력의 기대 보상을 최대화
    • 두 번째 항은 새 정책 πθ가 참조 정책 πref로부터 너무 멀어지지 않도록 KL 발산으로 제약
    • β는 이 두 목표 간의 균형을 조절하는 하이퍼파라미터
  3. DPO 손실 함수: LDPO(πθ;πref)=E(x,yw,yl)D[logσ(βlogπθ(yw|x)πref(yw|x)βlogπθ(yl|x)πref(yl|x))]
    • 이 수식의 목적: KL 제약 보상 최적화 문제를 직접 풀 수 있는 형태의 손실 함수로 변환
    • 보상 모델 r을 직접 학습하지 않고, 정책 πθ참조 정책 πref 간의 로그 확률 비율로 암묵적으로 표현
    • πθ(y|x)πref(y|x)는 새 정책과 참조 정책 간의 출력 확률 비율, 이 값이 높을수록 새 정책이 해당 출력을 더 선호함을 의미
    • 선호되는 출력 yw에 대해서는 이 비율이 높아지고, 선호되지 않는 출력 yl에 대해서는 낮아지도록 학습

여기서: