이 강의의 목표는 언어모델을 사람이 원하는 답변 방식에 맞추는 법을 아주 기초부터 이해하는 것입니다.
먼저 오늘의 핵심 식을 봅니다.
P(yw≻yl)=σ(r(yw)−r(yl))
이 식을 외우기 전에, 식 안의 말과 기호를 먼저 하나씩 풀어야 합니다.
| 말 |
뜻 |
| alignment |
모델 행동을 사람 기준에 맞추는 과정 |
| SFT |
좋은 예시 답변을 따라 하게 하는 지도학습 |
| yw, yl |
선호된 답변(winner)과 덜 선호된 답변(loser) |
| r(y) |
답변 y에 매긴 보상 점수 |
| σ(z) |
시그모이드 1+e−z1, 실수를 0~1 확률로 바꿈 |
| πθ, πref |
학습 중 정책과 기준 정책(보통 SFT 모델) |
| β |
기준에서 얼마나 벗어나도 되는지 조절하는 계수 |
수학에서 어려운 부분은 계산보다 읽기입니다. 뜻을 모르고 계산하면 공식이 암호처럼 보입니다.
글을 잘 쓰는 학생도 고객 응대 말투를 바로 잘하지는 못합니다. 좋은 답변 예시와 선호 피드백을 주면 원하는 방식에 맞춰집니다.
사람이 답변 두 개를 보고 어느 쪽이 더 나은지 고른 데이터가 있습니다. 이 "고를 확률"을 보상 점수의 차이로 모델링한 것이 Bradley-Terry 모델입니다.
P(yw≻yl)=σ(r(yw)−r(yl)),σ(z)=1+e−z1
예를 들어 winner의 보상이 r(yw)=2, loser의 보상이 r(yl)=1이라고 합시다. 차이는 2−1=1입니다.
P(yw≻yl)=σ(1)=1+e−11=1+0.3681≈0.731
보상 차이가 클수록 winner를 고를 확률이 1에 가까워지고, 두 보상이 같으면 σ(0)=0.5로 반반이 됩니다. 즉 이 식은 "더 좋은 답에 더 높은 점수를 준다"는 상식을 확률로 옮긴 것입니다. 보상 모델은 이 P가 실제 사람 선택과 맞도록 r을 학습합니다.
RLHF는 위에서 배운 보상 r을 최대로 하도록 정책 πθ를 강화학습으로 조정합니다. 다만 보상만 좇으면 문장이 이상해지거나 보상 모델의 허점을 파고들 수 있습니다. 그래서 기준 정책 πref에서 너무 멀어지지 않도록 KL 벌점을 답니다.
πθmax Ey∼πθ[r(y)]−βKL(πθ∥πref)
앞 항은 "보상을 키워라", 뒤 항은 "기준에서 벗어난 만큼 벌점을 받아라"입니다. β가 크면 기준을 크게 벗어나지 못하고, 작으면 보상을 더 공격적으로 좇습니다.
원하는 결론은 단순합니다. 선호된 답의 확률을 높이자는 것입니다.
πθ(yw∣x)>πθ(yl∣x)
하지만 이 부등식은 "그렇게 되면 좋겠다"는 목표일 뿐, 학습이 직접 줄일 수 있는 손실함수가 아닙니다. RLHF는 이 목표를 이루려고 별도의 보상 모델을 만들고 강화학습을 돌리는데, 이 과정은 불안정하고 무겁습니다.
DPO(Direct Preference Optimization)는 보상 모델과 강화학습 없이, 선호쌍만으로 정책을 바로 학습합니다. 핵심 아이디어는 §3.2의 KL 제약 최적해에서 보상이 정책 비율의 로그로 표현된다는 것입니다.
r(y)=βlogπref(y∣x)πθ(y∣x)+(상수)
이 보상을 Bradley-Terry 식에 그대로 넣으면 상수가 지워지면서, 미분 가능한 하나의 손실이 나옵니다.
LDPO=−logσ(βlogπref(yw∣x)πθ(yw∣x)−βlogπref(yl∣x)πθ(yl∣x))
이 손실을 줄이면 자연스럽게 winner의 확률(기준 대비)이 loser보다 커집니다. 즉 DPO는 §3의 선호모델과 §3.2의 KL 제약을 하나의 손실로 합쳐, 앞의 부등식을 "학습으로 줄이는 손실"로 바꿔 준 것입니다. 이 강의에서는 alignment를 "선호 데이터를 손실함수로 바꾸어 모델을 사람 기준에 맞추는 일"로 이해합니다.
- 사전학습 모델을 준비한다.
- 좋은 예시 답변으로 SFT를 해 기준 정책 πref를 만든다.
- 같은 질문에 여러 답변을 만들고 사람이 선호쌍 (yw,yl)을 고른다.
- DPO 손실을 줄여 winner 확률을 높이고 loser 확률을 낮춘다.
- 품질과 안전성을 반복 평가한다.
이 순서를 말로 설명할 수 있으면, 공식을 완전히 외우지 않아도 다시 만들어 낼 수 있습니다.
문제: winner 보상 r(yw)=1.5, loser 보상 r(yl)=0.3일 때 사람이 winner를 고를 확률을 구하라.
풀이:
r(yw)−r(yl)=1.5−0.3=1.2
P(yw≻yl)=σ(1.2)=1+e−1.21=1+0.3011≈0.769
보상 차이 1.2가 약 77%의 선호 확률로 이어집니다.
문제: β=1이고 다음 확률이 주어졌다고 하자. DPO 손실을 구하라.
πθ(yw)=0.6, πref(yw)=0.4,πθ(yl)=0.1, πref(yl)=0.2
풀이:
winner 쪽 로그비율을 구합니다.
log0.40.6=log1.5≈0.405
loser 쪽 로그비율을 구합니다.
log0.20.1=log0.5≈−0.693
시그모이드 안의 값은 두 로그비율의 차입니다(β=1).
z=0.405−(−0.693)=1.098
σ(1.098)=1+e−1.0981≈0.750
따라서 손실은
LDPO=−log(0.750)≈0.288
입니다. winner의 확률이 기준 대비 오르고 loser는 기준 대비 내려간 상태라 z>0이 되고, 손실이 작게 나왔습니다. 만약 반대로 winner를 기준보다 낮추고 loser를 높였다면 z<0이 되어 손실이 커지고, 학습은 그 방향을 피하게 됩니다.
- 오늘 배운 핵심은 언어모델을 사람이 원하는 답변 방식에 맞추는 법입니다.
- Bradley-Terry 모델은 선호 확률을 보상 차이의 시그모이드 σ(r(yw)−r(yl))로 씁니다.
- RLHF는 보상을 키우되 KL 벌점으로 기준 정책에서 멀어지지 않게 합니다.
- 단순 부등식 πθ(yw)>πθ(yl)은 목표일 뿐, 직접 줄일 손실이 아닙니다.
- DPO는 이를 하나의 미분 가능한 손실로 바꿉니다.
LDPO=−logσ(βlogπref(yw)πθ(yw)−βlogπref(yl)πθ(yl))
- Bradley-Terry 식에서 보상 차이가 0이면 선호 확률은 얼마인가?
- RLHF에서 KL 벌점은 어떤 역할을 하는가?
- 단순 부등식이 손실함수로 바로 쓰이지 못하는 이유는 무엇인가?
- DPO 손실이 작아지려면 winner와 loser 확률이 기준 대비 어떻게 움직여야 하는가?