NLP

논문 리뷰 💬 [Direct Preference Optimization: Your Language Model is Secretly a Reward Model]

MINAIR 2024. 9. 3. 02:35

📚 Paper

https://arxiv.org/pdf/2305.18290

 

Abstract


LM은 unsupervised learning으로 학습되기 때문에 그들의 행동을 정확히 조절하기는 힘들다. 현존하는 모델은 사람이 매긴 model generation 간의 relative quality dataset을 사용해 steerability를 얻고자 한다. 대표적 예시로, Reinforcement Learning Human Feedback (RLHF)는 human preference를 unsupervised LM으로 하여금 align하도록 fine-tune시킨다. 그러나, RLHF는 복잡하고 불안정하다. 먼저 human preference를 반영하는 reward model을 훈련시킨 후, fine-tuned LM으로 하여금 RL을 사용하여 original model로부터 크게 벗어나지 않으면서 최대 reward를 얻을 수 있는 generation을 하도록 한다.  

 

본 논문은 RLHF의 한계를 극복하는 방법으로 Direct Preference Optimization (DPO) 을 제시한다. DPO는 RLHF의 reward model로부터 optimal policy를 계산하는 법을 도출하여 RLHF 문제를 simple classification loss를 이용해 해결할 수 있도록 한다. DPO는 stable, performant, computationally lightweight하다는 장점이 있다. 

Introduction


LM은 사람이 만들어낸 많은 데이터셋에 대해 훈련되지만, 그것을 그대로 imitate하기에는 적절하지 않은 몇몇 데이터셋이 있다. 예를 들어, 우리는 AI coding assistant가 programming mistake을 이해하고 그것을 고쳐주길 바라지만 모델의 코딩 실력이 high-quality이기를 바란다. 또한, 우리는 LM이 misconception을 이해하고 인식하기를 바라지만 모델이 그런 misconception이 사실이라고 주장하지 않기를 바란다. 이러한 예시는, 모델이 생성하는 responses와 behaviors를 고르는 것이 safe, performant, controllable한 AI system을 구축하는 데 매우 중요함을 의미한다. 

 

LM을 human preference에 align시키는 방법 중 RL을 이용한 방법이 좋은 성능을 보이지만, 본 논문은 복잡한 RL-based objective가 simple binary cross-entropy objective를 이용하여 directly/simple하게 alignment이 최적화될 수 있음을 보인다. 

 

high-level로 봤을 때, 기존의 방법은 사람이 safe & helpful하다고 여기는 human preference data를 LM이 침투시키는 것이었다. supervised fine-tuning보다 RL의 성능이 더 뛰어났지만, RL은 supervised learning보다 훨씬 복잡하고 LM을 여러 번 학습시켜야 한다는 점 & training 때 LM policy를 샘플링해야 한다는 점에서 computational cost는 훨씬 비싸다.  (RLHF는 optimal policy를 찾을 때 여러 개의 출력을 생성하고 이를 reward model을 통해 평가하는 과정을 통해 LM을 fine-tuning한다. 그러나 DPO는 explicit reward model이 없고 여러 개의 출력을 생성, 즉 샘플링해서 이들의 reward를 평가하는 과정이 없으므로 sampling 과정이 필요 없다는 것이다.)

 

본 논문에서는 explicit reward model과 RL을 사용하지 않고 어떻게 LM을 human preference에 directly optimize할 수 있는지를 보인다. DPO는 existing RLHF와 implicitly하게 같은 목적을 가지는 알고리즘이지만, 실행하기 더 쉽고 직관적이다. DPO update는 dispreferred response에 대한 preferred response의 log probability를 증가시키는 것과 동시에 model degeneration을 막는 weight를 추가했다. DPO는 reward function이 preference data에 얼마나 잘 align했는지를 측정하는 (e.g., y2>y1일 때, r(y2)>r(y1)로 답변에 따른 reward를 얼마나 잘 주었는가?) preference model (e.g., Bradley-Terry model)을 사용한다. 

 

