23. 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} 배이므로, 그래디언트의 기댓값은 편향 없는 RLOO 그래디언트의 방향 그대로이고 크기만 7/87/8로 줄어든다. σ로 나누면 이 관계는 깨진다.