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

자주 하는 실수와 요약

자주 하는 실수
실수 나온 문제 바로잡는 법
응답 하나에 걸린 가중치의 합이 같으니 길이에 공평하다고 봄 1 모든 토큰이 같은 ww를 받으면 그래디언트는 w ∇log⁡πθ(응답)w\,\nabla\log\textcolor{#1565c0}{\pi_\theta}(\text{응답}) 이다. 응답 확률을 미는 힘은 합이 아니라 ww 이고, GRPO에서 긴 오답은 그만큼 약하게 억제된다
표준편차로 나눈 값이 크면 원래 차이도 컸다고 봄 2 표준점수는 그룹 안에서 몇 표준편차 떨어졌는지만 남긴다. 거의 다 맞힌 그룹에서 혼자 틀린 응답이 반반 맞힌 그룹의 오답보다 세게 눌린다
시그널 없는 그룹이 빠진 만큼만 더 뽑으면 된다고 봄 3 새로 뽑은 것도 같은 비율로 빠진다. 남는 비율이 0.6이면 필요한 수의 1/0.61/0.6 배를 뽑아야 한다
빠지는 비율이 두 배가 되면 샘플링 비용도 두 배라고 봄 4 비용은 남는 비율의 역수다. 남는 비율이 0.6에서 0.25로 줄면 비용은 2.4배가 되고, 남는 비율이 0에 가까워지면 한없이 커진다
토큰 단위 손실(DAPO)이면 다른 응답의 길이와 무관하다고 봄 5 DAPO는 그룹(구현에서는 배치)의 토큰 총수로 나눈다. 긴 응답 하나가 끼면 같은 그룹 모든 토큰의 가중치가 작아진다
GSPO의 아주 좁은 클리핑 범위로는 학습이 안 된다고 봄 6 si\textcolor{#c2185b}{s_i} 는 길이로 나눈 기하평균이라 긴 응답에서 1에 매우 가깝다. 범위가 좁은 것이 아니라 si\textcolor{#c2185b}{s_i} 의 스케일이 작다
클리핑은 어드밴티지 부호와 상관없이 범위 밖 토큰을 모두 끊는다고 봄 7 min 때문에 A^>0\textcolor{#8e44ad}{\hat A} > 0이면 위쪽만, A^<0\textcolor{#8e44ad}{\hat A} < 0이면 아래쪽만 끊긴다. CISPO는 어느 쪽도 끊지 않고 가중치만 자른다
자기를 넣은 평균을 베이스라인으로 쓰면 그래디언트 방향이 틀어진다고 봄 9 평균만 빼면 어드밴티지가 모두 (G−1)/G(\textcolor{#5f970c}{G}-1)/\textcolor{#5f970c}{G} 배가 될 뿐이다. 방향은 그대로이고 크기만 줄어든다
KL 강도가 0이 아니면 정책이 레퍼런스 근처에 머문다고 봄 10 최적 정책은 πref eR/β\textcolor{#6f6f78}{\pi_\text{ref}}\,e^{\textcolor{#d9670b}{R}/\textcolor{#827717}{\beta}} 에 비례한다. 보상 차이가 β\textcolor{#827717}{\beta} 보다 훨씬 크면 목줄은 도착점을 거의 바꾸지 못한다
좋은 쪽 토큰을 올리면 엔트로피는 언제나 준다고 봄 11 엔트로피 변화의 부호는 로그확률과 어드밴티지의 공분산이 정한다. 드문 토큰이 좋은 결과를 내면 엔트로피는 오히려 는다
토큰당 1%의 확률 차이는 무시해도 된다고 봄 12 응답의 로그비율은 토큰 로그비율의 합이다. 4,000토큰이면 독립이어도 표준편차가 0.014000≈0.630.01\sqrt{4000} \approx 0.63 으로 쌓이고, 한쪽으로 치우치면 nn 에 비례해 쌓인다
토큰 단위로 비율을 잘라내면 학습-생성 불일치가 해결된다고 봄 12 토큰 하나하나가 범위 안이면 잘라내기는 아무것도 못 한다. 응답 단위 마스킹이 필요하고, 근본적으로는 정밀도·라우팅을 맞춰 차이 자체를 줄인다
작은 실험에서 이긴 레시피가 큰 규모에서도 이긴다고 봄 13 작은 규모의 순위는 효율이, 큰 규모의 순위는 천장이 정한다. 곡선을 맞춰 천장을 추정해 고른다
요약

대규모로 돌린 GRPO는 부품마다 의심받았다. 평균 내는 방식에서는 길이 나누기가 긴 오답을 덜 억제하고 σ 나누기가 아주 쉽거나 어려운 문제에 큰 무게를 준다는 지적이 나와, Dr. GRPO는 둘 다 뺐고 DAPO는 토큰 단위 손실로 바꿨다. 토큰 단위 손실은 대신 같은 배치 응답들의 가중치를 서로 묶는다. 클리핑에서는 대칭 범위가 드문 토큰의 성장을 막아 엔트로피를 무너뜨리므로 상한을 따로 높였고(Clip-Higher), 시그널 없는 그룹은 버리고 다시 뽑았다(동적 샘플링). 그 비용은 남는 비율의 역수로 자란다. 비율의 단위를 응답으로 바꾸면(GSPO) 긴 응답과 MoE에서 잡음이 줄고, 그 딱딱한 경계를 부드러운 게이트로 바꾸면(SAPO) 몇 개의 튀는 토큰 때문에 응답 전체를 잃지 않는다. 업데이트 대신 가중치를 자르면(CISPO) 성찰 토큰도 계속 배운다. 베이스라인은 자기 제외 평균·그리디 답·배치 정규화로 바꿀 수 있고, 자기를 넣은 평균은 방향이 아니라 크기만 줄인다. 비평가도 길이에 맞춘 GAE와 함께 제대로 다루면 다시 쓸모가 있다(VAPO). 검증기 보상처럼 차이가 크고 믿을 만한 보상 앞에서는 KL이 도착점을 거의 바꾸지 못하므로 빼는 쪽이 많아졌고, 대신 로그확률과 어드밴티지의 공분산이 일으키는 엔트로피 붕괴를 따로 다스린다. 탐색은 모든 토큰이 아니라 풀이 방향을 가르는 소수의 분기 토큰에서 지키면 되지만, 갈림길은 엔트로피가 아니라 결말의 흔들림으로 정해지므로 엔트로피가 낮은 숨은 갈림길은 따로 찾아야 한다. 목적함수 바깥에서는 생성 엔진과 학습 엔진의 확률 차이가 학습을 조용히 오프폴리시로 만들어, 정밀도와 라우팅까지 알고리즘의 일부가 되었다. 이 부품들을 모은 레시피에서 GRPO 원형의 부품은 그룹 베이스라인 말고는 거의 남지 않았고, 어느 레시피가 나은지는 작은 실험의 순위가 아니라 계산량 곡선의 천장으로 가린다.