existing method는 preference model (Eqn. (1))을 reward model의 loss인 preference loss, 즉 log (preference model)을 이용해 loss of reward model을 구한 뒤 learned reward model을 최적화하는 policy를 훈련시켰다. 그러나 DPO는 preference loss를 policy loss에 사용함으로써 reward model과 RL을 사용하지 않고 마치 binary classification의 cross-entropy loss를 구하듯이 (Eqn. (7)) 간단하게, 그리고 직접적으로 optimal policy를 최적화할 수 있도록 한다. 

 

DPO는 simple RL-free algorithm for training language models from preferences로, sentiment modulation, summarization, dialogue task에서 existing method보다 outperformance를 보인다. 

 

Related Work


LM의 performance on downstream task and alignment with user intent는 human-written completion과 datasets of instruction으로 fine-tuning됨으로써 크게 향상된다. 특히 RL을 사용하는 방법은 크게 두 가지 작업이 필요하다. 첫째, 다양한 목적에 대해 RL로 LM을 훈련하는 작업. 둘째, human preference를 배울 수 있는 일반적인 작업. -> major practical challenge가 남아있다. 

 

language의 맥락을 벗어나서, learning policies from preferences는 bandit과 RL setting에서 연구되고 있었다. Contextual bandit learning은 reward보다 action의 ranking을 학습한다. absolute reward이 없고, CDB는 optimal policy를 von Neumann winner로 대체하는데, 이 policy는 상대 policy가 그 어떤 것이라도 최소 50%의 승률을 보인다. 그러나 human preference는 offline에서 주어지는 것과 반대로 CDB setting에서 preference label은 online으로 주어진다. 또한, preference-based RL (PbRL)은 reward보다 unknown scoring function으로부터 생성된 preference를 학습한다. 

 

본 논문에서는 human preference를 만족하는 policy를 single step & directly하게 optimize한다. 

 

Prelimiaries


RLHF pipeline는 크게 세 가지 단계가 있다.

SFT

high-quality data for the downstream task로 pre-trained LM을 supervised learning으로 fine-tuning시킨다. 그 결과로 model 정책^SFT를 얻는다. 

Reward Modeling Phase

정책^SFT에게 prompt x를 주고 pairs of answer (y1, y2) ~ 정책^SFT(y|x)를 생성하도록 한다. (x, y1, y2)는 human labeler에게 주어져서 y1과 y2 중 어떤 것이 더 좋은 답변인지 정하도록 한다. yw > yl | x 를 사람이 정하도록 한다. 이때, y1 > y2라고 한다면 그 preference가 우리가 알 수 없는 어떤 latent reward mdel r*(y, x)에 의해 정해진다고 가정한다. preference model로 Bradley-Terry (BT) model이 가장 유명하다. BT model은 some population에서 (x, y1, y2)를 샘플링했을 때 y1 > y2 | x를 만족시킬 확률을 모델링한다. ( = some population에서 y1 > y2 | x를 만족시키는 (x, y1, y2)가 뽑힐 확률) p* (y1 > y2| x)는 human preference distribution이다. dataset of comparisons D = {x(i), yw(i), yl(i)}_{i = 1...N}은 확률 분포 p*로부터 샘플링된다. 즉, 데이터셋 D는 human preference가 반영되어 y 사이의 relative ranking (yw, yl)이 정해진 데이터셋이다. 

 

Eqn. (1)을 해석하자면, y1에 대한 보상이 y2에 대한 보상보다 더 클수록 y1 > y2 | x일 확률도 높다. 즉, 높은 보상을 가지는 답변에 대해선 그 생성 확률도 높다.

Eqn. (1)

reward function r(x, y)는 SFT model 정책^SFT(y|x) + linear layer that produces a single scalar prediction for the reward value로 초기화된다. 이후 Eqn. (2)의 negative log-likelihood loss를 줄이도록 parameter가 업데이트된다. Eqn. (2)를 해석하자면, yw에 대한 보상과 yl에 대한 보상 차이가 커야 (즉, p*이 커야) 시그모이드 값이 1에 수렴하고 log를 씌운 값이 0에 가까워져 (최대화되어) -를 붙였을 때는 최소화된다. 시그모이드 함수의 정의에 따라 Eqn. (1)과 Eqn. (2)에서 주황색 하이라이트는 equivalent하다.  따라서, Eqn. (2)에서 reward model에 대한 loss를 최소화하는 것은 Eqn. (1)의 p*를 최대화하는 것과 같다. 

