RLHF 세부 메커니즘 이해

난이도:

태그: llm,rlhf,reward_model,ppo,preference

RLHF는 "사람이 선호하는 답변"을 학습 신호로 바꿔 모델을 더 유용한 방향으로 조정하는 과정이다.

큰 흐름은 세 단계다. 먼저 supervised fine-tuning으로 기본 응답 능력을 만든다. 그다음 사람 선호 데이터를 모아 reward model을 학습한다. 마지막으로 정책 모델이 reward를 높이는 방향으로 업데이트된다.

초심자에게 가장 중요한 관점은 RLHF를 "언어모델이 맞는 토큰을 예측하는 문제"에서 "사람이 좋아하는 응답을 더 잘 내는 문제"로 바꾸는 과정으로 보는 것이다. 즉 확률 예측 문제 위에 선호 학습 계층을 하나 더 얹는 셈이다.

1. Reward model

사람이 두 답변 중 더 나은 쪽을 고른 데이터를 바탕으로, 어떤 응답이 더 선호될지 점수를 주는 모델을 만든다. 즉 사람 판단을 직접 loss로 쓰지 못하니, 이를 근사하는 점수 함수로 바꾸는 것이다.

여기서 핵심은 사람이 절대 점수를 정확하게 주지 않아도, "A와 B 중 어느 쪽이 더 낫다"는 상대 비교는 꽤 일관되게 줄 수 있다는 점이다. 그래서 preference pair 데이터가 많이 쓰인다.

이 구조를 이해하면 왜 RLHF가 번거로운지도 보인다. 사람 피드백은 비싸고 잡음도 있으며, reward model은 결국 그 피드백의 근사치이기 때문에 완벽한 목표 함수가 아니다. 그래서 reward model 품질이 전체 정렬 품질을 크게 좌우한다.

2. PPO

PPO는 정책을 갑자기 너무 크게 바꾸지 않으면서 reward를 올리려는 강화학습 알고리즘이다. RLHF에서는 기존 언어모델에서 너무 멀어지지 않도록 KL penalty와 함께 설명되는 경우가 많다.

즉 reward만 무작정 키우면 모델이 이상한 방식으로 보상을 해킹할 수 있기 때문에, 기존 모델과의 거리를 제어하는 장치가 같이 필요하다. RLHF가 복잡한 이유도 바로 이 균형 때문이다.

면접에서 자주 나오는 질문도 여기서 나온다. "왜 단순히 reward score만 최대화하면 안 되는가?" 답은 모델이 언어적으로 이상하거나 사람 기준에선 어색한 방식으로 점수만 올릴 수 있기 때문이다. 그래서 KL 제약이 사실상 안전장치 역할을 한다.

3. Preference optimization

최근에는 PPO 같은 강화학습을 직접 쓰지 않고, 선호쌍을 더 직접적으로 다루는 DPO 계열 방식도 많이 이야기된다. 면접에서는 "왜 reward model + PPO가 복잡해서 대안이 나왔는가"까지 연결하면 좋다.

그래서 최근 흐름은 "정말 강화학습 단계가 꼭 필요한가"를 다시 묻는 쪽으로도 이어진다. 이 질문을 이해하면 InstructGPT에서 DPO로 이어지는 흐름이 더 자연스럽게 읽힌다.

정리하면 RLHF는 단순히 알고리즘 하나를 배우는 주제가 아니라, 사람 선호를 수학적 최적화 문제로 바꾸는 전체 파이프라인을 이해하는 주제다. reward model, KL 제약, PPO 또는 DPO의 역할을 각각 분리해서 설명할 수 있어야 흐름이 잡힌다.

4. 체크리스트