[Daily morning study] RLHF (Reinforcement Learning from Human Feedback) 개념과 동작 방식
#daily morning study
RLHF란?
RLHF(Reinforcement Learning from Human Feedback)는 언어 모델이 인간의 선호도에 맞는 답변을 생성하도록 강화학습으로 파인튜닝하는 기법이다.
GPT-4, Claude, Llama 등 주요 LLM이 모두 이 방식을 사용한다. 단순히 “다음 토큰을 예측”하는 것을 넘어서, 인간이 원하는 방향(도움이 되고, 해롭지 않고, 정직한 답변)으로 모델의 행동을 교정한다.
왜 RLHF가 필요한가
사전 학습(Pretraining)만으로는 한계가 있다.
인터넷 텍스트로 학습한 모델은 다음 토큰 예측 능력은 뛰어나지만:
- 유해하거나 편향된 내용을 생성할 수 있다.
- 사용자의 의도를 이해하고 돕는 것이 아니라 그냥 텍스트를 이어 쓰는 경향이 있다.
- “질문에 답해라” vs “계속 이야기를 써라”를 스스로 구분하지 못한다.
SFT(Supervised Fine-Tuning)로 일부 교정이 가능하지만, 인간 선호도의 뉘앙스를 전부 레이블로 표현하기가 어렵다. RLHF는 “어느 쪽이 더 나은 답변이냐”는 비교 신호를 학습에 활용해 이 문제를 해결한다.
RLHF의 3단계 파이프라인
1단계: SFT (Supervised Fine-Tuning)
사람이 직접 작성한 고품질 프롬프트-응답 쌍으로 기반 모델을 파인튜닝한다.
[프롬프트] 파이썬으로 피보나치 수열을 구하는 함수를 작성해줘.
[인간 작성 응답] def fibonacci(n):
if n <= 1: return n
return fibonacci(n-1) + fibonacci(n-2)
이 단계에서 모델은 기본적인 지시 따르기(instruction following)를 익힌다.
2단계: 보상 모델 (Reward Model) 학습
SFT 모델로 동일한 프롬프트에 여러 응답을 생성하고, 사람이 이를 순위 비교(preference ranking) 한다.
[프롬프트] 지구 온난화의 원인은 무엇인가?
응답 A: 지구 온난화는 이산화탄소 같은 온실가스 배출이 주요 원인입니다...
응답 B: 지구가 뜨거워지는 건 태양 때문입니다 (부정확한 정보 포함)
응답 C: 온난화는 복잡한 현상이며... (장황하고 핵심 없음)
사람 평가: A > C > B
이 비교 데이터로 보상 모델(RM)을 학습한다. RM은 응답을 입력받아 “이 응답이 얼마나 좋은가”를 스칼라 값으로 출력한다.
| 입력 | 출력 |
|---|---|
| 프롬프트 + 응답 A | 8.2점 |
| 프롬프트 + 응답 B | 2.1점 |
| 프롬프트 + 응답 C | 5.7점 |
3단계: PPO로 정책 업데이트
SFT 모델을 정책(Policy) 으로 삼아, 보상 모델의 점수를 보상 신호로 활용해 강화학습을 수행한다.
정책 모델이 응답 생성
↓
보상 모델이 점수 부여
↓
PPO(Proximal Policy Optimization)으로 정책 업데이트
↓
더 높은 점수를 받는 응답을 생성하도록 학습
PPO는 업데이트 폭을 제한해 모델이 과도하게 변하는 것(policy collapse)을 방지한다.
KL 페널티와 학습 안정성
3단계에서 무제한으로 보상만 높이면 모델이 이상한 방향으로 수렴할 수 있다. 예를 들어 보상 모델을 속이는 “해킹 응답”을 계속 뱉거나, 원래 언어 능력이 망가지는 경우가 생긴다.
이를 방지하기 위해 KL divergence 페널티를 보상에 추가한다.
최종 보상 = 보상 모델 점수 - β × KL(정책 || SFT 모델)
KL(정책 || SFT 모델): RLHF 정책이 SFT 모델에서 얼마나 벗어났는지 측정β: KL 페널티 강도 (클수록 원본 유지에 가중치)
즉, 보상이 높더라도 SFT 모델에서 너무 멀어지면 페널티를 받는다. 이를 통해 언어 능력을 유지하면서 선호도만 개선한다.
RLHF의 한계
보상 해킹(Reward Hacking)
모델이 보상 모델을 속이는 방식으로 최적화하는 현상이다. 보상 모델 자체가 완벽하지 않기 때문에 발생한다.
예: 짧고 자신감 있어 보이는 응답이 사실과 달라도 보상 점수를 높게 받는 패턴을 모델이 학습하는 경우.
인간 피드백의 편향
라벨러(레이블 작업자)의 배경, 문화, 가치관에 따라 판단이 달라진다. 특정 집단의 기준이 모델에 과도하게 반영될 수 있다.
비용과 확장성
사람이 응답을 비교하는 작업(preference labeling)은 매우 비싸고 느리다. 대규모 학습에 적용하려면 라벨 데이터를 대량으로 수집해야 한다.
RLHF 이후의 발전
DPO (Direct Preference Optimization)
RLHF의 3단계 파이프라인을 단순화한 방법이다. 보상 모델을 따로 학습하지 않고, 선호 데이터(좋은 응답 vs 나쁜 응답 쌍)로 정책 모델을 직접 학습한다.
기존 RLHF: SFT → 보상 모델 학습 → PPO
DPO: SFT → 선호 데이터로 직접 정책 업데이트
수식적으로 RLHF의 최적 해를 도출하면 보상 모델 없이도 같은 결과를 얻을 수 있음을 보였다. 구현이 단순하고 학습이 안정적이어서 최근 많은 오픈소스 모델이 DPO를 채택하고 있다.
Constitutional AI (CAI)
Anthropic이 개발한 방식이다. 사람의 피드백 대신 원칙(Constitution)을 정의하고, AI 스스로 그 원칙에 따라 응답을 비판·수정하게 한다.
원칙 예시: "응답은 해롭거나 비윤리적인 내용을 포함해서는 안 된다"
"응답은 솔직하고 투명해야 한다"
AI가 자신의 응답을 원칙에 따라 평가 → 수정 → 보상 신호로 활용
사람의 라벨링 비용을 줄이면서 가치 정렬을 달성하는 방향이다.
핵심 정리
- RLHF의 목적: 사전 학습된 LLM을 인간 선호도(도움됨, 무해함, 정직함)에 맞게 교정.
- 3단계 흐름: SFT(지시 학습) → 보상 모델 학습(선호 비교) → PPO(강화학습 업데이트).
- KL 페널티: 기존 모델에서 너무 벗어나지 않도록 학습 안정성 확보.
- 한계: 보상 해킹, 라벨러 편향, 비용 문제.
- 발전 방향: DPO(보상 모델 제거), Constitutional AI(원칙 기반 자기 개선).
RLHF는 LLM이 단순한 “텍스트 생성기”에서 “사람의 의도를 이해하고 돕는 어시스턴트”로 변화하는 데 핵심적인 역할을 한다.