In this paper, we show how to directly optimize a language model to adhere to human preferences, without explicit reward modeling or reinforcement learning. We propose _Direct Preference Optimization (DPO)_, an algorithm that implicitly optimizes the same objective as existing RLHF algorithms (reward maximization with a KL-divergence constraint) but is simple to implement and straightforward to train. Intuitively, the DPO update increases the relative log probability of preferred to dispreferred responses, but it incorporates a dynamic, per-example importance weight that prevents the model degeneration that we find occurs with a naive probability ratio objective. Like existing algorithms, DPO relies on a theoretical preference model (such as the Bradley-Terry model; [5]) that measures how well a given reward function aligns with empirical preference data. However, while existing methods use the preference model to define a preference loss to train a reward model and then train a policy that optimizes the learned reward model, DPO uses a change of variables to define the preference loss as a function of the policy directly. Given a dataset of human preferences over model responses, DPO can therefore optimize a policy using a simple binary cross entropy objective, producing the optimal policy to an implicit reward function fit to the preference data.
이 백서에서는 명시적인 보상 모델링이나 Reinforcement Learning 없이 언어 모델이 사람의 선호도를 준수하도록 직접 최적화하는 방법을 보여줍니다. 기존 RLHF 알고리즘과 동일한 목적(KL-분산 제약 조건을 가진 보상 최대화)을 암시적으로 최적화하지만 구현이 간단하고 훈련이 간단한 알고리즘인 _Direct Preference Optimization(DPO)_을 제안합니다. 직관적으로 DPO 업데이트는 선호되는 응답과 불리한 응답의 상대적 로그 확률을 높이지만, 순진한 확률 비율 목표에서 발생하는 모델 변질을 방지하는 동적 예시별 중요도 가중치를 통합합니다. 기존 알고리즘과 마찬가지로 DPO는 주어진 보상 함수가 경험적 선호도 데이터와 얼마나 잘 일치하는지를 측정하는 이론적 선호도 모델(예: 브래들리-테리 모델[5])에 의존합니다. 그러나 기존 방법은 선호도 모델을 사용하여 선호도 손실을 정의하여 보상 모델을 학습시킨 다음 학습된 보상 모델을 최적화하는 정책을 학습시키는 반면, DPO는 변수 변경을 사용하여 정책의 함수로 선호도 손실을 정의합니다. 따라서 DPO는 모델 응답에 대한 사람의 선호도 데이터 세트가 주어지면 간단한 이진 교차 엔트로피 목표를 사용하여 정책을 최적화하여 선호도 데이터에 맞는 암시적 보상 함수에 대한 최적의 정책을 생성할 수 있습니다.
이 백서에서는 명시적인 보상 모델링이나 강화 학습 없이 언어 모델이 사람의 선호도를 준수하도록 직접 최적화하는 방법을 보여줍니다. 기존 RLHF 알고리즘과 동일한 목적(KL-분산 제약 조건을 가진 보상 최대화)을 암시적으로 최적화하지만 구현이 간단하고 훈련이 간단한 알고리즘인 _Direct Preference Optimization(DPO)_을 제안합니다. 직관적으로 DPO 업데이트는 선호되는 응답과 불리한 응답의 상대적 로그 확률을 높이지만, 순진한 확률 비율 목표에서 발생하는 모델 변질을 방지하는 동적 예시별 중요도 가중치를 통합합니다. 기존 알고리즘과 마찬가지로 DPO는 주어진 보상 함수가 경험적 선호도 데이터와 얼마나 잘 일치하는지를 측정하는 이론적 선호도 모델(예: 브래들리-테리 모델[5])에 의존합니다. 그러나 기존 방법은 선호도 모델을 사용하여 선호도 손실을 정의하여 보상 모델을 학습시킨 다음 학습된 보상 모델을 최적화하는 정책을 학습시키는 반면, DPO는 변수 변경을 사용하여 정책의 함수로 선호도 손실을 정의합니다. 따라서 DPO는 모델 응답에 대한 사람의 선호도 데이터 세트가 주어지면 간단한 이진 교차 엔트로피 목표를 사용하여 정책을 최적화하여 선호도 데이터에 맞는 암시적 보상 함수에 대한 최적의 정책을 생성할 수 있습니다.