Eqn. (2)
Figure 1

RL Fine-Tuning Phase

learned reward function은 LM에게 feedback을 준다. Eqn. (3)은 최종적으로 LM policy를 fine-tuning할 때의 objective이다. Eqn. (3)에서 정책_ref는 기존 정책^SFT이다. 정책_세타 역시 정책^SFT로 초기화된다. 정책_ref와 정책_세타의 KL-divergence를 계산하여 업데이트되는 정책이 기존 정책으로부터 얼만큼 발산하는지 측정한다. beta를 사용해 이 divergence를 제한한다. r(x, y)에서 KL-divergence with penalty beta를 빼주어 divergence를 제한하면서도 expectation of reward를 maximize하는 최적 정책을 찾는 것을 목표로 한다. 

 

그러나, Eqn. (3)은 미분 불가능 & RL로 최적화되어야 한다는 한계가 있다. standard approach에선 reward function을 Eqn. (3-1)과 같이 정의한다. (KL-divergence를 ratio with log로 나타냄)

Eqn. (3)
Eqn. (3-1)

Direct Preference Optimization


논문의 key insight는 loss function of reward function을 loss function of policies로 변환시켜 reward function으로부터 optimal policy를 mapping하는 것이다. 이런 change-of-variables이 explicit reward model을 만들지 않으면서도 모델이 human preference model (e.g., BT model)을 만족시키며 optimal policy를 찾을 수 있도록 한다. 

Deriving the DPO objective

DPO의 objective function은 Eqn. (3), 즉 RLHF의 최종 목적으로부터 출발하여 Figure 2, Figure 3를 거쳐 Eqn. (4)를 결과로 도출한다. 

Eqn. (4)
Figure 2
Figure 3

그러나, 여전히 Z(x)를 계산하는 것은 비싸다. Eqn. (4)를 r(x, y)이 좌변이 되도록 재배열하면 Eqn. (5)가 된다. 먼저 양변에 log를 취한 뒤 좌변에 r(x, y)만 남도록 해주면 된다. Eqn. (4) -> Eqn. (5)의 과정을 reparameterization / change-of-variable이라고 한다. 

Eqn. (5)

또한, BT model p*는 difference of rewards of two completions에 시그모이드 함수를 적용한 것과 같은데, Eqn. (5)를 Eqn .(1)에 대입하면 Eqn. (6)과 같다. reward function에만 의존했던 Eqn. (1)의 BT model과 달리 Eqn. (6)의 human preference model은 optimal policy와 reference policy에만 의존한다. 따라서, Eqn. (6)은 reward model이 아닌 optimal policy에 의존하는 human preference model이기 때문에 reward model의 필요성이 사라지고 있는 단계다. Eqn. (7)은 Eqn. (5)를 Eqn. (2)에 대입한 것으로, 마찬가지로 주황색 하이라이트는 서로 equivalent하며 reward model이 아닌 policy에 대한 negative log-likelihood loss에 대한 정의다.  

Eqn. (6)
Eqn. (7)

이상, Eqn. (4)부터 Eqn. (7)까지 implicit reward(Eqn. (4) -> Eqn. (5), Eqn. (1)과 Eqn. (2)에 Eqn. (5)를 대입하는 과정)alternative parameterization (reparameterization)을 통해 fit하는 과정이었다. (최적 정책을 찾는 것이 목표인 Eqn. (3) -> Eqn. (4) -> Eqn. (5) -> Eqn. (1)과 Eqn. (2)에 Eqn. (5)를 대입함으로써 reward function에 대한 식을 policy에 대한 식으로 변환하는 과정, 즉 explicit reward model을 없애되 간접적/implicit하게는 reward model에 대한 적합이 남아 있는 상태)

 

