18. GRPO의 변종들 — 부품을 하나씩 의심하다

(e)(f) 베이스라인을 어디서 구하나: 자기를 뺀 평균에서 비평가까지

GRPO 목적함수의 어드밴티지 A^i=(Ri−μG)/σG\textcolor{#8e44ad}{\hat A_i} = (\textcolor{#d9670b}{R_i} - \textcolor{#00897b}{\mu_G})/\textcolor{#008deb}{\sigma_G} 에서 μG\textcolor{#00897b}{\mu_G} 는 베이스라인(보상에서 빼는 기준값)이다. 비평가(상태마다 앞으로 받을 보상을 예측하는 가치 신경망)를 두는 대신, 같은 프롬프트에 여러 번 답해 본 평균을 기준으로 삼았다. 그런데 그룹 평균만이 베이스라인을 만드는 방법은 아니다. GRPO와 거의 같은 시기에, 같은 문제를 다르게 푼 형제들이 있다.

방법 베이스라인 / 어드밴티지 비고
GRPO (Ri−μG)/σG(\textcolor{#d9670b}{R_i} - \textcolor{#00897b}{\mu_G})/\textcolor{#008deb}{\sigma_G} — 자기 자신도 평균에 포함 토큰 단위 PPO 클리핑
RLOO (Ahmadian et al., arXiv:2402.14740, 2024년 2월, Cohere) Ri−1G−1∑j≠iRj\textcolor{#d9670b}{R_i} - \frac{1}{\textcolor{#5f970c}{G}-1}\sum_{j \ne i} \textcolor{#d9670b}{R_j} — 자기를 뺀 나머지의 평균 응답 전체를 행동 하나로, 클리핑·σ 없음
ReMax (Li et al., arXiv:2310.10505, 2023년 10월) R(y)−R(y^greedy)\textcolor{#d9670b}{R}(\textcolor{#1c9c60}{y}) - \textcolor{#d9670b}{R}(\textcolor{#1c9c60}{\hat y_\text{greedy}}) — 그리디 디코딩(매 토큰 가장 확률 높은 것만 고르는 생성) 답의 보상 샘플 하나 + 그리디 답 하나로 충분
REINFORCE++ (Hu et al., arXiv:2501.03262, 2025년 1월) KL을 보상에 섞은 뒤 배치 전체로 정규화 프롬프트별 정규화는 치우침이 있다고 주장

RLOO의 "자기를 뺀 평균"은 정책 그래디언트의 원칙 — 베이스라인은 그 샘플과 독립이어야 그래디언트가 불편(unbiased, 치우침 없음)이다 — 을 정확히 지킨다. GRPO는 자기 자신을 평균에 넣어서 이 조건을 어긴다. 얼마나 어긋날까? 아래 문제에서 직접 견줘 본다. 이름은 달라도 모두 "비평가 대신 샘플로 베이스라인을 만든다"는 한 가족이다.

비평가의 귀환 — VAPO

샘플로 만든 베이스라인에는 한계가 있다. 응답 하나에 어드밴티지 하나라서 토큰 단위 크레딧 할당(어느 토큰 덕에 점수를 받았는지 나누기)을 포기한 것이다 — 응답 안의 모든 토큰이 같은 어드밴티지를 받는다. VAPO(Yue et al., “VAPO: Efficient and Reliable Reinforcement Learning for Advanced Reasoning Tasks”, arXiv:2504.05118, 2025년 4월, ByteDance Seed. 이름은 Value-model-based Augmented PPO, 곧 「가치 모델을 쓰는 PPO를 보강한 것」의 줄임)는 비평가를 다시 들여와 그 대가를 되찾으려 했다. 단, RLHF(사람 선호로 학습한 보상 모델로 하는 RL)의 PPO를 그대로 쓰면 긴 사고 학습에서 잘 안 된다. 같은 설정에서 순수 PPO는 AIME 5점에 그쳤다.

막힌 곳 하나는 GAE(비평가의 예측과 실제 받은 보상을 λ로 섞어 어드밴티지를 추정하는 방법)였다. λ가 0.95로 고정이면, 100토큰 뒤에 받은 보상은 0.95100≈0.0060.95^{100} \approx 0.006 만큼만 앞 토큰에 전해진다. 정답 여부는 응답 끝에서야 나오는데, 수천 토큰짜리 응답의 앞부분은 그 보상을 거의 듣지 못하고 아직 서툰 비평가의 예측에 기댄다. VAPO는 λ를 응답 길이에 맞춰 바꾼다.

λ=1−1α l,∑t=0∞λt=11−λ=α l\textcolor{#993600}{\lambda} = 1 - \frac{1}{\textcolor{#cc00ff}{\alpha}\,\textcolor{#915a08}{l}}, \qquad \sum_{t=0}^{\infty}\textcolor{#993600}{\lambda}^{t} = \frac{1}{1-\textcolor{#993600}{\lambda}} = \textcolor{#cc00ff}{\alpha}\,\textcolor{#915a08}{l}
λ정책 쪽 GAE 계수: 보상을 몇 토큰 앞까지 전하는가α응답 길이에 곱하는 비율, VAPO는 0.05l응답 길이 (토큰 수) \small\begin{array}{ll} \textcolor{#993600}{\lambda} & \text{정책 쪽 GAE 계수: 보상을 몇 토큰 앞까지 전하는가} \\ \textcolor{#cc00ff}{\alpha} & \text{응답 길이에 곱하는 비율, VAPO는 0.05} \\ \textcolor{#915a08}{l} & \text{응답 길이 (토큰 수)} \end{array}

계수를 모두 더한 값, 곧 보상이 대략 몇 토큰 앞까지 닿는지가 응답 길이의 5%가 되게 맞춘 것이다. 100토큰이면 λ = 0.8로 약 5토큰, 1,000토큰이면 0.98로 약 50토큰, 4,000토큰이면 0.995로 약 200토큰.

VAPO가 붙인 나머지 처방:

Qwen2.5-32B에서 AIME 2024 60.4점, DAPO보다 10점 이상 높았고 5,000스텝 동안 붕괴 없이 학습했다. "비평가를 버린 것이 GRPO의 핵심"이라는 서사에 대한 반론이다. 정확히는 비평가를 제대로 다루기 어려웠던 것이 문제였다.

문제 8 — 내 점수를 넣은 평균, 뺀 평균

네 친구의 퀴즈 점수가 9, 5, 5, 5점이다. (가) 사람마다 「자기 점수 − 넷의 평균」과 「자기 점수 − 나머지 셋의 평균」을 구하시오. (나) 두 값의 비는 사람마다 어떻게 되는가?

김민준 (평상)
김민준
넷의 평균은 6이니까 9점은 +3, 5점은 −1. 나머지 셋의 평균으로는 9점은 9 − 5 = +4, 5점은 5 − (9 + 5 + 5)/3 = −1.33이요.
김민준 (평상)
김민준
9점은 3 대 4로 꽤 차이 나는데, 5점은 −1 대 −1.33이라 거의 같네요. 점수 높은 사람만 손해네.
선생님 (짚어주기)
선생님
비로 나눠 볼까요?
김민준 (평상)
김민준
3/4 = 0.75, 1/1.33 = 0.75.
김민준 (당황)
김민준
둘 다 0.75예요.
이서연 (평상)
이서연
우연이 아니야. 내 점수를 x, 나머지 셋의 합을 S라 하면 x − (x + S)/4 = (3/4)(x − S/3). 누구든 늘 3/4배야. 다섯 명이면 4/5배고.
김민준 (평상)
김민준
내 점수를 평균에 넣으면 나 자신이 평균을 내 쪽으로 끌어당기니까, 남과의 차이가 늘 같은 비율로 줄어드는 거네요.

정리 (가) 9점: +3+3 / +4+4, 5점: −1-1 / −1.33-1.33. (나) 모두 3/43/4. 자기를 넣은 평균과의 차이는 자기를 뺀 평균과의 차이의 (n−1)/n(n-1)/n 배다.

문제 9 — 자기를 넣은 베이스라인은 방향을 틀까

그룹 G=8\textcolor{#5f970c}{G} = 8의 보상이 [1,1,0,0,0,0,0,0][1, 1, 0, 0, 0, 0, 0, 0]이다. (가) 정답 응답과 오답 응답 각각에 대해, 평균만 뺀 GRPO의 어드밴티지(Ri−μG\textcolor{#d9670b}{R_i} - \textcolor{#00897b}{\mu_G}, σ로 나누지 않음)와 RLOO의 어드밴티지를 구하시오. (나) RLOO의 그래디언트가 치우침 없다면, 자기를 평균에 넣은 GRPO의 그래디언트는 기대값으로 어느 쪽을 가리키는가?

김민준 (평상)
김민준
평균 0.25니까 GRPO는 정답 +0.75, 오답 −0.25. RLOO는 정답이 1 − 1/7 = +0.857, 오답이 0 − 2/7 = −0.286. 아까 퀴즈랑 같네요, 비가 둘 다 7/8이에요.
선생님 (평상)
선생님
좋아요. 그럼 (나)는요?
김민준 (자신만만)
김민준
자기를 넣은 베이스라인은 샘플과 독립이 아니니까 치우침이 있고, 그러면 그래디언트가 엉뚱한 방향으로 가겠죠.
선생님 (질문)
선생님
모든 응답의 어드밴티지가 똑같이 7/8배라면, 그래디언트의 기대값은 RLOO의 기대값과 어떤 관계죠?
이서연 (평상)
이서연
어드밴티지가 그래디언트에 곱해지는 수니까, 기대값도 통째로 7/8배예요. RLOO가 치우침 없으니 방향은 똑같고 크기만 7/8로 줄어.
김민준 (당황)
김민준
방향은 그대로고 길이만 짧아진다…. 학습률을 7/8로 낮춘 것과 같네요.
선생님 (평상)
선생님
그래요. 적어도 평균만 빼는 경우에는 "살짝 어긴다"의 정체가 이거예요. 그룹이 크면 (G−1)/G가 1에 가까워지니 차이가 작다는 말도 여기서 나오고요. σ로 나누면 σ에도 자기 보상이 들어가서 이렇게 깔끔하게 떨어지지는 않아요.
이서연 (평상)
이서연
선형대수 시간에 벡터에 양수를 곱하면 방향은 그대로라고 한 거랑 같네. 치우침이 다 방향을 트는 건 아니구나.

정리 (가) GRPO(평균만 뺌): 정답 +0.75+0.75, 오답 −0.25-0.25. RLOO: 정답 +0.857+0.857, 오답 −0.286-0.286. 모두 비가 7/87/8이다. (나) 평균만 빼는 GRPO의 어드밴티지는 RLOO의 정확히 (G−1)/G(\textcolor{#5f970c}{G}-1)/\textcolor{#5f970c}{G} 배이므로, 그래디언트의 기대값은 치우침 없는 방향 그대로이고 크기만 7/87/8로 줄어든다. σ로 나누면 이 관계는 깨진다.