DPO(Direct Preference Optimization)
강화학습 없이 preference data만으로 LLM 파인튜닝하는 기법
DPO loss function
LDPO=−logσ(β[logπθ(y+∣x)−logπθ(y−∣x)])
- π(y∣x): 프롬프트 x가 주어졌을 때, 모델 π가 응답 y를 생성할 확률
- πθ: 현재 모델의 policy, 확률분포
- σ: 시그모이드 함수
- β: inverse temperature
- logπθ(y+∣x)−logπθ(y−∣x)
선호 응답의 확률이 비선호 응답의 확률보다 얼마나 더 높은가
선호 응답(y+)과 비선호 응답(y−)의 차이가 클수록 시그모이드 값이 올라가고, loss가 내려감.
유도공식
BCO(Binary Classification Optimization
선호 학습을 이진분류문제로 간주함.
좋은 응답은 1로, 나쁜 응답은 0으로 분류하는 방식
로그 확률에 시그모이드 적용하여 안정성 확보
BCO loss function
LBCO=−logσ(logπθ(y+∣x))−log(1−σ(logπθ(y−∣x)))
DPO vs BCO 비교
BCO