AEGLOSLAB ChatGPT 같은 AI를 만들고 서비스하기

제3부 사후학습·정렬(Post-training/Alignment)

3.3 보상 모델과 RLHF 개관

SFT까지 오면 모델은 지시를 따르고 대화 형식을 지킨다(3.2). 그런데 바로 거기서 이상한 장벽에 부딪힌다. "파리 3일 여행 일정을 짜 줘"에 대한 좋은 답은 수천 가지인데, SFT의 목적함수는 사람이 써 준 시연 하나를 정확히 흉내 내라고만 강요한다. 정중하고 정확하고 안전한 답이 무엇인지를 if 문으로 판정하는 함수를 누군가 쓸 수 있다면, 애초에 모델을 학습시킬 이유가 없다. 좋은 답을 손실함수로 적을 수 없다는 이 한 줄의 결핍이 인간 피드백 기반 강화학습(Reinforcement Learning from Human Feedback, RLHF)이 존재하는 이유다.

RLHF의 해법은 정면 돌파가 아니라 우회다. 사람에게 "좋은 답을 써 내라"가 아니라 "이 둘 중 어느 쪽이 나은가"를 묻는다. 그리고 그 수많은 비교를 하나의 스칼라 함수 — 보상 모델(reward model, RM) — 로 압축해, 사람이 매번 개입하지 않아도 모델이 스스로 채점받게 만든다. 이 장은 그 보상 모델을 처음부터 세운다. 선호를 어떻게 모으고, 그것을 어떻게 확률로 모델링하며(Bradley-Terry), 그 확률에서 어떻게 스칼라 보상을 얻어내는지, 그리고 그 보상이 왜 완벽한 심판이 아니라 속기 쉬운 대리지표인지까지 다룬다. 그 보상으로 정책을 실제로 최적화하는 강화학습 기계 — PPO, 가치 함수, KL 페널티의 구체적 형태, 클리핑 — 는 다음 장(3.4)의 몫이다. 여기서 세우는 것은 3.4가 딛고 설 토대, 곧 "보상은 어디서 오고 무엇을 신뢰할 수 없는가"다.

3.3.1 좋은 답은 손실함수로 못 쓴다

사전학습과 SFT는 겉보기에 다른 일을 하는 것 같지만 목적함수는 한 형제다. 둘 다 다음 토큰 예측의 음의 로그가능도를 최소화한다 — 웹 코퍼스든 사람이 쓴 시연이든, 참조 텍스트의 토큰을 최대가능도로 모방한다(1.1).

$$\mathcal{L}_{\text{SFT}} = -\sum_{t} \log \pi_\theta(y_t \mid x,\, y_{<t})$$

이 식이 암묵적으로 선언하는 것은 "참조 시연이 곧 정답이다"이다. 그런데 정렬에서 우리가 실제로 원하는 것 — 유용하고 정직하고 무해한 응답(3.1) — 은 이 틀에 잘 담기지 않는다. 세 곳에서 유출된다.

좋은 답이 하나가 아니라는 것이 첫째다. 여행 일정을 계획하는 좋은 방식은 무수히 많은데, 최대가능도는 시연 하나를 정확히 흉내 내라고 밀 뿐 "이 답도 저 답도 다 좋다"는 넓은 정답 분포를 표현하지 못한다. 목표가 분포인데 손실은 점 하나를 겨눈다. 둘째, "좋음"에는 명시적 정답이 없다. 정중함·안전성·도움됨·간결함은 채점표로 환원되지 않는다. 셋째가 실무에서 가장 문제가 된다. 정작 배포된 모델이 저지르는 나쁜 응답 — 환각·회피·장황·아첨 — 은 SFT 데이터에 없다. 시연 집합은 사람이 쓴 좋은 예들의 모음이라, 모델은 "무엇을 하지 말아야 하는지"를 직접 배울 통로가 없다. 최대가능도는 좋은 것을 흉내 낼 뿐 나쁜 것을 배제할 언어가 없다.

여기서 핵심을 명시해야 한다. 이 결핍은 데이터를 더 모아서 메울 수 있는 종류가 아니다. 시연을 백만 개 더 모아도 "이 답이 저 답보다 낫다"는 순서 정보는 여전히 그 안에 없다. 시연은 점을 주고, 우리가 필요한 것은 방향이다. 손실함수의 형태 자체를 바꿔야 한다.

3.3.2 평가는 생성보다 쉽다 — RLHF가 딛는 비대칭

그렇다면 사람은 왜 도울 수 있나. 손실함수로 좋은 답을 못 쓰는 것과 사람이 좋은 답을 알아보는 것은 별개다. 정렬 전체를 뒷받침하는 비대칭이 여기 있다. 좋은 답을 처음부터 써 내는 일(생성)은 어렵지만, 두 답 중 어느 쪽이 나은지 고르는 일(평가·비교)은 훨씬 쉽다. 시를 짓기는 어려워도 두 시 중 나은 것을 고르기는 쉽고, 안전한 코드를 짜기는 어려워도 두 코드 중 덜 위험한 것을 고르기는 쉽다.

RLHF는 이 비대칭 전체를 이용한다. 사람에게 값비싼 일(정답 작성)을 시키지 않고 값싼 일(둘 중 선택)을 시킨다. 그리고 그 "골라라"의 결과를 스칼라 함수로 압축해, 값싼 인간 판단을 값싸게 무한 복제할 수 있는 자동 채점기로 바꾼다. 보상 모델이 하는 일이 정확히 이것이다 — 사람이 몇만 번 내린 비교를 학습해, 사람이 본 적 없는 새 응답에도 "이게 저것보다 낫다"를 대신 말해 주는 함수가 된다.

이 비대칭은 뒤에서 두 번 더 돌아온다. 보상 모델을 정책보다 작게 두어도 되는 이유(심판의 일이 선수의 일보다 쉽다, 3.3.13)가 여기서 나오고, "모델로 모델을 채점한다"는 LLM-as-judge(4.2)의 정당성도 같은 비대칭에 기댄다. 다만 비대칭이 무비용은 아니다. 비교가 생성보다 쉽다는 것은 평균적으로 그렇다는 말이지, 모든 쌍에서 사람이 옳게 고른다는 보장은 아니다. 그 틈에서 노이즈가 들어오고(3.3.5), 정책이 그 틈을 악용하면 보상 해킹이 된다(3.3.15).

