Summary

RLHF를 사용한 alignment는 품이 너무 많이 든다.

  1. 사람 데이터를 많이 모으는 것도.
  2. 모델을 동시에 4개 띄워야 하는 것도.
  • freeze: reference model, reward model
  • active: Actor, Critic

Policy와 Reward function 사이에 수학적 고리가 있다.
따로 만들 필요가 없다. 불필요한 것 줄이고, 복잡한 RL 빼자.

Key change

  1. Reward Model 삭제.
  • human preference 정보를 바로 Actor에게 줌..
  1. RL 문제를 classification 문제로 환원.

Key Insight

DPO의 천재적 아이디어: “Reward Model을 수식으로 치환해버리자!”

DPO 논문 저자들의 핵심 질문은 이것이었습니다.

“어차피 우리의 최종 목표는 최적의 정책(Policy)을 얻는 것인데, 중간에 굳이 보상 모델(Reward Model)을 따로 만들어서 학습할 필요가 있을까?”

이들은 Reinforcement Learning with Human Feedback(RLHF)의 수학적 목적 함수를 가만히 들여다보다가 엄청난 사실을 발견합니다. 기존 RLHF는 ‘보상 극대화’와 ‘참조 모델과의 차이(KL penalty) 최소화’를 동시에 추구합니다. 이 목적 함수를 풀어서 ‘최적의 보상 함수 ‘에 대해 정리(Reparameterization)해 보았더니, 다음과 같은 기가 막힌 수식이 튀어나왔습니다.

: 프롬프트 (질문)
: 생성된 답변
: KL 페널티의 강도
: 정규화 상수 (나중에 소거됨)

이 수식의 의미는 엄청납니다. **“언어 모델의 정책()과 참조 모델()의 확률 비율 자체가, 곧 그 답변의 보상(Reward) 값을 완벽하게 내포하고 있다”**는 뜻입니다. 즉, 별도의 보상 모델(RM) 따위는 필요 없어진 것입니다!

PPO vs DPO

  • PPO: “비싸고 어렵지만, 최고의 성능과 새로운 전략 탐색을 위해 쓰는 정밀 도구.”
  • DPO: “reward model 학습 과정을 생략하고, 훨씬 쉽고 가볍게 PPO와 수학적으로 동등한 효과를 내는 도구.”

Details : From PPO to DPO

Step 1. Analytic Solution of optimal policy

앞서 본 RLHF의 근본 목적 함수를 변분법(Calculus of Variations)으로 풀면, KL divergence의 성질에 의해 optimal policy 는 다음과 같은 Gibbs Distribution 형태를 띤다는 것을 수학적으로 증명할 수 있습니다.

_(여기서 는 확률의 합을 1로 맞춰주는 파티션 함수입니다.)
_

**Step 2: 보상 함수()에 대해 식 정리하기 **

위 식의 양변에 로그()를 씌우고 보상 함수 에 대해 식을 정리하면 이렇게 됩니다.

Step 3: 브래들리-테리 선호도 모델(Bradley-Terry Preference Model) 에 대입

사람이 두 답변 중 보다 선호할 확률을 나타내는 유명한 통계 모델인 BT 모델은 다음과 같습니다.

(reward 간 차를 구한 다음 함수로 확률값으로 변환)

여기에 방금 Step 2에서 구한 보상 함수 식을 대입해 봅니다. 그러면 두 보상 값의 차이를 계산할 때, 계산하기 끔찍하게 어려웠던 파티션 함수 가 덧셈/뺄셈 과정에서 완벽하게 소거(Cancel out)되어 날아갑니다!

DPO의 Total Loss

우리가 가진 모델 가 저 완벽한 최적 정책 가 되도록 만들면 됩니다.
기계학습에서 확률을 최대화하는 가장 쉬운 방법인 **Negative Log-Likelihood(NLL)**를 씌우면 드디어 DPO의 최종 목적 함수가 탄생합니다.

DPO point!

위 optimal policy 의 closed-form solution 식을 다시 가져와보면,

여기서 문제는 정규화 상수인
기능은 값을 확률로 mappping 즉, scaling-factor인데 계산하는 것이 impractical.

정의상 아래와 같이 되므로,

의미하는 바는
“prompt 에 대해 가능한 모든 답 를 고려한 값.”

따라서 수식적으로 optimal policy의 closed-form solution을 구할 수 있더라도 practical한 solution을 구할 수 없었기에 큰 의미가 없었는데, DPO에서는 이를 굳이 계산하지 않아도 되도록 BT model을 도입하여 tractable한 연산으로 바꿨다는 게 key-point!

Data Preparation

데이터는 항상 쌍(Pair)으로.

  • Prompt (): “한국의 수도는?”
  • Winning Response (): “서울입니다.” (사람이 더 좋아함)
  • Losing Response (): “부산입니다.” (사람이 덜 좋아함)

Objective

  • : 지금 학습 중인 모델 (Actor)

  • : 학습 전의 초기 모델 (Reference Model)

  • 의미:

    • (좋은 답변)에 대해서는: Reference 모델보다 더 높은 확률을 내도록 학습.
    • (나쁜 답변)에 대해서는: Reference 모델보다 더 낮은 확률을 내도록 학습.
    • 결과적으로 좋은 답변과 나쁜 답변 사이의 확률 격차(Margin)를 벌리는 것이 목표입니다.

Details about calculating probabilities of each samples.

예시:

  • Prompt (): “사과 색깔은?”
  • Response (): “빨간색입니다.” (토큰: “빨간”, “색”, “입니다”, ”.“)

계산 단계:

  1. Forward Pass: 모델에 를 통째로 입력합니다.
  2. Logits 추출: 모델의 마지막 Classification 레이어에서 각 토큰 위치마다 단어 뭉치(Vocab) 전체에 대한 점수(Logits)가 나옵니다.
  3. Log-Softmax: 각 위치에서 실제 답변 단어(예: “빨간”)가 선택될 확률 를 구하고 로그를 취해 를 얻습니다.
  4. Summation (합산): 답변에 포함된 모든 토큰의 로그 확률을 더합니다.

Summary

생각을 해보면, RL이라기엔 env, agent등의 정의도 없이 단순 supervised-learning처럼 구현할 수 있어 보임. implicit RL이라고 부르기도 한다고 함.

단, 일반적인 supervised learning과 좀 비교를 해보자면,
“SL은 정답 label만 맞춰”라고 하지만, DPO는 “정답 레이블 데이터보다는 오답 레이블 데이터에 가깝게 학습해” 라고 instruct하는 부분에서 contrastive learning으로 분류되기도 한다고 함.

Limit으로는

  1. OOD에 취약 : interpolation만 하다보니, extrapolation에 취약. (supervised learning으로 구현되니. )
  • i.e. off-line learning : 데이털
  • i.e. exploration이 필요함.
    • 반복해서 하는 Iterative DPO로 Llama3 가 학습??

Online vs Offline Learning

둘 의 구분은 데이터를 누가 만드는가.

  1. Online Learning(Learn by interaction): model의 interaction이 input으로 사용되어 학습 대상.
  • Exploration을 하고, self-correction이 가능.
  • expensive하고, 수렴하기 어려움.
  1. Offline Learning(Learn from fixed Dataset): 이미 고정된 데이터셋만으로 학습.
  • 학습이 안정적이고, 효율적이나,
  • exploration이 없고, distribution shift에 굉장히 취약.