CME295 5강 정리하면서 공부해봤다.
https://cme295.stanford.edu/slides/fall25-cme295-lecture5.pdf
1. Preference tuning
Model misbehaveing이 생기면 SFT(Supervised Fine-Tuning)의 data quality부터 체크해야 한다.
Misbehave에 대한 negative signal이 필요함. 그래서 모델 학습시킬 때 preference pair를 넣어주는거임!
특징
뭐가 더 나은지 비교하는 게 어떤 답이 정답인지 설정하는 것보다 쉬움
SFT만으로는 데이터 분포가 틀어지면 쉽게 messed up 될 수 있는데 이거를 preference tuning으로 해결할 수 있다.
SFT: 이게 정답이다! / Preference tuning: 이게 더 낫다, 이게 더 별로다
하지만 크게 확장하기는 어려움. 다 사람이 분류해야하기 때문 (비용, 정확성) quality를 유지하기 쉽지 않음
2. Data collection
Pointwise, pairwise, listwise 방법 등이 있는데 pairwise가 제일 좋음
생성 -> 라벨링 순서로 감
[생성]
사용자 input $x$에서 output $\hat{y}$를 생성함
이때 일부러 다양한 답을 만들어야 비교가 가능하기 때문에
- temperature T>0 (T=0이면 항상 같은 값, T가 커질수록 창의적이지만 이상한 답들이 증가함)
- synthetic(인위적 생성)
- rewrite (기존 답 변형)
로 설정함
[라벨링] 방법 3개
- Human Rating
- Proxies (자동 평가)
- LLM-as-a-judge (LLM이 대신 평가함)
- BLEU, ROUGE와 같은 metric
- 라벨 형태
- Binary: A > B (Bradley-Terry에 쓰임)
- Nuanced: A 8점, B 6점
3. RLHF
3.1 RLHF: Reinforcement Learning from Human Feedback

Step1: Reward modeling
어떤 답변이 좋고 나쁜지 구분함
데이터 10,000개정도 사용하고 라벨링은 다 human labeling임. 애초에 이름이 RLHF(RL Human Feedback)임 wow
2가지 모델 사용할 수 있음
① pretrained LLM + classification head
원래 LLM의 task가 next token prediction인데 reward model의 목표는 점수를 출력하는 것이므로 classification head를 붙임
② Encoder-only model like BERT's [CLS] projection
BERT가 읽은 다음에 [CLS]가 전체 의미 요약해서 그거를 숫자 하나로 바꿈
학습은 아래처럼 진행됨
Bradley-Terry formulation: 두 답을 비교해서 확률로 모델링함. 시그모이드 사용하는거임
$p(y_i > y_j) = \sigma(r_i - r_j)$

이걸 가지고 reward model을 학습시키는거임
$\mathcal{L}(\theta) = -\mathcal{E}[\log \sigma(r(x, y_w) - r(x, y_l))]$
Step2: Reinforcement learning
Reward modeling 가지고 안 좋은 답변 페널티주고 좋은 답변은promote함
데이터 100,000개정도 사용하고 라벨링은 reward model의 출력값임
1가지 모델 사용함
① 이미 학습된 SFT 모델에서 시작함 (0에서 시작x)
Objective function $\mathcal{L}(\theta)$를 이용해서 LLM의 가중치를 바꿈
3.2 PPO
Don't deviate too much from base model: 지금 모델 너무 많이 바꾸지 마라!
: reward hacking하고 training instability 피하기 위해!

많이 쓰이는 방법이 PPO임
PPO: Proximal(몸쪽. 가까운) Policy Optimization. 크게 바꾸지 않고 업데이트
두 개 다르면 KL 커지면서 penalty 커짐

사실 PPO는 Reward가 아니라 Advantage(=Reward - Baseline)을 기준으로 학습한다.

value function의 특징
- 중간 예상 점수 계산함. 지금 policy를 계속 따르면 미래의 reward가 얼마나 될까를 예측하는 것임
- 토큰마다 계산함 (e.g. I, I love, I love teddy, ...)
- 계속 학습됨. policy(LLM)이랑 value function이 같이 업데이트 됨
GAE는 뭐임???
3.2.1 PPO-Clip
너무 달라지면 clip 해버림
$L_{CLIP}$를 maximize함! (minimize x)

r=1이면 변화 없음. r>1이면 그 행동을 더 자주하고, r<1이면 덜 자주하게 됨
A>0일 때는 좋은 행동임. 좋은 행동은 자주해야 하니 쭉 증가하는거
하지만 계속 너무 많이 증가하면 안 되므로 clipping 해줌
A<0일 때는 나쁜 행동임. 나쁜 행동은 줄여야 하니 r>1일 때가 쭉 감소하는거
하지만 r<1일 때 너무 많이 감소하면 안 되므로 clipping 해줌