3.3.3 RLHF는 능력을 심지 않는다 — SFT와의 분업

RLHF는 SFT를 대체하지 않는다. 그 위에 추가된다. 둘의 학습 신호부터 목적함수, 잘 가르치는 것까지 전부 다르다.

SFT (3.2)RLHF (이 장·3.4·3.5)
학습 신호사람이 쓴 시연(정답 텍스트)사람의 선호 비교(A vs B)
목적함수시연을 모방(최대가능도)선호를 최적화(보상 최대화)
잘 가르치는 것형식·스타일·기본 지시 따르기미묘한 품질·안전·"덜 나쁨"의 순서
정답의 형태점(하나의 목표 시퀀스)순서(어느 쪽이 더 나은가)
못 하는 것"이것보다 저것이 낫다"를 표현 못 함없던 능력을 새로 만들지는 못함

마지막 행을 보존해야 한다. RLHF가 모델을 똑똑하게 만든다는 말은 흔하지만 과장이다. 선호 최적화는 이미 SFT 모델 안에 있는 행동들 사이에서 어느 쪽으로 치우칠지, 즉 방향을 정할 뿐이다. 지식·추론력의 원천은 사전학습과 SFT다. RLHF가 하는 일은 그 능력을 유용한 쪽으로 정렬하는 것이지 없던 능력을 심는 것이 아니다. 관찰과 연구가 대체로 이 그림을 지지하지만, RLHF나 그 사촌들이 특정 과제에서 실제로 능력을 높이는가는 설정에 따라 논쟁적이다 — 추론 모델(3.7)의 RL은 이 경계를 모호하게 하는 사례다. 정렬 파이프라인 전체에서 각 단계가 무엇을 책임지는지는 3.1에서 다뤘다.

3.3.4 선호는 왜 점수가 아니라 비교로 모으나

RLHF의 연료는 선호 데이터(preference data)다. 보상 모델은 오직 이 데이터로만 배우므로, 데이터가 편향되면 보상이 편향되고, 정책은 그 편향을 증폭한다. "어떻게 모으나"가 원리만큼 결과를 가른다.

가장 흔한 형태는 페어와이즈(pairwise) 비교다. 절차는 단순하다. 프롬프트 $x$ 를 실제 사용 로그나 큐레이션된 집합에서 고르고, 같은 프롬프트에 대해 SFT 모델이 온도를 두어 응답 여러 개를 뽑는다. 그중 두 응답 $A$, $B$ 를 라벨러에게 보여 어느 쪽이 나은지 고르게 하고, 이긴 쪽을 $y_w$(winner/chosen), 진 쪽을 $y_l$(loser/rejected)로 기록해 삼중쌍 $(x, y_w, y_l)$ 을 만든다.

프롬프트 x SFT 모델이 응답 여러 개 생성 (온도 > 0) 응답 A 응답 B 라벨러 비교 (지침 기준 A vs B) 선호쌍 (x, y_w, y_l) y_w = 이긴 쪽 선호 데이터셋 D (수만~수십만 쌍)

왜 "1~10점"이 아니라 비교인가. 절대 점수는 라벨러마다, 심지어 같은 라벨러라도 시점마다 기준이 변동한다 — 같은 답에 오전엔 7점, 오후엔 4점을 준다. 반면 상대 비교는 "이것보다 저것"이라는 순서만 요구하므로 훨씬 안정적이다. 사람은 절대 평가보다 상대 평가를 잘한다는 심리학적 사실이 페어와이즈를 표준으로 만들었다. 그리고 이 선택은 원리 층위에서 되갚음을 받는다 — 비교로 모은 데이터는 Bradley-Terry 모델(3.3.5)에 정확히 맞아떨어져, 순서를 스칼라로 되돌리는 유도가 명료하게 닫힌다.

페어와이즈가 기본이지만 변형이 있고, 각각 무엇과 무엇을 맞바꾸는지가 다르다.

형태무엇인가왜 쓰나 · 무엇이 문제인가
페어와이즈(2택)A vs B 중 택1단순·일관·저노이즈. 대신 한 번에 한 쌍이라 정보량이 적다
k-순위(ranking)$K$ 개 응답을 순위매김한 프롬프트에서 $\binom{K}{2}$ 쌍을 뽑아 효율↑. 대신 순위매김이 인지적으로 더 어렵다
평점(scalar rating)각 응답에 리커트 점수절대 품질 정보를 준다. 대신 라벨러 간 기준 표류가 크다
속성별 라벨유용성·안전성·정확성 등 축별다목적 보상이 가능. 대신 라벨 비용이 급증하고 축이 서로 충돌한다
이진 좋음/나쁨thumbs up/down(운영 로그)대량·저비용(8.1). 대신 신호가 약하고 편향된다(KTO류가 이것을 활용, 3.5)

k-순위에는 실무 관용구가 하나 있다. 한 프롬프트의 $K$ 개 응답을 순위매긴 뒤 거기서 나오는 $\binom{K}{2}$ 개 비교쌍을 모두 같은 미니배치에 넣어 학습한다. 이렇게 하면 각 응답의 순전파를 한 번만 하고 여러 쌍에 재사용해 계산이 저렴해지고, 동시에 같은 프롬프트의 쌍들이 여러 에폭에 흩어져 과적합되는 것을 막는다(3.3.11에서 왜 이것이 과적합을 억제하는지 다시 본다).

3.3.5 라벨러가 실제 병목이다 — 지침·일치도·노이즈·비용

선호 데이터의 품질은 결국 누가 어떤 기준으로 라벨링하느냐다. 여기서 세 가지가 정직하게 문제가 된다.

첫째, 지침이 곧 정책이다. "무엇이 더 나은가"의 기준 — 유용성을 앞세울지 안전성을 앞세울지, 길이·형식·어조를 어떻게 볼지 — 은 라벨링 지침서에 담긴다. 이 문서가 사실상 모델의 가치관을 정한다. 지침이 모호하면 라벨이 변동하고, 특정 문화·언어에 치우치면 모델이 그 편향을 물려받는다. RLHF를 "알고리즘 이야기"로만 읽으면 이 지침서가 실제 제품 결정이라는 사실을 놓친다.