DPO의 최종 목적은 마찬가지로 Eqn. (7)을 최소화하는 것, 즉 주황색 하이라이트를 최대화하는 것을 목표로 한다.  이는 곧 reparameterized (parameter가 reward model에 대한 것에서 policy에 대한 것으로 바뀜) BT model을 적합하는 것과 같다. 이때, 기존의 RLHF는 reward model에 대해 negative log-likelihood를 objective로 잡은 뒤 그 결과를 이용해 expectation of rewards를 최대화했지만, DPO는 policy에 대해 negative log-likelihood를 objective로 잡은 뒤 이를 최소화하는 과정만으로 최적 정책을 찾을 수 있으므로 RLHF보다 매우 효율적이라고 하는 것이다. 

What does the DPO update do?

DPO의 loss L_DPO는 미분 가능하다. implicit reward model을 정책_세타와 정책_ref의 log-probability를 이용해 정의할 수 있다. 유도 결과에 따르면, preferred completion yw에 대한 확률은 높이고 dispreferred completion yl에 대한 확률은 낮추는 방향으로 gradient가 정의된다. 여기에서 중요한 것은, 각 example (x, yw, yl)은 implicit reward model이 completions을 얼마나 잘못 ordering했는지에 대한 가중치 weight를 받게 된다. yl에 대한 보상이 yw에 대한 보상보다 클수록, 즉 completion을 잘못 ordering할수록 weight는 커지게 된다. 이 weighting이 없고 단순히 yw에 대한 확률 높이기 & yl에 대한 확률 낮추기만 한다면 model이 degeneration한다. 따라서 weighting을 주는 것이 매우 중요하다고 한다.  

DPO outline

전체적인 DPO pipeline은 다음과 같다.

1. 정책_ref로부터 given x에 대한 completion (y1, y2)를 샘플링한다. 이후 사람으로 하여금 preference dataset D = (x(i), y1(i), y2(i)}_{i = 1...N}을 구축하도록 한다. 
2. given 정책_ref, D, desired beta에 대해 L_DPO를 최소화해 최적 정책을 찾는다. 

 

y1, y2는 정책^SFT로부터 얻어지므로 가능하다면 정책_ref는 정책^SFT로 초기화한다. 그러나 만약 정책^SFT가 avaliable하지 않다면 아래와 같이 정책_ref를 초기화한다. 즉,  yw의 확률을 최대로 갖게 하는 정책으로 초기화한다. 

 

Theoretical Analysis of DPO


Your Language Model Is Secretly a Reward Model

DPO는 explicit reward model과 RL to learn the policy를 사용하지 않는다. 본 section에서는 reparameterization이 learned reward model의 class를 제한하지 않는다는 것을 보인다. 즉, DPO를 이용해도 여전히 다양한 reward function을 사용할 수 있음을 밝힌다. 

 

Definition 1. We say that two reward functions r(x, y) and r'(x, y) are equivalent if and only if r(x, y) - r'(x, y) = f(x) for some function f. 

