RL 학습을 준비할 때는 문제 수만 개 가운데 무엇을 넣을지 골라야 하고, 문제 하나마다 답을 여러 개 뽑는 비용이 든다(그룹 크기가 8이면 문제 하나에 응답 여덟 개). 그런데 GRPO는 모두 맞히거나 모두 틀린 그룹(같은 문제에 뽑은 답 G개의 묶음)에서 아무것도 배우지 않는다. 그렇다면 정답률이 얼마인 문제에 비용을 써야 가장 많이 배울까? 너무 쉬운 문제와 너무 어려운 문제 사이 어딘가일 텐데, 그 "어딘가"를 숫자로 적을 수 있을까?
그룹에 학습 신호가 있을 확률
정답률이 p인 문제에서 GRPO가 G개 답을 뽑는다고 하자. 맞힌 개수는 이항분포 Bin(G,p)를 따른다. 그룹에 학습 신호(시그널)가 있으려면 정답과 오답이 모두 섞여야 한다.
곡선은 가운데가 높고 양 끝에서 떨어진다. 쉬운 문제는 「다 맞힘」으로, 어려운 문제는 「다 틀림」으로 시그널을 잃는다. G=8일 때의 값을 몇 개 적으면:
정답률 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개만 맞힌 그룹을 보자. 그룹 평균은 μ^ = 1/8 = 0.125이고(μ^는 「뮤 햇」이라고 읽는다. 모자 ^는 데이터에서 잰 값이라는 표시), 그룹 표준편차 σ는 0.125×0.875≈0.331이다. 어드밴티지(각 답이 평균보다 얼마나 나은가)는 보상에서 평균을 빼고 σ로 나눈 값이다.
답
보상
평균을 뺀 값
σ로 나눈 어드밴티지
크기의 합
정답 1개
1
+0.875
+2.65
2.65
오답 7개
0
−0.125
각 −0.38
2.65
평균을 뺐으므로 어드밴티지 크기의 합은 정답 쪽과 오답 쪽이 같다. 둘을 더한 5.29를 롤아웃(모델이 뽑은 응답 하나) 8개로 나누면 롤아웃 하나당 시그널은 0.66이다. 같은 계산을 k개를 맞힌 그룹에 하면, 롤아웃당 시그널은 σ로 나눌 때 2μ^(1−μ^), 나누지 않을 때 2μ^(1−μ^)다(μ^=k/G). 넷을 맞혀 μ^ = 0.5일 때 각각 1과 0.5로 가장 크다. 이것을 이항분포로 평균 내면 정답률별 기대 시그널 곡선이 나온다.
ML에서: 정답률 30–70%의 문제를 고른다
실무에서 흔히 "정답률 30–70% 문제가 가장 좋다"고 말하는 근거가 이 곡선이다. G=8, p=0.3에서 σ로 나눈 시그널은 0.82로 최대치(0.93)에 가깝지만, 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)와 “아무리 학습해도 예측할 수 없는 잔여 불확실성”(시간 제한 엔트로피)으로 나눈다. 앞의 것은 간단히는 학습 곡선에서 최종 손실보다 위에 있는 넓이 — 모델이 학습하면서 줄여 간 손실의 누적 — 로 어림한다.
이 관점에서 역할이 나뉜다. 프리트레인과 SFT는 학습 가능한 구조를 최대한 흡수해 스펙트럼을 넓히고, RL은 이미 흡수된 구조 가운데 무엇을 얼마나 자주 꺼내 쓰는지를 바꾼다. 한 문제 단위로 내려가면, "퍼지는 중인 잉크"에 해당하는 것이 적정 난이도의 문제다. 너무 쉬운 문제에는 남은 구조가 없고, 너무 어려운 문제는 구조가 있어도 지금의 모델이 추출할 수 없다. 쉬운 문제에서 어려운 문제로 옮겨가는 커리큘럼은 항상 "지금 배울 수 있는 구조가 가장 많은 구간"에 머무르려는 전략이다.
문제 5 — 다들 만점 받는 퀴즈
조교가 퀴즈 문제 하나로 학생 넷의 실력을 가르려 한다. 네 학생이 각자 같은 확률로 맞힌다고 하자. 맞힌 학생과 틀린 학생이 섞여야(답이 갈려야) 이 문제로 누가 잘하는지 가를 수 있다. (가) 정답률 0.95인 쉬운 문제에서 넷의 답이 갈릴 확률은? (나) 정답률 0.5인 문제에서는?
김민준
정답률 0.95면 적어도 한 명은 거의 확실히 맞히니까 1 − 0.05⁴, 거의 1이에요.
선생님
민준 학생, 넷이 모두 맞힌 퀴즈에서는 누가 잘하는지 갈렸나요?
김민준
아니요, 다 만점이면 못 가르죠. 제가 계산한 건 "적어도 한 명은 맞힌다"의 확률이네요. 갈리려면 틀린 사람도 한 명은 있어야 하고요.
쉬운 퀴즈는 다섯 번 내면 네 번은 아무것도 못 가르네요. 조교님이 그래서 쉬운 문제만으로는 성적을 못 매긴다고 했구나.
정리 (가) 1−0.954−0.054≈0.185. (나) 1−2×0.54=0.875. 답이 갈리려면 맞힌 사람과 틀린 사람이 모두 있어야 한다. 쉬운 문제는 “모두 맞힘” 때문에 가르는 힘을 잃는다.
문제 6 — 쉬운 문제에 샘플을 더 쏟으면
정답률 p=0.9인 문제가 있다. G=8이면 이 그룹이 학습 시그널을 줄 확률이 0.57이다. (가) 그룹 크기를 G=16으로 두 배 늘리면 시그널 확률은? (나) 시그널 확률이 0.9 이상이 되려면 G는 최소 얼마여야 하는가? (위 위젯에서 p를 0.90에 두고 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.815. G를 두 배로 늘리면 “전부 정답” 확률은 절반이 아니라 제곱이 된다(0.432≈0.185). (나) 0.9G≤0.1 이 되는 가장 작은 G는 22(시그널 확률 0.90). 쉬운 문제의 시그널을 그룹 크기로 사려면 비싸다. 같은 비용으로 적정 난이도 문제를 고르는 편이 낫다.