둘째, 일치도에는 상한이 있다. 같은 쌍을 여러 라벨러에게 보이면 항상 같게 고르지 않는다. 라벨러 간 일치도(inter-annotator agreement)는 과제와 모호성에 따라 크게 변동하지만 흔히 60~75% 언저리로 보고된다. 이 불일치가 보상 모델 정확도의 상한을 정한다. 사람도 65%만 일치하는 쌍을 보상 모델이 홀드아웃에서 90% 맞춘다면, 그것은 잘 배운 것이 아니라 노이즈나 지름길(길이 같은 표층 특징)을 외운 신호일 수 있다(3.3.12).

셋째, 노이즈와 편향의 원천이 여럿이고, 각각 정책으로 그대로 유출된다.

원천어떻게 나타나나완화
길이 편향(verbosity)더 긴 답을 무조건 낫다고 고름길이 통제·페널티, 길이 무관 지침
형식·사족 편향서식·목록·서두 인사에 끌림내용 우선 지침, 형식 매칭
아첨(sycophancy)라벨러 의견에 동의하는 답을 선호사실성 우선 지침, 대조 프롬프트
피로·부주의긴 세션에서 부주의하게 고름세션 길이 제한, 주의 검사 문항
문화·개인 취향특정 집단 규범이 "정답"이 됨라벨러 다양화, 지침 정교화
전문성 부족사실 오류를 못 검출함도메인 전문가, 근거 자료 제공

그리고 선호 데이터는 비용이 크다. 이 비용을 감으로 두지 말고 직접 계산해 보자. 한 쌍을 라벨링하려면 사람이 두 응답을 읽고 이해하고 비교해야 한다. 평균 3분이 걸린다고 하자(코드·수학·긴 문서는 한 쌍에 10분을 넘기기도 한다). 8시간 근무에서 회의·휴식을 빼고 실질 라벨링이 5시간이면 하루 약 100쌍이다. 시급을 완전부담 기준 $20으로 설정하면 한 쌍의 직접 인건비는

$$3\ \text{분} \times \frac{\$20}{60\ \text{분}} = \$1\ /\text{쌍}$$

이다. 5만 쌍이면 순수 라벨링 인건비만 $5만이다. 여기에 지침 개발, 라벨러 교육, 품질 관리, 불일치 중재가 추가되어 실무에서는 흔히 2~3배로 증가한다 — 수십만 달러 규모가 된다. 게다가 이 지출은 일회성이 아니다. 정책이 최적화되며 응답 분포가 이동하면 옛 선호 데이터가 노후화되어, 이동한 분포에서 다시 라벨링해야 한다(데이터 플라이휠, 8.1). 이 비용 구조가 두 방향을 낳았다. 사람 대신 모델이 선호를 라벨링하는 AI 피드백(RLAIF, 3.6)은 저렴하고 빠르지만 라벨러 모델의 편향을 물려받고, 별도 RM을 두지 않는 DPO(3.5)는 RM 학습·유지 비용을 없앤다. 어느 길을 가든 선호 신호 자체는 여전히 필요하고, 그 신호의 품질·편향·비용이 정렬 결과의 상한을 정한다. RLHF 논의가 PPO냐 DPO냐로 흐르기 쉽지만, 실무에서 결과를 가르는 것은 대개 데이터다.

3.3.6 Bradley-Terry — 비교를 확률로

이제 원리로 들어간다. 우리가 손에 쥔 것은 "$A$ 가 $B$ 보다 낫다"는 이산적 비교들이다. 이것을 연속적인 스칼라 보상 $r(x,y)$ 로 바꾸려면 "비교"와 "점수"를 잇는 확률 모델이 필요하다. 그 표준이 Bradley-Terry(BT) 모델이다 — 원래 1952년에 스포츠 팀·상품의 쌍대 순위 비교를 위해 제안된 고전이 정렬에서 되살아난 것이다.

BT의 가정은 한 문장이다. 각 응답 $y$ 에는 프롬프트 $x$ 에 대해 숨은 스칼라 가치 $r(x,y)$ 가 있고, 사람이 $A$ 를 $B$ 보다 선호할 확률은 그 두 가치의 차이로만 정해진다. 차이를 확률로 옮기는 함수로 지수를 쓴다 — 각 응답의 "선호 질량"을 $\exp(r)$ 로 놓고 정규화한다.

$$P(A \succ B \mid x) = \frac{\exp\big(r(x,y_A)\big)}{\exp\big(r(x,y_A)\big) + \exp\big(r(x,y_B)\big)}$$

이 형태는 임의가 아니다. 지수를 쓰면 보상이 아무리 음수여도 확률이 양수로 유지되고, 두 응답만 있는 소프트맥스는 정확히 로지스틱이 된다. 분자·분모를 $\exp(r_A)$ 로 나눠 보면($r_A \equiv r(x,y_A)$ 로 축약) 익숙한 형태가 나온다.

$$P(A \succ B \mid x) = \frac{1}{1 + \exp\big(-(r_A - r_B)\big)} = \sigma\big(r_A - r_B\big)$$

이 한 줄이 이 장의 핵심이다. 선호 확률은 보상 차이의 시그모이드다. 읽는 법은 시그모이드를 아는 사람에겐 즉각적이다. 두 보상이 같으면 $\sigma(0)=0.5$ 로 5:5, 즉 구별 못 함이다. $A$ 의 보상이 크면 확률이 0.5를 넘고, 차이가 커질수록 1에 포화한다. 결정적으로 절대 크기가 아니라 차이 $r_A-r_B$ 만 중요하다.

0 0.0 0.5 1.0 보상차 rA − rB P(A≻B) ↑ 차이=0 → 5:5 A가 훨씬 나음 → 1에 포화 B가 훨씬 나음 → 0
Bradley-Terry — 보상차 (r_A − r_B)를 선호 확률 σ(·)로

BT가 모델이지 진리가 아니라는 점은 처음부터 분명히 해 두는 것이 정직하다. BT는 선호가 스칼라 가치 차의 로지스틱 함수라고 가정한다. 현실의 선호는 이 가정을 위배한다 — 비이행성(A를 B보다, B를 C보다 선호하면서 C를 A보다 선호), 맥락 의존, 여러 축의 충돌(유용하지만 위험한 답)은 단일 스칼라 하나로 압축해 담기 어렵다. BT는 다루기 쉬운 근사이고, 그 단순함이 힘이자 한계다. 다축 선호를 위해 보상 헤드를 여럿 두거나 다목적 RM을 쓰는 변형이 있지만, 표준 RLHF의 골격은 이 단일 스칼라 가정 위에 서 있다.

