토니의 연습장

RLHF / DPO (ft. Pretrained -> SFT -> Reward -> Final model) 본문

AI 일반/모델, 아키텍처, 구현

RLHF / DPO (ft. Pretrained -> SFT -> Reward -> Final model)

bellmake 2025. 9. 5. 13:17

참고로 DPO 논문은 위의 RLHF 빨간색 박스 부분을 DPO 로 하자고 제안

 

1. Step 0: Unsupervised pre-training (비지도 사전 학습)

  • 데이터: 저품질의 대규모 인터넷 텍스트 (> 1조 토큰).
  • 훈련: 언어모델링 (다음 단어 예측).
  • 결과 모델: Pretrained LLM (πθ₀).
    → GPT 같은 대형 언어모델의 기본 뼈대가 여기서 만들어짐.

2. Step 1: Supervised fine-tuning (지도 미세 조정)

  • 데이터: 고품질 시연 데이터 (human demonstration, 즉 사람이 직접 작성한 좋은 대화 예시).
  • 훈련: Supervised finetuning (모범적인 답변으로 모델을 미세 조정).
  • 결과 모델: SFT 모델 (πθSFT).
    → 기본 모델보다 대화형 태스크에 맞게 "훈련된 모델"이 됨.

3. Step 2: Fit a reward model (보상 모델 학습)

  • 데이터: 비교 데이터 (Comparison data, 사람이 두 개의 응답 중 더 좋은 것을 선택).
  • 훈련: Classification 모델로 (prompt, winning response, losing response)를 입력받아 점수를 매기는 보상 모델(rφ)을 학습.
  • 결과 모델: Reward model.
    → 이제 모델의 응답 품질을 수치(스칼라 점수)로 평가할 수 있게 됨.

4. Step 3: Optimize a policy (정책 최적화)

  • 데이터: 라벨 없는 프롬프트 (Unlabeled prompts, 그냥 다양한 질문).
  • 훈련: Reinforcement Learning (강화학습). Reward model이 매긴 점수를 기준으로 학습.
  • 결과 모델: Final model (πθRL).
    → 사람 피드백을 반영해서 "더 바람직한 답변"을 하는 최종 모델이 완성됨.

데이터 규모

  • 사전 학습: > 1조 토큰
  • SFT: 1만 ~ 10만 쌍 (prompt-response)
  • 보상모델: 10만 ~ 100만 비교 데이터
  • RLHF 최종 학습: 1만 ~ 10만 프롬프트

✅ 요약:

  1. 먼저 대규모 텍스트로 기본 언어모델을 만든다.
  2. 사람이 직접 작성한 예시로 지도학습 미세조정을 한다.
  3. 사람이 "어떤 답변이 더 좋은지" 비교한 데이터를 바탕으로 보상모델을 만든다.
  4. 이 보상모델을 활용해서 강화학습을 통해 최종 모델을 완성한다.

 

 

 


 

 

기존 PPO 방식에는 SFT / Policy / Reward / Value model 4개나 필요함

 

  • “학습 시, reward 간의 차이만 고려.”
    → 보상 모델을 학습할 때, 절대적인 보상값이 아니라 두 응답 간 상대적인 보상 차이만 사용한다는 의미야. (예: 응답 A가 B보다 낫다)
  • “prompt마다 실제 rϕr_\phi는 임의의 방향으로 shift할 가능성 존재.”
    → 보상 함수 rϕr_\phi가 각 프롬프트마다 일정한 기준선(absolute scale)을 가지지 않고, 임의의 offset이나 shift가 생길 수 있다는 뜻이야. 즉, 보상의 절대 크기에는 의미가 없고 상대적 순위만 중요하기 때문에, 프롬프트마다 전체 보상 분포가 이동할 수 있음.
  • 불안정성: 보상 모델이 프롬프트별로 기준선을 다르게 잡아버리면, 정책(policy) 모델 학습 시 안정성이 떨어질 수 있음.
  • 자유도 증가: “degree of freedom”이 늘어난다는 건, 보상 모델이 꼭 필요한 방향만 학습하지 않고 불필요한 변화를 가져올 수 있다는 문제를 뜻함.
  • 실무적 해석: 결국 PPO 기반 RLHF는 이런 reward shift 문제 때문에 불안정성이 생기고, policy 모델이 최적화되기 어렵다는 점을 강조.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


참고 : https://youtu.be/3M9WHSHMrY0

 

'AI 일반 > 모델, 아키텍처, 구현' 카테고리의 다른 글

실무에서의 Embedding 모델 종류 (Text Embedding)  (0) 2025.07.17
Transformer vs LLaMA 모델 비교  (0) 2025.06.17
pytorch 구현함수 내부  (0) 2025.06.17
LayerNorm 과 BatchNorm  (1) 2025.05.28
causal mask  (1) 2025.05.28