Lemma 1. Under the Plackett-Luce, and in particular the Bradley-Terry, performance framework, two reward functions from the same class induce the same preference distribution. -> 만약 two reward functions이 어떤 입력에 대해 비슷한 reward를 생성한다면 (같은 클래스에 속한다면) (Definition 1에 따라 r'(x, y) = r(x, y) + f(x)이다.) 두 reward function은 같은 preference distribution을 유도할 것이다.

Lemma 2. Two reward functions from the same equivalence class induce the same optimal policy under the constrained RL problem. -> 만약 two reward functions이 같은 클래스에 속한다면 (Definition 1에 따라 r'(x, y) = r(x, y) + f(x)) 두 reward function은 같은 optimal policy를 유도할 것이다.

 

이때, Plackett-Luce는 BT model의 일반화로, (y1, y2)의 pairwise comparison이 아니라 여러 개의 y에 대해 ranking을 매긴다. 생성된 K개의 output에 대해 그들의 순서 tau를 permutation한다. K = 2일 때는 BT model로 특정된다. 여러 개의 입력에 대해서도, 즉 Plackett-Luce에 대해서도 DPO는 잘 적용된다. Eqn. (18)에서 reward model을 implicit reward model로 대체한 뒤 이를 L_DPO의 p* 자리에 대입하면 된다. 

Eqn. (18)
Eqn. (19)
Eqn. (20)

Theorem 1. reward equivalence class, 즉 같은 클래스에 속하는 reward model은 implicit reward model r(x, y)로 나타낼 수 있다. Eqn. (5)와 Definition 1을 이용하여 r과 같은 reward class에 속하는 reward model r'도 implicit reward model의 형태로 나타낼 수 있다는 의미다. 따라서, Theorem 1을 통해 본 논문은 reparameterization (결국엔 implicit reward model을 propose하는 것) 을 해도 여전히 같은 클래스에 속하는 reward function들을 reparameterized 형태로 정의할 수 있고 (does not constrain the class of learned reward models), 그들로부터는 같은 preference model과 optimal policy를 도출해낼 수 있음을 나타내고자 한 것이다. 

또한 Theorem 1은 DPO reparameterization할 때 each equivalence class에서 어떤 reward function을 고르느냐의 관점에서 볼 수 있다. (Lemma 2에 따라 같은 클래스의 reward function은 같은 optimal policy를 유도하므로, 같은 optimal class에서 여러 개의 reward model을 recover할 수 있다.) 이때 Eqn. (9)를 만족하는 reward model을 선택해야 한다. 정책_ref는 고정값이므로 Eqn. (9)를 만족하는 exact reward function r(x, y)를 뽑아낼 수 있고, 이를 통해 optimal policy를 recover할 수 있다. 즉, 이 관점에서 봤을 때 reparameterization은 optimal policy의 exact recovery를 할 수 있도록 해준다. 

Eqn. (9)

Instability of Actor-Critic Algorithms

DPO framework를 이용해 RLHF를 이용하는 actor-critic 알고리즘의 불안정성을 검증할 수 있다. Eqn. (3)를 Eqn. (10)으로 바꿔 표현할 수 있는데, f의 normalization term이 없으면 optimal solution을 찾는 데 영향은 없지만 policy gradient가 높은 분산을 갖게 되어 학습을 불안정하게 만든다. 반면, DPO는 Eqn. (7)로, 별다른 baseline 없이 policy만으로 깔끔하게 objective를 정의할 수 있다는 점에서 장점을 갖는다. 

Eqn. (10)

 

Experiments


두 가지 측면에서 DPO의 성능을 평가했다. 

 

1. 어떻게 DPO가 다른 preference learning algorithm에 비해 maximizing reward & minimizing KL-divergence를 잘 할 수 있는가?  

2. larger model과 more difficult RLHF task에 대해 DPO의 성능을 평가했다. 

 

본 논문은 DPO가 별도의 hyperparameter tuning 없이도 strong baselines like RLHF보다 outperformance를 보임을 확인했다. 

 

Tasks

  • controlled sentiment generation: x는 IMDb dataset이고 policy는 positive sentiment y를 생성해야 한다. 이때 sentiment classifier를 이용해 p(positive | x, yw) > p(positive | x, yl)의 확률을 모델링해 ground-truth reward function을 알 수 있다. 
  • summarization: x는 forum post from Reddit이고 policy는 post의 main point에 대한 summary y를 생성해야 한다. 
  • single-turn dialogue: x는 human query이고 policy는 engaging and helpful response y를 생성해야 한다.

-> 각각의 task에 대해 D = (x(i), yw(i), yl(i)}_{i = 1...N}을 구축한다. 

 

Evaluation

controlled sentiment generation에 대해서는 achieved reward와 KL-divergence의 최적 조합, 즉 trade-off (frontier)를 이용해 평가한다. achieved reward는 최대화하면서 KL-divergence는 최소화해야 하고, controlled sentiment generation task에서는 sentiment classifier를 통해 ground-truth of reward function을 알기 때문에 가능하다. 그러나, real world에서는 실제 reward function을 모른다. 따라서  summarization과 dialogue는 frontier 대신에 policy가 baseline policy를 이긴 win rate를 통해 평가한다. 이때 GPT-4가 사람 대신 평가하고, GPT-4와 사람의 의견이 잘 correlate함을 확인했다. 

 

Methods

아래와 같은 8개의 알고리즘이 DPO의 baseline으로 쓰인다.

  • zero-shot prompting with GPT-J in summarization 
  • 2-shot prompting with Pythia-2.8B in dialogue
  • SFT model
  • Preferred-FT: a model fine-tuned with supervised learning on the chose completion yw 
  • unlikelihood: simply maximizes the probability assigned to yw and minimize the probability assigned to yl -> without weight in DPO
  • PPO
  • PPO-GT: PPO with ground truth reward model in sentiment task
  • Best of N: SFT model로부터 N개의 응답을 생성해 내어 reward function으로부터 가장 높은 점수를 가지는 응답을 반환. 

How well can DPO optimize the RLHF objective?

RLHF에서 reward를 최대화하는 것도 중요하지만, 동시에 KL-divergence를 최소화하는 것도 중요한 목표다. 이러한 trade-off를 reward-KL frontier라고 한다. 각 알고리즘 당 hyperparameter를 바꿔가며 sentiment task에 대해 여러 차례 training을 했고, 각 training 마다 100번째 step에서 average reward와 average sequence-level KL을 계산했다. 그 결과가 Figure 2에 나와있는데, DPO가 가장 효율적인 frontier를 달성했다. 즉, 가장 높은 reward를 받으면서도 낮은 KL을 달성했다. 그 이유는 첫째, DPO는 PPO와 동일한 목적을 가지지만 그 계산 과정이 더 효율적이다. 둘째, DPO는 PPO with ground-truth reward model보다 outperformed했다. 

Can DPO scale to real preference datasets?

이제 summarization과 single-turn dialogue에 대한 DPO의 성능을 평가한다. 

 

먼저, summarization이다. test split of TL;DP (Too Long ; Didn't Read) summarization dataset에서 completion을 sampling하여 reference completion으로 사용했다. generated summarization이 reference completion을 이긴 win rate의 평균으로 평가한다.  sampling temperature를 다르게 해서 알고리즘 별로 win rate를 Figure 2에 나타냈다. 높은 temperature를 가질수록 sampling 결과가 smooth해져서 uncertain해지고 낮은 temperature를 가질수록 sampling 결과가 sharp해져서 randomness가 줄어든다. 이때 DPO, PPO, Preferred-FT 모두 GPT-J를 fine-tuning한 것이다. temp = 0일 때 DPO의 win rate가 61%로, PPO의 가장 높은 win rate인 57%를 능가했음을 알 수 있다. 아직 DPO의 hyperparameter tuning 전이므로, 이는 DPO의 잠재가능성을 나타낸다. 또한, DPO가 PPO에 비해 temperature 변화에 덜 민감함을 알 수 있다. 

 

single-turn dialogue에 대해서는, test split of the Antropic HH dataset을 사용했다. 마찬가지로 reference completion과 generated dialogue 간의 win rate으로 평가한다. pre-trained Pythia-2.8B로부터 시작한다.  Figure 3을 보면, DPO와 Best of 128이 비슷하게 outperform함을 확인할 수 있다. 또한, DPO는 빠르게 best performance에 수렴한다. 

Generalization to a new input distribtution

summarization task에서 distribution shift에 대한 PPO와 DPO의 generalization 능력을 확인했다. test split of the CNN/DailyMail data를 reference completion으로 삼아 실험한 결과, DPO가 distribution shift에 대해 PPO보다 여유롭게 generalization에서 outperformance를 보인 것을 확인할 수 있다.  

Discussion


본 논문은 RL 없이 human preference를 직접적으로 LM을 training할 수 있는 simple 알고리즘 DPO를 소개했다. DPO는 reward function에 대한 loss를 policy에 대한 loss로 변환시킴으로써, 즉 simple binary cross-entropy objective를 이용해 human preference를 directly하게 LM에 align시킬 수 있다. 그 결과로, DPO는 hyperparameter tuning 없이도 다른 RLHF-based 알고리즘을 outperformed하는 성과를 보였다. 

 

한계: 어떻게 out-of-distribution에 대해 DPO policy가 일반화될 수 있는가? 6B보다 더 큰 LM에 대한 실험 부족. GPT-4를 evaluator로 쓰기에는 prompt의 한계가 있다. 등등

'NLP' 카테고리의 다른 글

Transformer에서 어떻게 다음 토큰을 예측할까?  (0) 2025.02.24