Summary
RLHF를 사용한 alignment는 품이 너무 많이 든다.
- 사람 데이터를 많이 모으는 것도.
- 모델을 동시에 4개 띄워야 하는 것도.
- freeze: reference model, reward model
- active: Actor, Critic
Policy와 Reward function 사이에 수학적 고리가 있다.
따로 만들 필요가 없다. 불필요한 것 줄이고, 복잡한 RL 빼자.
Key change
- Reward Model 삭제.
- human preference 정보를 바로 Actor에게 줌..
- RL 문제를 classification 문제로 환원.
Data Preparation
데이터는 항상 쌍(Pair)으로.
- Prompt (): “한국의 수도는?”
- Winning Response (): “서울입니다.” (사람이 더 좋아함)
- Losing Response (): “부산입니다.” (사람이 덜 좋아함)
Objective
: 지금 학습 중인 모델 (Actor)
: 학습 전의 초기 모델 (Reference Model)
의미:
- (좋은 답변)에 대해서는: Reference 모델보다 더 높은 확률을 내도록 학습.
- (나쁜 답변)에 대해서는: Reference 모델보다 더 낮은 확률을 내도록 학습.
- 결과적으로 좋은 답변과 나쁜 답변 사이의 확률 격차(Margin)를 벌리는 것이 목표입니다.
Details about calculating probabilities of each samples.
예시:
- Prompt (): “사과 색깔은?”
- Response (): “빨간색입니다.” (토큰: “빨간”, “색”, “입니다”, ”.“)
계산 단계:
- Forward Pass: 모델에 와 를 통째로 입력합니다.
- Logits 추출: 모델의 마지막 Classification 레이어에서 각 토큰 위치마다 단어 뭉치(Vocab) 전체에 대한 점수(Logits)가 나옵니다.
- Log-Softmax: 각 위치에서 실제 답변 단어(예: “빨간”)가 선택될 확률 를 구하고 로그를 취해 를 얻습니다.
- Summation (합산): 답변에 포함된 모든 토큰의 로그 확률을 더합니다.
PPO vs DPO
- PPO: “비싸고 어렵지만, 최고의 성능과 새로운 전략 탐색을 위해 쓰는 정밀 도구.”
- DPO: “reward model 학습 과정을 생략하고, 훨씬 쉽고 가볍게 PPO와 수학적으로 동등한 효과를 내는 도구.”
Summary
생각을 해보면, RL이라기엔 env, agent등의 정의도 없이 단순 supervised-learning처럼 구현할 수 있어 보임. → implicit RL이라고 부르기도 한다고 함.
단, 일반적인 supervised learning과 좀 비교를 해보자면,
“SL은 정답 label만 맞춰”라고 하지만, DPO는 “정답 레이블 데이터보다는 오답 레이블 데이터에 가깝게 학습해” 라고 instruct하는 부분에서 contrastive learning으로 분류되기도 한다고 함.Limit으로는
- OOD에 취약 : interpolation만 하다보니, extrapolation에 취약. (supervised learning으로 구현되니. )
- i.e. off-line learning : 데이털
- i.e. exploration이 필요함.
- 반복해서 하는 Iterative DPO로 Llama3 가 학습??
Online vs Offline Learning
둘 의 구분은 데이터를 누가 만드는가.
- Online Learning(Learn by interaction): model의 interaction이 input으로 사용되어 학습 대상.
- Exploration을 하고, self-correction이 가능.
- expensive하고, 수렴하기 어려움.
- Offline Learning(Learn from fixed Dataset): 이미 고정된 데이터셋만으로 학습.
- 학습이 안정적이고, 효율적이나,
- exploration이 없고, distribution shift에 굉장히 취약.
