GRPO(같은 문제에 답을 여러 개 뽑아, 그 답들의 평균 점수를 기준으로 좋고 나쁨을 가르는 RL)는 모두 맞히거나 모두 틀린 문제에서 아무것도 배우지 않았다. 이 관찰을 끝까지 밀고 가면 더 큰 질문들이 따라 나온다.
정답률이 얼마인 문제에서 가장 많이 배우는가?
RL이 강화할 "좋은 답"은 어디서 오는가? 모델이 한 번도 내놓지 않는 답도 강화할 수 있는가?
그렇다면 RL은 모델을 더 똑똑하게 만드는가, 원래 할 줄 알던 것을 더 자주 하게 만드는가?
이 장은 RL이 작동하기 위한 조건을 세 층위에서 본다. 학습 파이프라인 전체(프리트레인 → SFT → RL; SFT는 정답 예시를 따라 쓰게 하는 지도 미세조정), 한 문제의 난이도, 그리고 파라미터 공간.
곱의 길: RL은 이미 있는 답 중에서 고른다
RL이 강화할 "좋은 답"은 어디서 오는가? 점수는 누군가 좋은 답을 내놓아야 매길 수 있다. 그 답을 내놓는 것은 학습 중인 모델 자신이다. 그렇다면 모델이 한 번도 내놓지 않는 답은 어떻게 될까?
합의 길과 곱의 길
가장 작은 장난감으로 보자. 모델이 낼 수 있는 답이 A, B, C 셋뿐이고, 지금 모델은 A를 0.7, B를 0.3의 확률로 내며 C는 한 번도 내지 않는다(확률 0). 그런데 C가 사실 가장 좋은 답이라고 하자. 모델을 바꾸는 길은 둘이다.
다른 데이터를 섞는다. C만 쓰는 데이터를 8 : 2로 섞어 학습하면, 모델이 따라가는 분포는 0.8 × (0.7, 0.3, 0) + 0.2 × (0, 0, 1) = (0.56, 0.24, 0.2)가 된다. 0이던 C가 생겼다.
모델이 낸 답에 점수를 매겨 곱한다. 점수가 A 0, B 1, C 5이고, 각 답의 확률에 e점수를 곱한 뒤 합이 1이 되게 나누면 (0.462, 0.538, 0)이 된다. B는 A를 앞질렀지만, C는 점수가 가장 높은데도 0이다. 0에는 무엇을 곱해도 0이다.
모델이 정보를 얻는 방식은 이렇게 두 가지로 나눠 볼 수 있다.
합의 길(섞어서 넓히기 / additive, mixture)은 서로 다른 데이터를 섞어 모델이 표현할 수 있는 범위를 넓힌다. 프리트레인은 웹 텍스트·코드·논문·대화를 섞고, SFT는 질의응답·요약·번역 같은 다양한 형식을 보여준다. 결과는 모델 안에 깔린 넓은 스펙트럼 — 확률분포의 언어로는 넓은 서포트(support, 확률이 0이 아닌 영역)다.
곱의 길(곱해서 고르기 / multiplicative, selection)은 그 스펙트럼 위에서 특정 방향을 키우고 나머지를 줄인다. RLHF(사람의 선호로 학습한 보상 모델의 점수로 하는 RL), DPO(보상 모델 없이 선호 쌍에서 바로 배우는 방법), GRPO가 모두 여기에 속한다. 정책 그래디언트(답을 내는 모델, 곧 정책 πθ(θ는 모델의 파라미터)의 확률을 점수 쪽으로 미는 방법)를 떠올리면 이유가 분명하다. 그래디언트는 R(y)∇logπθ(y) — 모델이 실제로 뽑은y의 확률에 점수를 곱해 밀고 당긴다. 확률에 곱셈으로 작용하니 이미 있는 모드(mode, 확률이 몰린 봉우리 — 예: 자주 쓰는 풀이 방식 하나)는 날카로워지지만(sharpening), 뽑히지 않는 답은 강화될 기회조차 없다.
graph LR
subgraph add["합의 길 (넓히기)"]
direction LR
PT["프리트레인<br/>웹+코드+논문+대화"] --> SFT["SFT<br/>다양한 태스크 형식"]
end
SFT -->|"스펙트럼 완성"| RL
subgraph mul["곱의 길 (고르기)"]
RL["RL · DPO · GRPO<br/>특정 방향 강화·억제"]
end
class add m-blue
class mul m-orange
그래서 곱의 길은 합의 길이 먼저 깔려 있어야 작동한다. 햇빛을 프리즘에 통과시키면 무지개가 펼쳐지지만, 단색 레이저를 통과시키면 한 가지 색만 나온다. 없는 색을 프리즘이 만들어주지는 않는다.
곱의 길은 비유에 그치지 않는다. KL(두 분포가 얼마나 다른지 재는 양)로 레퍼런스에 묶은 RL의 최적해(DPO를 유도할 때 쓰는 식)가 바로 이 꼴이다.
레퍼런스에 지수 인자 eR/β를 곱한 꼴이다. 위 장난감은 πref = (0.7, 0.3, 0), β = 1로 놓고 이 식을 그대로 계산한 것이다. πref(y)=0인 답은 점수가 아무리 커도 π∗(y)=0이다. 곱의 길은 목적함수의 모양 그 자체다.
ML에서: 스펙트럼 없이는 RL이 안 된다
곱의 길은 없는 것을 만들지 못한다. 이 명제는 실무적 함의가 크다.
프리트레인의 데이터 다양성이 RL의 상한을 정한다.
SFT가 다양한 풀이 전략을 보여줘야 RL 단계에서 "어느 전략이 더 나은가"를 비교할 수 있다. 한 가지 방식으로만 푸는 모델에게 GRPO는 비교할 거리가 없다.
SFT 없이 베이스 모델(프리트레인만 마친 모델)에 곧바로 RL을 돌린 DeepSeek-R1-Zero는 추론은 늘었지만 여러 언어가 뒤섞이고 읽기 어려운 사고 과정을 만들었다. 스펙트럼에 "읽기 좋은 출력"이라는 모드가 충분히 깔려 있지 않았던 것이다. 그래서 R1은 소량의 SFT로 먼저 형식을 잡고 RL을 돌렸다.
더 알고 싶은 독자를 위한 키워드 — 정보기하학
"합의 길"과 "곱의 길"은 이 교재에서 붙인 이름이지만, 확률분포의 기하학을 다루는 정보기하학(information geometry)에 대응하는 개념이 있다. 두 분포 p,q를 혼합(1−t)p+tq로 잇는 m-접속(mixture connection)과, 지수족p1−tqt(정규화 후)로 잇는 e-접속(exponential connection)이다. 데이터를 섞어 넓히는 것은 m-접속 위의 이동, 분포를 곱해서 날카롭게 만드는 것은 e-접속 위의 이동에 대응한다. 두 접속이 서로 쌍대(dual)라는 것이 이 분야의 핵심 정리 중 하나다. 참고: Amari, Information Geometry and Its Applications. 검색어: e-connection, m-connection, dually flat manifold.
문제 1 — 음악 앱의 새 노래
음악 앱이 첫 주에 노래 A와 B를 0.6 : 0.4의 비율로 틀어 준다. 새 노래 C는 목록에 있지만 한 번도 튼 적이 없다(비율 0). 앱은 매주 「들은 사람들이 좋아한 만큼」 비율에 배수를 곱한 뒤 합이 1이 되게 나눈다. A는 매주 ×2, B는 매주 ×1.5이고, C는 누군가 듣기만 하면 ×10을 받을 노래다. (가) 3주 뒤 A와 B의 비율은? (나) C의 비율은? (다) 앱이 C를 사람들에게 들려 주려면 무엇을 해야 하는가?
김민준
B도 매주 1.5배씩 좋아요를 받으니까 B 몫도 늘겠죠. 3주면 1.5³ ≈ 3.4배니까 꽤 커져요.
C는 0 × 10 × 10 × 10이라 여전히 0이에요. 열 배가 아니라 백만 배를 받을 노래여도, 아무도 듣지 않으면 그 배수를 받을 기회가 없어요.
김민준
그러니까 (다)는 한 번이라도 틀어 줘야 해요. 추천 목록의 몇 칸을 새 노래로 섞어 넣는 식으로요.
이서연
곱셈은 0을 못 벗어나고 덧셈만 0을 벗어나네요. 섞어 넣는 게 덧셈이고요.
정리 (가) 0.6×23=4.8, 0.4×1.53=1.35 이므로 0.78 : 0.22. 좋아요를 받아도 남보다 덜 받으면 몫은 줄어든다. 곱하고 다시 나누는 규칙은 이미 앞선 쪽을 더 날카롭게 만든다. (나) 0. 곱하는 배수가 아무리 커도 0은 0이다. (다) 새 노래를 일부러 섞어 틀어 준다(합의 길). 그래야 C가 배수를 받을 기회가 생긴다.
문제 2 — 확률이 0이 아니라면
소프트맥스 정책은 모든 토큰에 양의 확률을 준다. 그렇다면 원리적으로 RL은 어떤 응답이든 강화할 수 있는 것 아닌가? "곱의 길은 스펙트럼 밖을 만들지 못한다"는 말과 어떻게 양립하는가?
이서연
소프트맥스 출력은 항상 양수니까 어떤 응답이든 확률이 0보다 커요. 그럼 샘플링하다 보면 언젠가는 뽑히고, 뽑히면 강화될 수 있잖아요. 원리적으로는 스펙트럼 밖이란 게 없는 것 같은데요.
선생님
서연 학생, 그 "언젠가"가 얼마나 걸릴까요? 확률이 10⁻³⁰인 풀이라면요.
이서연
기대 대기 시간이 10³⁰번이요. 한 스텝에 64개씩 뽑으면… 우주 나이 동안 돌려도 안 나와요.
이서연
원리적으로 0이 아닌 것과 학습에 쓸 수 있는 것은 다르네요. 뽑히지 않으면 그래디언트에 등장하지 않으니까요.
선생님
그래요. 정책 그래디언트는 뽑힌 답만 밀어요. 실질적인 스펙트럼은 "현실적인 샘플 수 안에서 나오는 답"의 범위예요.
김민준
그래서 SFT로 다양한 풀이를 먼저 보여주는 거구나. 뽑힐 확률을 현실적인 수준으로 올려놓으려고.
김민준
아까 음악 앱 문제랑 같네요. C의 비율이 0이 아니라 10⁻³⁰이었어도, 한 번 틀어 주기까지 기다리는 사이에 앱은 A와 B만 키웠을 거예요.
이서연
측도론에서 "확률 0이 아니면 일어난다"가 아니라 "확률 1로 일어난다"를 따지던 것과 비슷하네요. 무한히 되풀이해 뽑는다는 전제일 때만 성립하는 말이었어요.
정리 소프트맥스 확률은 0이 아니지만, 현실적인 샘플 수 안에서 한 번도 뽑히지 않는 응답은 그래디언트에 등장하지 않는다. “스펙트럼 밖” = 실질적으로 샘플되지 않는 영역. SFT와 프리트레인이 그 영역을 줄여준다.