3. REINFORCE — 샘플로 추정하고, 베이스라인을 빼다

프롬프트별 베이스라인: 이 문제에서 평소보다 잘했나

이동평균 하나를 모든 프롬프트에 쓰면 무슨 일이 생길까? 문제마다 난이도가 다른데, 베이스라인은 하나다.

쉬운 문제와 어려운 문제

쉬운 문제(“1+1은?”)는 거의 항상 맞히고 어려운 문제(올림피아드)는 거의 항상 틀린다고 하자. 정답은 1점, 오답은 0점이다.

쉬운 문제 어려운 문제
그 문제의 평균 보상 0.9 0.1
전역 베이스라인 b=0.5\textcolor{#00897b}{b} = 0.5일 때 정답의 가중치 +0.5+0.5 +0.5+0.5
전역 베이스라인 b=0.5\textcolor{#00897b}{b} = 0.5일 때 오답의 가중치 −0.5-0.5 −0.5-0.5
프롬프트별 베이스라인일 때 정답의 가중치 +0.1+0.1 +0.9+0.9
프롬프트별 베이스라인일 때 오답의 가중치 −0.9-0.9 −0.1-0.1

전역 기준에서는 쉬운 문제의 샘플 대부분이 양수 가중치를 받는다. 그래디언트의 상당 부분이 "쉬운 문제를 푸는 방식"을 반복 강화하는 데 쓰인다 — 틀린 방향은 아니지만 이미 잘하는 것에 힘을 낭비하고, 샘플마다 가중치가 크게 흔들린다. 프롬프트별 기준은 "이 문제에서 평소보다 잘했나"를 묻는다. 어려운 문제에서 드물게 맞힌 답이 큰 상을 받고, 쉬운 문제에서 드물게 틀린 답이 큰 벌을 받는다.

프롬프트별 기준을 만들려면 같은 프롬프트에 여러 응답을 뽑아야 한다. 한 번에 뽑은 N\textcolor{#5f970c}{N}개의 보상 평균을 그 프롬프트의 기준으로 쓰는 것이다. 이때 평균에 자기 자신을 넣을지 뺄지가 갈린다.

위젯에서 확인할 것:

ML에서: 같은 프롬프트에 여러 응답을 뽑는다

이 아이디어를 그대로 밀어붙인 것이 RLOO(REINFORCE Leave-One-Out — 쿨(Wouter Kool)과 동료들이 2019년에 제안하고, 어메이디언(Arash Ahmadian)과 동료들이 2024년에 언어모델의 선호 학습에 가져왔다. "나를 뺀 나머지의 평균"을 기준으로 쓴다)와 GRPO(Group Relative Policy Optimization — 샤오(Zhihong Shao)와 동료들이 2024년에 수학 추론 모델 DeepSeekMath를 학습시키며 제안했다)다. GRPO는 같은 프롬프트에서 뽑은 응답 묶음(그룹)의 평균을 기준으로 쓰고, 거기에 표준편차로 나누는 단계를 더한다. 그 나눗셈에는 반론도 있다. 거의 다 맞히거나 거의 다 틀리는 문제는 보상의 표준편차가 작아서, 나누고 나면 오히려 더 큰 무게를 받는다는 지적이다(류(Zichen Liu)와 동료들, 2025).

문제 6 — 쉬운 시험의 90점, 어려운 시험의 60점

서연이 두 시험을 봤다. 쉬운 시험은 90점(반 평균 88점), 어려운 시험은 60점(반 평균 45점)이다. (가) 서연 자신의 두 시험 평균(75점)을 기준으로 빼면 두 시험은 각각 몇 점 위아래인가? 어느 시험을 잘 본 것으로 치게 되는가? (나) 시험마다 그 시험의 반 평균을 기준으로 빼면?

선생님 (평상)
선생님
민준 학생, 서연 학생은 두 시험 가운데 어느 쪽을 더 잘 봤을까요?
김민준 (평상)
김민준
90점이죠. 서연이 평균 75점보다 15점 높고, 60점은 15점 낮잖아요.
선생님 (질문)
선생님
그 쉬운 시험, 반 평균은 몇 점이었죠?
김민준 (평상)
김민준
88점이요. 그럼 2점 높을 뿐이고… 어려운 시험은 반 평균 45점보다 15점 높네요.
김민준 (당황)
김민준
어려운 시험을 훨씬 잘 본 거예요.
이서연 (평상)
이서연
내 평균을 기준으로 하면 쉬운 시험은 늘 칭찬받고 어려운 시험은 늘 혼나. 시험마다 반 평균을 빼야 그 시험 안에서 잘했는지가 보여.
김민준 (평상)
김민준
과목마다 평균이 달라서 학점을 과목 안에서 상대평가로 매기는 거랑 같네요.

정리 (가) 쉬운 시험 +15, 어려운 시험 −15. 쉬운 시험을 잘 본 것으로 친다. (나) 쉬운 시험 +2, 어려운 시험 +15. 어려운 시험을 훨씬 잘 봤다. 기준 하나를 모든 시험에 쓰면 시험의 난이도가 그대로 점수 차에 섞인다.

문제 7 — (킬러) 자기를 포함한 그룹 평균

프롬프트마다 응답 N=4\textcolor{#5f970c}{N} = 4개를 뽑고, 베이스라인으로 **같은 프롬프트 4개의 평균(자기 포함)**을 쓴다. (가) 이 추정은 치우침이 없는가? 치우친다면 얼마나? (나) 4개가 모두 정답이면 이 프롬프트에서 무엇을 배우는가? (다) 이 방식과 전역 이동평균 베이스라인 중 어느 것이 나은가, 왜?

칠판에 보상 [1, 0, 0, 1] 과 평균 0.5 가 적혀 있다.
선생님 (평상)
선생님
이번엔 같은 프롬프트의 네 응답 평균을 베이스라인으로 써요. 문제 5에서 자기 보상을 베이스라인으로 쓰면 안 된다고 했죠. 이건 괜찮을까요?
김민준 (평상)
김민준
평균은 네 개를 섞은 거니까 괜찮지 않아요? 자기 하나만 쓴 게 아니잖아요.
이서연 (의심)
이서연
섞였어도 자기 보상이 1/4만큼 들어가 있어. b가 yi에 의존하니까 문제 5랑 같은 이유로 증명이 깨지지 않아?
선생님 (질문)
선생님
서연 학생, 깨진다면 얼마나 깨지는지 계산해 볼 수 있어요?
이서연 (생각)
이서연
Ri − 평균을 풀어볼게요. 평균 = (Ri + 나머지 합)/4 니까, Ri − 평균 = (3/4)Ri − (1/4)·나머지 합 = (3/4)(Ri − 나머지 합/3). 괄호 안은 자기를 뺀 세 개의 평균이에요.
이서연 (깨달음)
이서연
자기를 뺀 평균은 yi에 의존하지 않으니까 치우침이 없어요. 그럼 자기를 포함한 버전은 치우침 없는 추정에 3/4를 곱한 거네요. 기대값이 정확히 (3/4)∇J예요.
김민준 (평상)
김민준
위젯에서 문제 7 값을 불러오면 추정치 평균이 참값의 3/4 근처에 오는지 볼 수 있겠네요. 방향은 맞고 크기만 3/4? 그럼 학습률을 조금 낮춘 거랑 같네.
선생님 (평상)
선생님
맞아요. 치우침은 있지만 방향이 아니라 크기의 치우침이에요. N이 크면 (N−1)/N 이 1에 가까워져서 사실상 사라지고요. 자기를 뺀 평균을 쓰는 게 RLOO, 자기를 포함한 평균을 쓰는 게 GRPO예요. 그럼 (나), 네 개가 전부 정답이면요?
김민준 (자신만만)
김민준
전부 1이면 평균이 1이고 가중치가 다 0이에요. 이 프롬프트에서는 안 배워요. 코드에서 이런 프롬프트는 버려도 되겠네요.
선생님 (평상)
선생님
전부 오답이어도 마찬가지죠. 그래서 너무 쉽거나 너무 어려운 문제는 학습 신호(시그널)를 주지 못해요. 마지막으로 (다), 전역 이동평균과 비교하면요?
김민준 (평상)
김민준
전역 평균은 프롬프트 하나에 샘플 하나만 있어도 되니까 싸요. 그룹 평균은 프롬프트마다 네 개씩 뽑아야 하고요. 같은 예산이면 전역이 프롬프트를 네 배 더 볼 수 있어요.
이서연 (평상)
이서연
그런데 전역 평균은 쉬운 문제의 정답에도 계속 상을 줘. 아까 시험 문제에서 내 평균을 기준으로 하면 쉬운 시험이 늘 칭찬받던 것처럼. 가중치가 문제 난이도를 따라 움직이니까, 그 흔들림이 분산이야. 그룹 평균은 난이도를 지우고 "이 문제 안에서의 상대적 우열"만 남겨.
선생님 (미소)
선생님
둘 다 맞는 말이에요. 정답은 "문제의 난이도가 얼마나 제각각인가"에 달려 있어요. 수학 데이터처럼 난이도 편차가 크면 그룹 평균이 이기고, 그래서 LLM 추론 학습에서는 거의 모두가 그룹을 뽑아요.
이서연 (평상)
이서연
선형대수에서 평균을 빼서 데이터를 중심화하는 거랑 같네요. 전체 평균으로 중심화하면 그룹 간 차이가 남고, 그룹별로 중심화해야 그룹 안의 변동만 남는 것처럼요.

정리 (가) Ri−Rˉ=N−1N(Ri−Rˉ−i)\textcolor{#d9670b}{R_i} - \textcolor{#00897b}{\bar R} = \frac{\textcolor{#5f970c}{N}-1}{\textcolor{#5f970c}{N}}(\textcolor{#d9670b}{R_i} - \textcolor{#00897b}{\bar R_{-i}})이므로 기대값은 정확히 N−1N∇J\frac{\textcolor{#5f970c}{N}-1}{\textcolor{#5f970c}{N}}\nabla \textcolor{#d62728}{J} — 방향은 맞고 크기만 줄어든다. (나) 모두 같은 보상이면 가중치가 전부 0, 이 프롬프트에서는 배울 것이 없다. (다) 프롬프트 난이도가 제각각일수록 그룹 평균이 분산을 크게 줄인다. 대가는 프롬프트당 여러 샘플.