3.3.7 보상은 원점을 모른다

$P(A\succ B)=\sigma(r_A-r_B)$ 가 차이에만 의존한다는 사실에는 겉보기보다 큰 함의가 숨어 있다. 어떤 프롬프트의 모든 응답 보상에 같은 상수 $c$ 를 더해도 확률이 하나도 변하지 않는다.

$$(r_A + c) - (r_B + c) = r_A - r_B \quad\Longrightarrow\quad \sigma(\cdot)\ \text{불변}$$

즉 보상 모델은 원점(절대 수준)을 정하지 못하고, 오직 상대 순서와 간격만 학습한다. 보상값 "5.2"는 그 자체로 아무 의미가 없다. $r_A=105.2$, $r_B=105.0$ 인 모델과 $r_A=0.2$, $r_B=0.0$ 인 모델은 모든 선호 확률에서 완전히 동일하다 — 둘은 구별 불가능하다. 그래서 "이 답의 보상이 3이니 좋은 답"이라는 읽기는 근본적으로 틀렸다. 좋고 나쁨은 다른 응답과의 차이에만 있다.

이 스케일·오프셋 불확정성은 실무에서 두 번 되돌아온다. 첫째, 학습을 마친 뒤 검증셋에서 평균 보상을 0으로 맞추는 정규화를 흔히 한다. 원점이 어차피 임의이므로 잃을 것이 없고, 정책 최적화(3.4)에서 어드밴티지를 계산할 때 수치가 안정된다. 둘째, 보상의 절대 크기를 좇는 것은 의미가 없다는 이 성질이 뒤의 과최적화 논의(3.3.15)와 곧장 이어진다 — 학습 분포 밖으로 벗어나 보상이 갑자기 커졌다면, 그 큰 숫자는 신뢰의 근거가 아니라 경보다.

3.3.8 보상 모델 손실 — 결국 이진 로지스틱 회귀

BT가 "보상 → 선호 확률"을 주었으니 이제 방향을 뒤집는다. 관측된 선호로부터 보상 함수 $r_\phi$ 를 학습한다($\phi$ 는 보상 모델의 파라미터). 방법은 표준적이다 — 최대가능도, 곧 음의 로그가능도 최소화다.

선호 데이터셋 $\mathcal{D}=\{(x^{(i)}, y_w^{(i)}, y_l^{(i)})\}$ 의 각 삼중쌍은 "$y_w$ 가 $y_l$ 보다 낫다"는 하나의 관측이다. BT에 따르면 이 관측이 일어날 확률은 $\sigma\big(r_\phi(x,y_w)-r_\phi(x,y_l)\big)$ 다. 데이터셋 전체의 가능도를 최대화하는 것은 로그가능도의 합을 최대화하는 것이고, 부호를 뒤집으면 최소화 문제가 된다.

$$\boxed{\ \mathcal{L}_{\text{RM}}(\phi) = -\,\mathbb{E}_{(x,\,y_w,\,y_l)\sim\mathcal{D}}\Big[\log \sigma\big(r_\phi(x,y_w) - r_\phi(x,y_l)\big)\Big]\ }$$

이것이 보상 모델의 손실이다. 정체를 알아보면 새로울 것이 없어서 오히려 안심된다 — 이것은 "이긴 쪽 vs 진 쪽" 두 클래스에 대한 이진 로지스틱 회귀(교차엔트로피)와 글자 그대로 같은 식이다(1.3). 다만 분류기의 입력 특징이 보상차 $r_w - r_l$ 이고, 정답 레이블이 항상 "$w$ 가 이김"으로 고정돼 있을 뿐이다. 보상 모델을 학습한다는 것은 선호 방향을 맞히는 이진 분류를 푸는 것과 정확히 같다. 손실은 보상차 $\Delta = r_w - r_l$ 하나만의 함수로 쓸 수 있다.

$$\mathcal{L}(\Delta) = -\log \sigma(\Delta), \qquad \Delta = r_w - r_l$$

세 극단을 살펴보면 손실의 모양이 명확해진다. $\Delta \to +\infty$ 면(이긴 쪽 보상이 훨씬 큼) $\sigma\to 1$, 손실 $\to 0$ — 원하는 방향이라 벌점이 없다. $\Delta = 0$ 이면 손실은 $-\log 0.5 \approx 0.693$ 으로, 아직 구별 못 하는 상태의 값이다. $\Delta \to -\infty$ 면(순서가 뒤집힘) 손실 $\to \infty$ 로, 크게 틀린 만큼 강하게 벌한다. 로그가 이 비대칭 — 맞으면 상한 0, 틀리면 무한 벌점 — 을 만든다.

3.3.9 기울기가 말하는 것 — 틀린 만큼만 배운다

손실의 핵심 장점은 기울기에 있다. $\Delta$ 로 미분해 보자. 시그모이드의 편리한 성질 $\frac{d}{dz}\log\sigma(z)=1-\sigma(z)$ 를 쓰는데, 이것은 $\sigma'(z)=\sigma(z)\big(1-\sigma(z)\big)$ 에서 곧장 나온다(1.3).

