22. RL이 작동하는 조건: 스펙트럼, 적정 난이도, 그리고 한계

적정 난이도: 정답과 오답이 섞인 문제에서 배운다

RL 학습을 준비할 때는 문제 수만 개 가운데 무엇을 넣을지 골라야 하고, 문제 하나마다 답을 여러 개 뽑는 비용이 든다(그룹 크기가 8이면 문제 하나에 응답 여덟 개). 그런데 GRPO는 모두 맞히거나 모두 틀린 그룹(같은 문제에 뽑은 답 G개의 묶음)에서 아무것도 배우지 않는다. 그렇다면 정답률이 얼마인 문제에 비용을 써야 가장 많이 배울까? 너무 쉬운 문제와 너무 어려운 문제 사이 어딘가일 텐데, 그 "어딘가"를 숫자로 적을 수 있을까?

그룹에 학습 신호가 있을 확률

정답률이 pp인 문제에서 GRPO가 GG개 답을 뽑는다고 하자. 맞힌 개수는 이항분포 Bin(G,p)\text{Bin}(G, p)를 따르는데, 그룹에 학습 신호(시그널)가 있으려면 정답과 오답이 모두 섞여야 한다.

P(시그널 있음)=1−pG−(1−p)G\textcolor{#0033ff}{P}(\text{시그널 있음}) = 1 - \textcolor{#993600}{p}^{\textcolor{#5f970c}{G}} - (1-\textcolor{#993600}{p})^{\textcolor{#5f970c}{G}}
P그룹이 학습 시그널을 줄 확률 (전부 정답도 전부 오답도 아닐 확률)p이 문제의 정답률G그룹 크기 (응답 수) \small\begin{array}{ll} \textcolor{#0033ff}{P} & \text{그룹이 학습 시그널을 줄 확률 (전부 정답도 전부 오답도 아닐 확률)} \\ \textcolor{#993600}{p} & \text{이 문제의 정답률} \\ \textcolor{#5f970c}{G} & \text{그룹 크기 (응답 수)} \end{array}
0 0.5 1 0 0.25 0.5 0.75 1 정답률 p 시그널 있을 확률 (G = 8) 다 틀림 다 맞힘

곡선은 가운데가 높고 양 끝에서 떨어지는데, 쉬운 문제는 「다 맞힘」으로, 어려운 문제는 「다 틀림」으로 시그널을 잃는다. G=8\textcolor{#5f970c}{G} = 8일 때의 값을 몇 개 적으면:

정답률 p\textcolor{#993600}{p} 0.05 0.1 0.3 0.5 0.7 0.9 0.95
시그널 있을 확률 0.34 0.57 0.94 0.99 0.94 0.57 0.34

시그널이 "있고 없고"를 넘어 얼마나 있는지도 계산할 수 있다. 8개 중 1개만 맞힌 그룹을 보자. 그룹 평균은 μ^\textcolor{#00897b}{\hat\mu} = 1/8 = 0.125이고(μ^\textcolor{#00897b}{\hat\mu}는 「뮤 햇」이라고 읽는다. 모자 ^는 데이터에서 잰 값이라는 표시), 그룹 표준편차 σ는 0.125×0.875≈0.331\sqrt{0.125 \times 0.875} \approx 0.331이다. 어드밴티지(각 답이 평균보다 얼마나 나은가)는 보상에서 평균을 빼고 σ로 나눈 값이다.

답 보상 평균을 뺀 값 σ로 나눈 어드밴티지 크기의 합
정답 1개 1 +0.875 +2.65 2.65
오답 7개 0 −0.125 각 −0.38 2.65

평균을 뺐으므로 어드밴티지 크기의 합은 정답 1개(2.65)와 오답 7개(2.65)가 같다. 두 합을 더한 5.29를 롤아웃(모델이 뽑은 응답 하나) 8개로 나누면 롤아웃 하나당 시그널은 0.66이다. 같은 계산을 kk개를 맞힌 그룹에 하면, 롤아웃당 시그널은 σ로 나눌 때 2μ^(1−μ^)2\sqrt{\textcolor{#00897b}{\hat\mu}(1-\textcolor{#00897b}{\hat\mu})}, 나누지 않을 때 2μ^(1−μ^)2\textcolor{#00897b}{\hat\mu}(1-\textcolor{#00897b}{\hat\mu})다(μ^=k/G\textcolor{#00897b}{\hat\mu} = k/\textcolor{#5f970c}{G}). 넷을 맞혀 μ^\textcolor{#00897b}{\hat\mu} = 0.5일 때 각각 1과 0.5로 가장 크다. 이 롤아웃당 시그널을 맞힌 개수 kk의 이항분포로 평균 내면 정답률별 기대 시그널 곡선이 나온다.

ML에서: 정답률 30–70%의 문제를 고른다

실무에서 흔히 "정답률 30–70% 문제가 가장 좋다"고 말하는 근거가 이 곡선이다. G=8\textcolor{#5f970c}{G} = 8, p=0.3\textcolor{#993600}{p} = 0.3에서 σ로 나눈 시그널은 0.82로 최대치(0.93)에 가깝지만, p=0.05\textcolor{#993600}{p} = 0.05에서는 0.24로 떨어진다. 그래서 대규모 RL 레시피들은 학습 중에 문제의 정답률을 재서 너무 쉽거나 어려운 문제를 걸러낸다(동적 샘플링).

위젯에서 σ 곡선과 점선을 비교해 보면, σ로 나눌 때 양 끝이 덜 가라앉는다. 앞의 표처럼 8개 중 1개만 맞힌 그룹의 롤아웃당 시그널은 σ로 나눌 때 최대(1)의 66%, 나누지 않으면 최대(0.5)의 44%다. σ 나누기는 아주 쉽거나 아주 어려운 문제의 목소리를 상대적으로 키운다. 양 끝 문제의 목소리를 키우는 것이 좋은지 나쁜지는 σ 나누기를 둘러싼 논쟁의 한 축이다.

더 넓게 보면: 잉크 한 방울

곡선이 가운데서 높다는 것은 더 넓은 생각과도 이어진다. 물컵에 잉크 한 방울을 떨어뜨려 보자.

떨어진 직후 한 점: 단순 퍼지는 중 소용돌이: 구조가 많다 다 퍼진 뒤 고른 색: 구조 없음
시점 모습 섀넌 엔트로피 (총 불확실성) 학습할 구조
떨어진 직후 한 점에 응축 낮다 적다 (너무 단순)
퍼지는 중 소용돌이, 가지, 밀도 차이 중간 가장 많다 (패턴이 있되 아직 다 예측되지 않음)
완전히 퍼진 뒤 균일한 색 최대 0 (패턴이 사라진 노이즈)

섀넌 엔트로피는 마지막에 최대지만, 배울 수 있는 것은 중간에 가장 많다. 이 비유는 이 교재의 것이지만, 같은 직관을 형식으로 세운 개념이 Epiplexity(Finzi et al., “From Entropy to Epiplexity: Rethinking Information for Computationally Bounded Intelligence”, arXiv:2601.03220, 2026년 1월)다. 이 개념은 데이터의 총 정보를 “주어진 계산 예산 안에서 모델이 추출할 수 있는 구조”(epiplexity)와 “아무리 학습해도 예측할 수 없는 잔여 불확실성”(시간 제한 엔트로피)으로 나눈다. epiplexity는 간단히는 학습 곡선에서 최종 손실보다 위에 있는 넓이(모델이 학습하면서 줄여 간 손실의 누적)로 어림한다.

이 관점에서 역할이 나뉜다. 프리트레인과 SFT는 학습 가능한 구조를 최대한 흡수해 스펙트럼을 넓히고, RL은 이미 흡수된 구조 가운데 무엇을 얼마나 자주 꺼내 쓰는지를 바꾼다. 한 문제 단위로 내려가면, "퍼지는 중인 잉크"에 해당하는 것이 적정 난이도의 문제다. 너무 쉬운 문제에는 남은 구조가 없고, 너무 어려운 문제는 구조가 있어도 지금의 모델이 추출할 수 없다. 쉬운 문제에서 어려운 문제로 옮겨가는 커리큘럼은 항상 "지금 배울 수 있는 구조가 가장 많은 구간"에 머무르려는 전략이다.

문제 5: 다들 만점 받는 퀴즈

조교가 퀴즈 문제 하나로 학생 넷의 실력을 가르려 한다. 네 학생이 각자 같은 확률로 맞힌다고 하자. 맞힌 학생과 틀린 학생이 섞여야(답이 갈려야) 이 문제로 누가 잘하는지 가를 수 있다. (가) 정답률 0.95인 쉬운 문제에서 넷의 답이 갈릴 확률은? (나) 정답률 0.5인 문제에서는?

김민준 (자신만만)
김민준
정답률 0.95면 적어도 한 명은 거의 확실히 맞히니까 1 − 0.05⁴, 거의 1이에요.
선생님 (질문)
선생님
민준 학생, 넷이 모두 맞힌 퀴즈에서는 누가 잘하는지 갈렸나요?
김민준 (당황)
김민준
아니요, 다 만점이면 못 가르죠. 제가 계산한 건 "적어도 한 명은 맞힌다"의 확률이네요. 갈리려면 틀린 사람도 한 명은 있어야 하고요.
이서연 (평상)
이서연
그러니까 1 − 0.95⁴ − 0.05⁴. 0.95⁴가 0.815니까 0.185쯤. 정답률 0.5인 문제는 1 − 0.5⁴ − 0.5⁴ = 0.875고.
김민준 (평상)
김민준
쉬운 퀴즈는 다섯 번 내면 네 번은 아무것도 못 가르네요. 조교님이 그래서 쉬운 문제만으로는 성적을 못 매긴다고 했구나.

정리 (가) 1−0.954−0.054≈0.1851 - 0.95^4 - 0.05^4 \approx 0.185. (나) 1−2×0.54=0.8751 - 2 \times 0.5^4 = 0.875. 답이 갈리려면 맞힌 사람과 틀린 사람이 모두 있어야 하므로, 쉬운 문제는 “모두 맞힘” 때문에 가르는 힘을 잃는다.

문제 6: 쉬운 문제에 샘플을 더 쏟으면

정답률 p=0.9\textcolor{#993600}{p} = 0.9인 문제에서 G=8\textcolor{#5f970c}{G} = 8이면 이 그룹이 학습 시그널을 줄 확률이 0.57이다. (가) 그룹 크기를 G=16\textcolor{#5f970c}{G} = 16으로 두 배 늘리면 시그널 확률은? (나) 시그널 확률이 0.9 이상이 되려면 G\textcolor{#5f970c}{G}는 최소 얼마여야 하는가? (위 위젯에서 p\textcolor{#993600}{p}를 0.90에 두고 G\textcolor{#5f970c}{G}를 바꿔 가며 자기 답을 확인해 보라.)

이서연 (자신만만)
이서연
여덟 개가 다 맞힐 확률이 0.43이었으니까, 답을 두 배로 뽑으면 그 확률이 절반쯤 되겠죠. 0.215면 시그널 확률은 0.785예요.
선생님 (질문)
선생님
서연 학생, 여덟 개가 다 맞힐 확률을 식으로 쓰면 0.9⁸이죠. 열여섯 개가 다 맞힐 확률은 어떻게 쓰나요?
이서연 (깨달음)
이서연
0.9¹⁶ = (0.9⁸)²이네요. 절반이 아니라 제곱이에요. 0.43² ≈ 0.185니까 시그널 확률은 0.815요.
김민준 (평상)
김민준
(나)는 코드로 돌렸어요. G = 21이면 0.891, G = 22면 0.9015예요. 그러니까 22개. 쉬운 문제도 G만 늘리면 되네요.
선생님 (질문)
선생님
민준 학생, 그 문제 하나에 답을 22개 뽑는 비용이면, 정답률 0.5인 문제는 G = 4로 몇 개를 볼 수 있죠?
김민준 (난처함)
김민준
다섯 개 남짓이요. 0.5인 문제는 G = 4로도 시그널 확률이 0.875였으니까, 쉬운 문제 하나에 22개를 쏟는 것보다 적정 난이도 문제 다섯을 보는 게 훨씬 남네요.
선생님 (평상)
선생님
그래요. 그래서 G를 키우기보다 문제를 고르는 거예요. 정답률을 재서 다 맞히는 문제를 걸러 내는 동적 샘플링이 그 일이에요.
김민준 (평상)
김민준
아까 퀴즈 문제랑 같네요. 다들 만점 받는 퀴즈는 학생을 더 모아 보는 것보다 문제를 바꾸는 게 싸요.

정리 (가) 1−0.916−0.116≈0.8151 - 0.9^{16} - 0.1^{16} \approx 0.815. G\textcolor{#5f970c}{G}를 두 배로 늘리면 “전부 정답” 확률은 절반이 아니라 제곱이 된다(0.432≈0.1850.43^2 \approx 0.185). (나) 0.9G≤0.10.9^{\textcolor{#5f970c}{G}} \le 0.1 이 되는 가장 작은 G\textcolor{#5f970c}{G}는 22(시그널 확률 0.90). 쉬운 문제의 시그널을 그룹 크기로 사려면 비싸므로, 같은 비용으로 적정 난이도 문제를 고르는 편이 낫다.