3.2.2 PPO-KL Penalty
너무 달라지면 penalty를 줌

원래는 old(직전 버전 모델)하고 비교했는데, 요새는 ref(원래 SFT 기준 모델)하고 비교함
3.2.3 Alternatives of PPO
한계: 모델이 너무 많이 필요함 (🌟policy model, value model, reward model, base/ref model 🌟 )
굳이 이렇게 많이 써야하나?
=> 그래서 나온 모델들
REINFORCE: reward 높은 행동에 확률을 증가시킴

GRPO: Group Relative Policy Optimization. 여러 답 생성해서 그룹 만든 다음에 그 안에서 상대적 비교를 함
그룹 평균을 baseline처럼 사용함
3.2.4 challenges with RL-based approach
Requires training a reward model (2-stage process)
Many hyperparameters to tune
Training instability: 불안정함. 문장 갑자기 이상해지기도 함
Metric to monitor training. 학습 중에 잘 되고 있는지 확인하기 어려움
Need diversity in completions: LLM은 보통 안전한 답만 반복하는데, 얘는 다양한 답을 생성해야 함
3.2.5 BoN(Best of N)
PPO는 모델 자체를 바꾸는데 BoN은 모델 그대로 두고 출력 맘에 드는 것만 선택함
장점
reward 모델만 있으면 되므로 value model 필요 없음. 모델 weight 안 건들여서 안정적임
단점
여러 개 답변 생성해야 하므로 inference 비용 큼

4. DPO
4.1 Motivation
너무 복잡하다.. 아래처럼 4가지나 필요하다. policy, value, reward, base/ref

BoN은 inference에서 너무 계산량이 많다.
지금 좋은 답하고 나쁜 답 데이터 다 있는데, 그러면 RL 말고 supervised처럼 학습하면 어떰.....?
여기서 짚고 넘어가는 SL과 RL의 차이
- Supervised Learning: 정답 label을 보고 직접 배움
- Reinforcement Learning: 정답 없고 그냥 잘했는지 못했는지 reward만 받으면서 배움
4.2 Supervised approach with DPO
Direct Preference Optimization
현재 모델이 SFT보다 좋은 답을 얼마나 더 선호하는가?

원래 ppo에서는 reward model이 점수를 줬는데 DPO에서는 확률 ratio 자체를 reward처럼 사용함
(점수를 메기는 게 아니라 저 베타 로그 어쩌구를 reward처럼 사용함)
그래서 장점
No separate reward model: r(x,y) 없음
Directly on preference data
Bradley-Terry 구조랑 비슷
4.3 DPO 수식 유도

5. RLHF PPO vs. DPO
RLHF PPO
단계가 많음 ( SFT -> Reward Model -> PPO )
모델이 여러 개 필요함 (reward model, value model, base model). 불안정함
DPO
굳이 RL 안 쓰고 preference 데이터를 그냥 supervised로 학습함
base model 하나만 필요함. 훨씬 단순함. 안정적임
둘 중에 뭐가 좋다는 답은 없어서 task마다 다르다. 구현에 따라서 성능 크게 달라짐
+ 예상문제
1. Which component is typically frozen during RLHF training?
A. Policy model
B. Reward model
C. Value model
D. Tokenizer
2. Why is the reward model trained before PPO optimization begins?
A. PPO requires scalar rewards during policy updates
B. PPO cannot operate on text inputs
C. PPO replaces the tokenizer with the reward model
D. PPO only works with encoder-only architectures
3. What is the primary reason for subtracting a baseline in advantage estimation?
A. Increase tokenizer efficiency (efficiency는 맞는데 tokenizer efficiency는 아님)
B. Reduce variance during training
C. Increase vocabulary diversity
D. Replace KL divergence
---
LLM쪽은 아예 다른 것 같다. 용어 하나하나가 낯설다 (ㅜㅜ)
이 기회에 LLM쪽도 살짝 훑는거지 뭐
화이팅~!@
'기본기 다지기' 카테고리의 다른 글
| [기본이론] Nyquist Theorem 이란? (0) | 2026.05.11 |
|---|---|
| [수학] 중간고사 공부 (0) | 2026.05.02 |
| [기본이론] CME295 공부 (Lecture 4) (0) | 2026.04.12 |
| [기본이론] MIR 자문자답 공부 (3) (0) | 2026.04.11 |
| [수학] 정규분포, 이항분포, 포아송분포의 정준모수와 산포모수 전개 (0) | 2026.04.08 |