$$\frac{d}{d\Delta}\big[-\log\sigma(\Delta)\big] = -\frac{\sigma'(\Delta)}{\sigma(\Delta)} = -\frac{\sigma(\Delta)\big(1-\sigma(\Delta)\big)}{\sigma(\Delta)} = -\big(1-\sigma(\Delta)\big) = \sigma(\Delta)-1$$

$\Delta = r_w - r_l$ 이므로 연쇄법칙으로 두 보상에 대한 기울기를 얻는다 — 크기가 같고 부호가 반대다.

$$\frac{\partial \mathcal{L}}{\partial r_w} = -\big(1-\sigma(\Delta)\big), \qquad \frac{\partial \mathcal{L}}{\partial r_l} = +\big(1-\sigma(\Delta)\big)$$

경사하강은 $-\nabla$ 방향으로 움직이므로, 갱신은 이긴 쪽 보상 $r_w$ 를 높이고 진 쪽 보상 $r_l$ 을 내린다 — 정확히 우리가 원하는 방향이다. 그런데 여기서 정말 중요한 것은 갱신의 크기 $\big(1-\sigma(\Delta)\big)$ 가 무엇이냐다.

$$1-\sigma(\Delta) = \sigma(-\Delta) = P(y_l \succ y_w)$$

이것은 모델이 지금 이 순간 틀린 순서에 부여하는 확률이다. 그러니 학습 신호의 크기는 곧 "모델이 얼마나 틀렸다고 스스로 믿는가"다. 모델이 이미 자신 있게 옳게 판단한 쌍($\Delta$ 가 큰 양수)에서는 $1-\sigma(\Delta)\approx 0$ 이라 거의 배우지 않고, 혼동하거나 틀린 쌍($\Delta\le 0$)에서는 $1-\sigma(\Delta)$ 가 커서 강하게 교정한다. 학습이 자동으로 어려운 쌍에 집중되는 것이다. 이 자기조정 성질이 로지스틱 손실을 정렬에서 튼튼하게 만든다 — 이미 맞은 쌍을 계속 최적화해 보상을 무한정 키우는 대신, 아직 못 맞힌 쌍에 힘을 쓴다. 다음 절에서 이것을 숫자로 확인한다.

3.3.10 수계산 — 한 선호쌍이 보상차를 변화시키는 방향

식만 보면 미끄러진다. 하나의 선호쌍을 놓고 보상 모델이 어느 방향으로 얼마나 갱신되는지 끝까지 실행해 보자(모든 값은 설명용 개략값이다).

프롬프트 $x$ 는 "재귀와 반복의 차이를 한 문장으로"이고, 라벨러는 정확·간결한 $y_w$ 를 장황·부정확한 $y_l$ 보다 선호했다. 그런데 지금 보상 모델은 아직 이것을 틀리게 본다 — 진 쪽에 더 높은 보상을 준다.

$$r_w = 0.8, \qquad r_l = 1.2 \quad\Longrightarrow\quad \Delta = r_w - r_l = -0.4$$

현재 선호 확률과 손실부터 계산한다.

$$\sigma(\Delta) = \sigma(-0.4) = \frac{1}{1+e^{0.4}} = \frac{1}{1+1.492} \approx 0.401$$

모델은 "이긴 쪽이 낫다"에 겨우 0.40의 확률만 준다 — 사실상 틀린 순서를 더 믿는다(0.599). 손실은 $\mathcal{L} = -\log(0.401) \approx 0.913$ 으로 크다. 학습 신호의 크기는

$$1 - \sigma(\Delta) = 1 - 0.401 = 0.599$$

이고, 이것이 곧 모델이 지금 틀린 순서에 주는 확률이다(3.3.9). 두 보상에 대한 기울기는 $\partial\mathcal{L}/\partial r_w = -0.599$, $\partial\mathcal{L}/\partial r_l = +0.599$. 학습률 $\eta=0.1$ 로 경사하강 $r \leftarrow r - \eta\,\partial\mathcal{L}/\partial r$ 을 한 스텝 밟으면

$$r_w \leftarrow 0.8 - 0.1\times(-0.599) = 0.860, \qquad r_l \leftarrow 1.2 - 0.1\times(+0.599) = 1.140$$

이긴 쪽은 올라가고 진 쪽은 내려갔다. 새 보상차 $\Delta' = 0.860 - 1.140 = -0.28$ — 여전히 음수지만 $-0.4$ 보다 덜 틀렸다. 확인해 보면

$$\sigma(-0.28)=\frac{1}{1+e^{0.28}}\approx 0.430, \qquad \mathcal{L}' = -\log(0.430)\approx 0.844 < 0.913$$

한 스텝 만에 손실이 줄고 선호 확률이 0.401에서 0.430으로 올랐다. 여러 쌍을 여러 스텝 반복하면 보상차가 부호를 뒤집어 양수가 되고, 결국 $\sigma(\Delta)>0.5$ 로 모델이 사람과 같은 순서를 매긴다.

이제 대비를 보자. 만약 처음부터 $r_w=2.0$, $r_l=0.0$($\Delta=2.0$)이었다면 학습 신호는 $1-\sigma(2.0)=1-0.881=0.119$ 로, 위의 0.599의 약 1/5에 불과하다. 갱신도 그만큼 작다. 모델이 이미 자신 있게 옳은 쌍에는 힘을 거의 안 쓰고 틀린 쌍에 집중한다는 3.3.9의 자기조정이 눈앞에서 확인된다. 반대 방향으로도 시험해 볼 만하다 — $\Delta=-0.4$ 에서 학습률을 $\eta=0.5$ 로 키우면 한 스텝에 $r_w\to 1.10$, $r_l\to 0.90$ 이 되어 $\Delta$ 가 $-0.4$ 에서 $+0.199$ 로 부호 전체를 뒤집는다. 큰 학습률은 한 방에 순서를 바로잡지만 그 큰 스텝이 다른 쌍을 망칠 수 있다. RM 학습이 보통 작은 학습률과 1~수 에폭에 그치는 이유의 단초가 여기 있다(3.3.11).

3.3.11 아키텍처 — SFT 백본에 스칼라 헤드 하나

보상 모델은 처음부터 만들지 않는다. 이미 언어를 이해하는 모델 — 보통 SFT 모델(3.2), 때로는 베이스 모델 — 을 가져와 머리만 바꾼다. 언어모델의 마지막 층은 각 위치의 은닉상태를 어휘 크기의 로짓으로 사상하는 언임베딩(LM 헤드)이다(1.4). 보상 모델은 이 LM 헤드를 떼고, 대신 은닉상태를 스칼라 하나로 보내는 선형 보상 헤드 $w_r \in \mathbb{R}^{d_{\text{model}}}$ 를 붙인다. 프롬프트와 응답 $(x,y)$ 를 전부 넣어 마지막(또는 특수 종료) 토큰의 은닉상태 $h_{\text{last}}$ 를 읽고 보상을 낸다.

$$r_\phi(x,y) = w_r^\top\, h_{\text{last}}(x,y) \ \in \mathbb{R}$$

입력 토큰: [프롬프트 x][응답 y] … ⟨eos⟩ 트랜스포머 백본 (SFT 모델로 초기화·미세조정) 각 위치 은닉상태 h₁…h_last (n×d_model) h_last (마지막 토큰) 보상 헤드 wᵣᵀh 선형 → 스칼라 보상 r(x,y) ∈ ℝ 두 응답 y_w, y_l을 각각 통과시켜 r_w, r_l을 얻고 −log σ(r_w − r_l)로 학습
보상 모델 — SFT 백본을 재사용하고 LM 헤드 대신 스칼라 보상 헤드

이 "머리만 바꾼다"가 얼마나 사소한 수술인지 숫자로 보면 놀랍다. $d_{\text{model}}=4096$ 인 모델에서 떼어 내는 LM 헤드는 $V \times d_{\text{model}}$ 크기다 — 어휘 $V\approx 128{,}000$ 이면 $128{,}000 \times 4096 \approx 5.2\times 10^{8}$, 약 5억 개의 파라미터다. 그 자리에 붙이는 보상 헤드는 $d_{\text{model}} \to 1$ 선형이라 파라미터가 $4096 + 1 \approx 4{,}097$ 개, 백본의 수십억 개는 물론이고 방금 떼어 낸 LM 헤드보다도 다섯 자릿수 작다. 보상 모델은 사실상 SFT 모델 그 자체에 사소한 뚜껑 하나를 씌운 것이고, 학습으로 얻는 지식의 거의 전부는 백본에 있다. 그래서 보상 헤드만 무작위로 초기화하고 백본은 SFT 가중치에서 출발한다. 학습 시엔 $y_w$ 와 $y_l$ 을 각각 통과시켜 $r_w$, $r_l$ 을 얻고 3.3.8의 손실 $-\log\sigma(r_w-r_l)$ 로 역전파하며, 백본도 함께 미세조정된다.

3.3.12 학습 실무 — 과적합이 기본값이다

보상 모델 학습의 함정은 과적합이고, 그것은 예외가 아니라 기본값이다. 선호 데이터는 사전학습 코퍼스에 비하면 티끌만큼 작고(수만~수십만 쌍) 노이즈까지 있어서, 크게 오래 학습하면 라벨의 노이즈를 그대로 외운다. 그래서 관행이 사전학습과 정반대로 보수적이다.

에폭은 보통 1~수 에폭의 짧은 학습에 그친다. 여러 에폭을 수행하면 학습 정확도는 오르지만 검증 정확도가 떨어지는 전형적 과적합이 흔히 나타난다 — 라벨러 간 일치도가 65%인 데이터에서 학습 정확도 95%가 나온다는 것은 노이즈를 암기했다는 뜻이지 잘 배웠다는 뜻이 아니다. 3.3.4에서 본 "같은 프롬프트의 $\binom{K}{2}$ 쌍을 한 배치에" 관용구가 여기서 두 번째 값어치를 한다 — 계산 효율뿐 아니라, 같은 프롬프트의 쌍들이 여러 에폭에 흩어져 개별적으로 과적합되는 것을 막는다. 학습률은 작게, 가중치 감쇠와 조기 종료를 붙인다. 3.3.10에서 큰 스텝이 순서를 쉽게 뒤집지만 다른 쌍을 망치는 것을 봤듯, 여기서도 조심스러운 갱신이 정답이다. 학습을 마치면 검증셋에서 평균 보상을 0으로 맞추는 정규화를 흔히 하는데, 보상은 원점이 자유로우므로(3.3.7) 이 이동은 선호 확률을 하나도 바꾸지 않으면서 이후 정책 최적화(3.4)의 수치 안정성만 벌어 준다.

3.3.13 보상 모델을 어떻게 믿나 — 정확도·보정·분포 밖

학습을 마친 보상 모델을 얼마나 믿을지는 두 축으로 잰다.

지표정의무엇을 말하나
선호 정확도홀드아웃 쌍에서 RM이 $r_w > r_l$ 로 맞힌 비율순서를 얼마나 맞히나(가장 흔한 지표)
보정(calibration)$\sigma(\Delta)=0.8$ 이라 할 때 실제로 80% 이겼나확률을 얼마나 정직하게 내나
인간 일치도RM 순위 vs 사람 순위의 상관사람 선호를 얼마나 대변하나

정확도부터 보면, 그 상한은 사람의 일치도다. 라벨러끼리 70%만 일치하는 데이터라면 RM이 홀드아웃에서 낼 수 있는 정직한 정확도의 상한도 그 근처다. 90%가 나오면 안심할 것이 아니라 의심해야 한다 — 사람도 30%는 갈리는 쌍을 그만큼 잘 맞혔다면, 내용이 아니라 길이·서식 같은 지름길을 외웠을 가능성이 높다. 보정은 다른 것을 검출한다. RM이 $\sigma(\Delta)=0.8$ 이라고 말한 쌍 1000개를 모아 봤더니 실제로는 650개만 이겼다면, 그 RM은 과신하고 있다 — 확률을 액면대로 믿으면 정책 최적화가 잘못된 곳에 힘을 준다. 정확도가 높아도 보정이 나쁠 수 있고, 그 반대도 가능하다.

가장 위험한 것은 세 번째다. 분포 안에서의 정확도는 분포 밖에서의 신뢰를 보장하지 않는다. RM은 SFT 모델이 낸 응답들로 학습된다. 그런데 정책이 최적화되며 점점 다른 분포의 응답을 내면, RM은 학습 때 본 적 없는 영역에서 잘못된 보상을 준다. 홀드아웃 정확도가 아무리 높아도 그 홀드아웃은 학습과 같은 분포에서 왔으므로, 정책이 분포를 옮긴 뒤의 신뢰도에 대해서는 아무 말도 해 주지 않는다. 이것이 과최적화의 단초고(3.3.15), RM 평가에서 벤치마크 점수보다 자기 도메인·자기 정책 분포에서의 정확도가 실제로 중요한 이유다. 여러 도메인의 선호쌍으로 RM들을 채점하는 공개 벤치마크가 있지만(구성·순위는 시점에 따라 달라 직접 확인해야 한다), 그 점수는 참고일 뿐 내 정책이 실제로 흘러갈 분포에서의 정확도를 대신하지 못한다.

3.3.14 RM은 얼마나 커야 하나

"보상 모델을 정책과 같은 크기로 해야 하나"는 자주 나오는 질문이고, 정직한 답은 정해진 법칙이 없고 트레이드오프라는 것이다. 큰 RM은 대체로 선호를 더 잘 맞히고 과최적화에 더 강건하다(관찰과 연구가 대체로 지지하되 설정에 따라 다르다). 하지만 그 대가가 매 스텝에 추가된다는 것이 핵심이다.

왜 매 스텝인지를 계산으로 확인해 보자. RLHF의 정책 최적화(3.4)는 매 스텝 정책이 뽑은 롤아웃을 RM에 통과시켜 보상을 매긴다. 트랜스포머 순전파는 토큰당 대략 $2P$ FLOP을 쓰므로(1.4의 $2P$ 규칙, $P$ 는 파라미터 수), 길이 $L$ 짜리 응답 하나를 채점하는 RM 순전파는 약 $2 P_{\text{RM}} L$ FLOP이다. 8B RM($P_{\text{RM}}=8\times10^9$)으로 프롬프트+응답 $L=1024$ 를 채점하면

$$2 \times 8\times10^9 \times 1024 \approx 1.6\times10^{13} = 16\ \text{TFLOP / 샘플}$$

이고, 배치 64면 스텝당 약 $1.0\times10^{15}$, 즉 1 PFLOP을 보상 채점에만 쓴다. 그리고 PPO는 이것을 수천 스텝 반복한다. 여기서 RM을 8B에서 70B로 키우면 채점 비용이 대략 9배로 증가한다 — 매 스텝, 매 롤아웃마다. 심판을 선수만큼 크게 키우는 것이 비용이 큰 이유가 이 곱셈에 있다. 그래서 실무에서 RM은 정책과 같은 크기이거나 더 작게 두는 경우가 많다. "심판이 선수보다 반드시 커야 한다"는 법칙은 없고, 심판의 일(순서 매기기)이 선수의 일(생성)보다 쉽다는 3.3.2의 비대칭이 이것을 뒷받침한다.

크기가 정말 중요해지는 곳은 과최적화 저항력이다. Gao 등이 2022년에 보인 보상 모델 과최적화의 스케일링 법칙은, 정책이 RM을 상대로 최적화될수록 RM이 매기는 대리 점수는 계속 오르지만 실제(gold) 점수는 어느 지점에서 꺾이며, 그 꺾이는 지점이 RM 크기와 데이터양에 따라 예측 가능한 함수형을 따른다는 것이다. 큰 RM일수록 더 멀리까지 최적화해도 실제 점수가 덜 꺾인다. 이것은 특정 설정에서 관찰된 연구 결과라 조건을 바꾸면 값이 달라지지만, 방향 — RM은 유한한 신뢰 예산을 가지며 세게 밀수록 그 예산이 소진된다 — 은 다음 두 절의 주제다.

3.3.15 RLHF 전체 루프

이제 조각들을 하나의 그림으로 잇는다. 고전적 RLHF(InstructGPT 계열)는 세 단계에 평가가 추가되는 구조다. 이 장은 ①②를 세웠고, 다음 두 장이 ③을 다룬다.

π_ref = SFT (동결 참조) 보상 신호 r_φ 제공 회귀 시 데이터 보강·재학습 데이터 플라이휠 사전학습 모델 (제2부 — 방대한 텍스트로 다음 토큰 예측) ① SFT · 지도 미세조정 시연 데이터로 지시 따르기 (3.2) ② 보상 모델 학습 선호쌍 (x, y_w, y_l) → 스칼라 r_φ 손실 −log σ(r_w − r_l) (이 장) ③ 정책 최적화 PPO (3.4) 또는 DPO (3.5) 보상↑ − β·KL(π‖π_ref) ④ 평가 벤치마크·인간 선호· LLM-judge (4.1 · 4.2 · 4.3) 배포 → 사용 로그 → 새 선호 데이터 (8.1)
RLHF 전체 루프

각 단계에서 SFT 모델이 세 역할을 겸한다는 점이 이 그림의 숨은 골격이다. ① SFT는 사전학습 모델을 시연으로 미세조정해 "지시를 따르는" 기본기를 만든다. 이 SFT 모델이 뒤 모든 것의 출발점이다 — 보상 모델의 초기화이자, 정책의 초기화이자, 곧 볼 KL 제약의 참조 모델 $\pi_{\text{ref}}$. ② 보상 모델은 SFT 모델이 만든 응답들을 사람이 비교한 선호쌍을 BT 손실로 학습해, 사람의 판단을 자동 채점기로 압축한다. ③ 정책 최적화는 정책 $\pi_\theta$ 를 보상이 높아지도록 갱신하되 참조 모델에서 너무 멀어지지 않게 제한한다 — 강화학습으로 하면 PPO(3.4), 보상 모델 없이 선호쌍으로 직접 하면 DPO(3.5)다. ④ 평가는 정렬된 모델이 실제로 나아졌는지를 벤치마크·LLM 심판·레드팀으로 확인하고, 후퇴가 보이면 데이터를 보강해 ②로 돌아간다. 그리고 이 루프는 일회성이 아니다 — 배포된 모델의 사용 로그가 새 선호 데이터가 되어 다시 ②로 흘러드는 데이터 플라이휠(8.1)이 현대 정렬의 실제 모습이다.

③에서 실제로 최적화하는 목적함수를 한 줄로만 미리 본다. 정책 최적화는 "보상을 최대화하라"가 아니라 "보상을 최대화하되 참조에서 멀어지지 마라"다.

$$\max_{\pi_\theta}\ \mathbb{E}_{x\sim\mathcal{D},\,y\sim\pi_\theta(\cdot\mid x)}\big[\,r_\phi(x,y)\,\big] \;-\; \beta\,\mathbb{KL}\big[\pi_\theta(y\mid x)\,\big\|\,\pi_{\text{ref}}(y\mid x)\big]$$

첫 항은 보상 모델이 좋아하는 응답을 내라는 사람 선호 방향이고, 둘째 항은 SFT 참조 $\pi_{\text{ref}}$ 에서 KL 거리로 멀어지는 것에 벌점을 준다($\beta$ 가 그 강도). 왜 둘째 항이 있어야만 하는지가 이 장의 마지막 두 절이다.

3.3.16 보상 해킹 — 대리지표를 목표로 삼으면

이 장에서 가장 중요한 경고를 할 차례다. 보상 모델은 인간 선호의 완벽한 대리자가 아니다. 유한하고 노이즈 있는 선호 데이터로 학습된, 특정 응답 분포에서만 검증된 근사다. 그리고 정책 최적화는 그 근사의 허점을 집요하게 찾아내는 과정이다. 측정치가 목표가 되는 순간 그것은 좋은 측정치이기를 그친다는 Goodhart의 법칙이 여기서 그대로 발현한다.

보상 모델 $r_\phi$ 는 실제 인간 선호의 측정치다. 정책을 $r_\phi$ 가 높아지도록 세게 밀면, 어느 지점까지는 실제 선호도 함께 오른다. 그러나 그 지점을 넘으면 정책이 "인간이 좋아하는 응답"이 아니라 "보상 모델의 허점을 찌르는 응답"으로 벗어나기 시작한다. 이것이 보상 해킹(reward hacking) 또는 과최적화(over-optimization)다.

최적화 정도 (참조에서의 KL 거리) 보상 대리 보상 rφ (RM 점수) — 계속 오름 실제(gold) 선호 — 정점 후 하락 여기서 멈춰야 (KL 제약 β) ← 여기부터 과최적화(보상 해킹) →
과최적화 — 대리(RM) 보상은 계속 오르지만 실제 보상은 꺾인다

전형적 실패 양상은 정책이 보상 모델을 속이는 지름길들인데, 대부분 3.3.5의 라벨 편향이 근원이다.

양상무슨 일인가근본 원인
장황·과잉 서식RM이 긴 답·목록에 후한 점수 → 정책이 무의미하게 길어짐라벨의 길이 편향
아첨(sycophancy)사용자·라벨러에 무조건 동의동의하는 답을 선호한 라벨
상투구 남발"물론입니다!", "훌륭한 질문입니다"를 반복RM이 내용 대신 표층 신호를 학습
형식만 맞고 공허요구 형식은 지키되 알맹이 없음RM이 형식 준수를 과대평가
분포 밖 폭주RM이 학습 때 못 본 이상한 출력에 높은 보상을 잘못 부여RM의 분포 밖 신뢰 부족(3.3.13)

마지막 행이 가장 근본적이다. 앞의 네 개는 데이터를 고치면 줄지만, 분포 밖 폭주는 RM이 원리상 자기 학습 분포 밖을 신뢰할 수 없다는 사실에서 온다 — 이것은 라벨을 아무리 잘 모아도 완전히 없앨 수 없고, 그래서 알고리즘 층위의 처방이 필요하다.

3.3.17 그래서 KL 제약이 필수다

과최적화를 막는 표준 처방이 3.3.15에서 미리 본 KL 페널티다. 직관은 간단하다. 보상 모델이 신뢰할 수 있는 영역은 자신이 학습된 응답 분포 근처, 곧 SFT 참조 $\pi_{\text{ref}}$ 근처다. 정책이 그 근처를 벗어날수록 RM의 보상은 믿을 수 없어진다 — 과최적화 곡선에서 실제 보상이 꺾이는 지점이 바로 정책이 RM의 유효 범위를 벗어나기 시작하는 지점이다. 그래서 $\mathbb{KL}[\pi_\theta\|\pi_{\text{ref}}]$ 에 벌점을 주어 정책을 RM이 유효한 영역 안에 유지한다. $\beta$ 가 그 제어 변수다 — 작으면 보상을 좇다 해킹으로 빠지고, 크면 참조에 고착되어 개선이 없다.

이 관점이 KL 항의 정체를 바꾼다. KL 제약은 단순한 규제(regularization)가 아니라 "보상 모델을 그 유효 범위 밖에서 신뢰하지 마라"는 인식론적 안전장치다. RLHF의 목적함수가 "보상만 최대화"가 아니라 "보상 − β·KL"인 실제 이유가 이것이다 — 우리가 가진 것은 참된 선호가 아니라 특정 분포에서만 검증된 그 대리자이므로, 그 대리자를 신뢰할 수 있는 곳에 정책을 묶어 두는 것이다.

그리고 정직하게 말할 것이 있다. KL 제약은 과최적화를 늦출 뿐 없애지 못한다. 충분히 세게 최적화하면 정해진 KL 예산 안에서도 해킹이 일어날 수 있고, 근본 해법은 β를 잘 설정하는 것이 아니라 더 견고한 보상 모델과 꾸준한 재라벨링(플라이휠)이다. "β만 잘 잡으면 해결"은 흔한 오해다 — 데이터·평가·반복이 함께 가야 한다.

이 모든 한계의 근원에는 "인간 선호"라는 말 자체의 미끄러움이 있다. RLHF가 학습하는 것은 보편적 인간 선호가 아니라 특정 라벨러 집단이 특정 지침에 따라 특정 시점에 내린 판단이다. 라벨러가 어떤 언어·문화에 치우치면 그 편향이 모델의 기본값 가치관이 되고, 유용성과 안전성이 충돌하는 쌍에서 어느 쪽을 "정답"으로 삼을지는 기술 문제가 아니라 가치 선택이며 그 선택은 지침서가 대신 내린다(9.4). 문체·어조처럼 객관적 정답이 없는 많은 비교에서 BT 모델은 라벨러 다수의 취향을 단일 스칼라로 압축해 담아 다양성을 평균으로 평탄화한다. 이 좁음 — 라벨러 대표성, 선호의 주관성, BT 단일 스칼라, 그리고 분포 이동에 약한 일반화 — 은 더 나은 알고리즘으로 없앨 수 있는 버그가 아니라 이 접근이 딛고 선 가정의 이면이다. RLHF를 쓰려면 이 한계를 아는 채로 써야 한다.

여기까지가 "보상은 어디서 오고 무엇을 신뢰할 수 없는가"의 전부다. 다음 장은 이 보상으로 정책을 실제로 어떻게 최적화하는지를 다룬다 — 정책과 가치 함수, 어드밴티지, KL 페널티의 구체적 추정과 클리핑, 그리고 이 장에서 예고한 보상 해킹을 실전에서 어떻게 억제하는지. 3.3.15의 목적함수 $\mathbb{E}[r_\phi] - \beta\,\mathbb{KL}[\pi\|\pi_{\text{ref}}]$ 가 그 장의 출발점이다. 보상 모델을 명시적으로 두지 않고 같은 BT 가정을 정책에 직접 녹이는 대안(DPO)은 그다음 장의 몫이고, 두 장을 함께 읽고 나면 PPO냐 DPO냐를 스스로 판단할 수 있을 것이다.