RLHF(Reinforcement Learning from Human Feedback)는 인간의 선호도를 기반으로 AI 모델을 정렬(Alignment)하는 학습 방법이다. ChatGPT, Claude, Gemini 등 주요 LLM에서 핵심적으로 사용되며, 단순 정확도를 넘어 인간이 원하는 응답을 생성하도록 유도한다.
학습 파이프라인
1단계: 지도 파인튜닝 (SFT)
- 고품질 시연 데이터로 기초 모델 파인튜닝
2단계: 보상 모델 학습 (Reward Model)
- 사람이 여러 응답 중 선호 응답 선택
- Bradley-Terry 모델로 보상 함수 학습
r(x,y) = 인간이 선호할 점수
3단계: PPO 강화학습
- 보상 모델을 환경으로 사용
- KL 페널티로 원본 모델에서 너무 멀리 벗어나지 않게
목적: maximize E[r(x,y)] - β·KL(π||π_ref)
보상 모델 학습
python
from transformers import AutoModelForSequenceClassification
import torch
class RewardModel(torch.nn.Module):
def __init__(self, base_model_name):
super().__init__()
self.model = AutoModelForSequenceClassification.from_pretrained(
base_model_name, num_labels=1
)
def forward(self, chosen_ids, rejected_ids):
chosen_reward = self.model(chosen_ids).logits
rejected_reward = self.model(rejected_ids).logits
# 선택된 응답이 거부된 응답보다 높은 보상을 갖도록
loss = -torch.log(torch.sigmoid(chosen_reward - rejected_reward)).mean()
return loss
RLHF 대안 방법
| 방법 | 특징 | 장점 |
|---|
| RLHF (PPO) | 표준 방식 | 강력하지만 복잡 |
| DPO | 보상 모델 없이 직접 선호 최적화 | 단순, 안정적 |
| RLAIF | AI 피드백으로 인간 피드백 대체 | 확장성 |
| GRPO | 그룹 상대 정책 최적화 | 추론 모델 (DeepSeek-R1) |
관련 개념