Author
Shih-Yang Liu1, Xin Dong*, Ximing Lu, Shizhe Diao, Peter Belcak, Mingjie Liu, Min-Hung Chen,
Hongxu Yin, Yu-Chiang Frank Wang, Kwang-Ting Cheng1, Yejin Choi, Jan Kautz, Pavlo
Molchanov
Abstract
언어 모델의 성능이 점점 향상됨에 따라, 사용자들은 단순히 정확한 답변뿐만 아니라 다양한 상황에서 인간의 선호에 부합하는 행동까지 기대하게 되었다. 이를 위해 강화학습(RL) 파이프라인은 원하는 행동을 유도하기 위해 각각 서로 다른 선호를 반영하는 여러 개의 보상(reward)을 활용하기 시작했다.
그러나 최근 연구들은 다중 보상(multi-reward) 환경에서도 Group Relative Policy Optimization (GRPO) 를 기본적으로 적용해 왔으며, 이러한 방식이 적절한지에 대한 검토는 충분히 이루어지지 않았다.
본 논문에서는 서로 다른 롤아웃(rollout)의 보상 조합을 정규화(normalization)하기 위해 GRPO를 직접 적용할 경우, 서로 구별되어야 할 보상 정보가 동일한 advantage 값으로 붕괴(collapse)되는 문제가 발생함을 보인다. 이로 인해 학습 신호(training signal)의 해상도가 감소하고, 최적이 아닌 수렴(suboptimal convergence)이 일어나며, 경우에 따라서는 학습이 조기에 실패하기도 한다.
이 문제를 해결하기 위해 우리는 Group reward-Decoupled Normalization Policy Optimization (GDPO) 라는 새로운 정책 최적화 방법을 제안한다. GDPO는 개별 보상들의 정규화를 분리(decouple)하여 수행함으로써 각 보상 간의 상대적인 차이를 더욱 충실하게 보존하고, 보다 정확한 다중 보상 최적화를 가능하게 한다. 또한 학습 안정성도 크게 향상된다.
우리는 도구 호출(tool calling), 수학 추론(math reasoning), 그리고 코드 추론(coding reasoning)의 세 가지 작업에서 GDPO와 GRPO를 비교 평가하였다. 평가 지표로는 정확도(accuracy), 버그 비율(bug ratio)과 같은 정답성(correctness) 지표뿐만 아니라 형식(format), 길이(length)와 같은 제약 준수(constraint adherence) 지표를 사용하였다.
실험 결과, 모든 환경에서 GDPO는 GRPO보다 일관되게 우수한 성능을 보였으며, 이를 통해 GDPO가 다중 보상 강화학습 최적화에 효과적이고 범용적으로 적용 가능한 방법임을 입증하였다.
1. 서론
언어 모델의 성능이 지속적으로 발전함에 따라, 모델의 행동에 대한 기대 수준 또한 높아지고 있다. 사용자는 단순히 정확한 답변을 제공하는 것을 넘어, 다양한 상황에서 폭넓은 인간의 선호에 부합하는 행동을 보이는 모델을 원하고 있다. 이러한 선호는 효율성(efficiency) [1, 2, 3], 안전성(safety) [4], 응답의 일관성과 논리성(response coherence and logic) [5, 6], 성별 편향(gender biases) [7] 등 다양한 목표를 포함한다. 이러한 이질적인 요구사항들을 하나의 모델 안에서 동시에 만족시키는 것은 매우 어려운 과제이다.
강화학습(Reinforcement Learning, RL)은 대규모 언어 모델을 이러한 다양한 인간 선호에 맞게 정렬(alignment)하기 위한 사실상의 표준 학습 파이프라인으로 자리 잡았다. 특히 최근의 RL 기반 접근법들은 학습 과정에 여러 개의 보상을 도입하기 시작했는데, 각각의 보상은 서로 다른 인간 선호를 반영하도록 설계되며, 이들이 함께 작동하여 모델을 인간이 선호하는 행동으로 유도한다.
그러나 다중 보상 강화학습(multi-reward RL)에 대한 관심이 증가하고 있음에도 불구하고, 최근 연구들[1, 3, 5]은 주로 보상 설계(reward design) 자체에 집중해 왔으며, 다중 보상 RL 최적화를 위해 Group Relative Policy Optimization (GRPO) 를 그대로 적용하는 경우가 많았다. 하지만 GRPO가 서로 다른 성격의 보상들을 조합하여 최적화하는 데 적합한지에 대해서는 충분히 검토되지 않았다.
본 논문에서는 다중 보상 환경에서 GRPO의 적용 가능성을 재검토한다. 우리는 서로 다른 롤아웃 보상 조합에 대해 GRPO를 직접 적용하여 정규화할 경우, 서로 다른 보상 조합이 동일한 advantage 값으로 붕괴될 수 있음을 보인다. 이는 그림 2(Fig. 2)에 나타나 있다. 이러한 붕괴 현상은 보상 차원 간의 중요한 구별 정보를 제거하여 학습 신호의 정밀도를 떨어뜨리고, 결과적으로 부정확한 정책 업데이트, 비최적 수렴(suboptimal reward convergence), 그리고 많은 경우 학습의 조기 실패를 초래한다.
이러한 문제를 해결하기 위해 우리는 Group reward-Decoupled Normalization Policy Optimization (GDPO) 를 제안한다. GDPO는 그림 1a와 같이 각 개별 보상에 대해 그룹 단위 정규화를 독립적으로 수행함으로써, 서로 다른 보상 조합 간의 차이를 보다 잘 보존하고 모델 응답 간 상대적 차이를 더욱 정확하게 반영한다. 이를 통해 보다 정밀한 다중 보상 최적화와 현저히 향상된 학습 수렴 성능을 달성할 수 있다.
또한 이러한 분리된 그룹 정규화(decoupled group-wise normalization) 이후에는 배치 단위 advantage 정규화(batch-wise advantage normalization)를 적용한다. 이를 통해 개별 보상의 수가 증가하더라도 advantage의 크기가 과도하게 커지는 것을 방지한다.
우리는 GDPO와 GRPO를 다음 세 가지 과제에서 비교하였다.
- 도구 호출(tool calling)
- 수학 추론(math reasoning)
- 코드 추론(code reasoning)
이러한 과제들은 다음과 같은 다양한 목표를 포함한다.
- 도구 호출 정확도 및 형식 준수(format correctness)
- 수학 추론 정확도 및 추론 길이 제한 준수
- 코드 통과율(pass rate) 및 버그 비율(bug ratio)
모든 과제에서 GDPO는 더 우수한 수렴 성능을 보였다. 예를 들어 그림 1b에서는 도구 호출 과제에서 Qwen2.5-1.5B-Instruct를 GDPO로 학습시켰을 때, GRPO보다 더 높은 정답률(correctness)과 형식 준수율(format compliance)을 동시에 달성하였다.
또한 난도가 높은 수학 문제에서도 GDPO는 일관되게 GRPO를 능가하였다. 예를 들어 DeepSeek-R1-1.5B와 Qwen3-4B-Instruct를 GDPO로 학습한 경우, AIME 벤치마크에서 각각 최대 6.3% 및 2.3% 더 높은 정확도를 기록했으며, 동시에 더 짧은 응답을 생성하는 데에도 성공하였다.
이러한 결과들은 GDPO의 효과성과 범용성을 보여주며, 다중 보상 강화학습 최적화에서 GRPO보다 더 우수한 대안임을 입증한다.
주요 기여
-
GRPO 보상 붕괴 현상 분석
- 다중 보상 RL 최적화에 GRPO를 단순 적용할 경우, 서로 다른 롤아웃 보상 조합이 동일한 advantage 값으로 붕괴될 수 있음을 보였다.
- 이로 인해 학습 신호의 해상도와 표현력이 감소함을 분석하였다.
-
GRPO 보상 붕괴 문제 해결
- 각 보상에 대해 독립적인 그룹 단위 정규화를 수행하는 GDPO를 제안하였다.
- 이를 통해 서로 다른 보상 간의 구별 정보를 더 잘 유지하고 보다 정확한 다중 보상 최적화를 가능하게 하였다.
-
보상 함수 및 가중치 설계 가이드 제공
- GDPO뿐 아니라, 서로 다른 중요도를 갖는 선호를 보다 충실하게 반영하기 위해 보상 함수를 수정하고 보상 가중치를 조정하는 방법을 체계적으로 정리하였다.
-
광범위한 실험 수행
- 도구 호출, 수학 추론, 코드 추론의 세 가지 과제에서 실험을 수행하였다.
- 정확도, 형식 준수, 길이 제약, 코드 품질 등 다양한 보상을 대상으로 GDPO의 성능을 평가하였다.
- 모든 실험 환경에서 GDPO는 GRPO보다 우수한 학습 수렴 성능과 다운스트림 성능을 보였으며, 다양한 인간 선호를 더 잘 반영하는 결과를 달성하였다.
2. 다중 보상 강화학습에서 GRPO의 보상 신호 붕괴 경향
최근 Group Relative Policy Optimization (GRPO) [8]와 그 변형인 DAPO [9], Reinforce++-Baseline [10]은 효율성과 단순성 덕분에 널리 사용되는 강화학습 알고리즘으로 자리 잡았다. 기존의 Proximal Policy Optimization (PPO) [11]와 달리, GRPO는 정책 업데이트 시 가치 모델(value model)을 사용하지 않고, 그룹 상대적 advantage 추정(group-relative advantage estimation)을 활용함으로써 가치 모델의 필요성을 제거한다.
현재 GRPO는 주로 정확도(accuracy)와 같은 단일 목표 보상을 최적화하는 데 사용되어 왔다. 그러나 모델의 성능이 향상됨에 따라 최근 연구들은 정확도뿐만 아니라 응답 길이 제약(response length constraint), 출력 형식 품질(formatting quality) 등 다양한 보상을 함께 최적화하려는 시도를 하고 있다[1, 12, 3]. 이는 모델을 인간의 선호에 더욱 잘 맞추기 위한 목적이다.
기존의 다중 보상 RL 접근법들은 일반적으로 매우 단순한 전략을 사용한다. 즉, 모든 보상 항목을 합산한 뒤 GRPO를 그대로 적용한다.
다중 보상 GRPO의 수식
질문-응답 쌍 $(q_i,o_j)$가 주어졌다고 하자.
행동 정책(behavior policy) $\pi_{\theta_{old}}$가 하나의 질문에 대해 $G$개의 응답을 생성한다고 하면,
${o_j}_{j=1}^{G}$
그리고 총 $n$개의 보상 목표가 있다고 가정하면, $j$번째 응답의 총 보상은 다음과 같이 계산된다.
$r^{(i,j)}_{sum}=r^{(i,j)}_1+\cdots+r^{(i,j)}_n$
즉, 모든 보상을 단순히 더한다.
이후 GRPO는 그룹 내 총 보상에 대해 정규화를 수행하여 advantage를 계산한다.
$A^{(i,j)}{sum}=\frac{r^{(i,j)}{sum}-mean(r^{(i,1)}{sum},\ldots,r^{(i,G)}{sum})}{std(r^{(i,1)}{sum},\ldots,r^{(i,G)}{sum})}$
즉, (보상 − 그룹 평균) ÷ 그룹 표준편차 형태의 z-score 정규화를 사용한다.
이를 이용한 다중 보상 GRPO 목적 함수는
$J_{GRPO}(\theta)=E\left[\frac{1}{G}\sum_{j=1}^{G}\sum_t\min\Big(s_{i,t}(\theta)A^{(i,j)}{sum},clip(s{i,t}(\theta),1-\epsilon,1+\epsilon)A^{(i,j)}_{sum}\Big)\right]$
이다.
여기서
$s_t(\theta)=\frac{\pi_\theta(o_j^t|q,o_j^{<t})}{\pi_{\theta_{old}}(o_j^t|q,o_j^{<t})}$
는 policy ratio이며, $\epsilon$은 clipping threshold를 의미한다.
다음과 같은 매우 단순한 환경을 생각해보자.
- 질문당 rollout 수 = 2
- 보상 종류 = 2개
- 각 보상은 binary
$r_1,r_2\in{0,1}$
따라서 총 보상은
$0,1,2$
중 하나가 된다.
가능한 rollout 보상 조합은
$(0,0)$
$(0,1)$
$(0,2)$
$(1,1)$
$(1,2)$
$(2,2)$
이다.
하지만 GRPO 정규화를 수행하면
$(0,1)$, $(0,2)$, $(1,2)$
모두 동일하게
$(-0.7071,0.7071)$
의 advantage를 얻는다.
반면
$(0,0)$, $(1,1)$, $(2,2)$
는 모두
$(0,0)$
을 얻는다.
Dr.GRPO와 DeepSeek-v3.2는
원래
$A=\frac{r-\mu}{\sigma}$
를
$A=r-\mu$
로 변경한다.
이 경우
$(0,1)\rightarrow(-0.5,0.5)$
$(0,2)\rightarrow(-1.0,1.0)$
가 되어 두 경우를 구별할 수 있게 된다.
하지만 rollout 수나 reward 수가 증가하면 여전히 많은 reward 조합들이 동일한 advantage 값으로 매핑되므로 reward collapse 문제는 근본적으로 해결되지 않는다.
핵심은 GRPO의 advantage가 "절대적인 reward 값"이 아니라 "그룹 내 상대적인 위치"만 본다는 점입니다.
하나씩 계산해 보겠습니다.
경우 1: (0,1)
두 rollout의 총 reward가 각각 0, 1입니다.
평균은
mean = (0 + 1) / 2 = 0.5
표준편차는
std = sqrt(((0-0.5)^2 + (1-0.5)^2)/2)
= sqrt((0.25 + 0.25)/2)
= sqrt(0.25)
= 0.5
따라서 advantage는
첫 번째 rollout:
(0 - 0.5)/0.5 = -1
두 번째 rollout:
(1 - 0.5)/0.5 = 1
즉 (−1, 1)이 됩니다.
경우 2: (0,2)
이번에는 reward가 0, 2입니다.
평균은
mean = (0 + 2)/2 = 1
표준편차는
std = sqrt(((0-1)^2 + (2-1)^2)/2)
= sqrt((1+1)/2)
= 1
advantage는
첫 번째 rollout:
(0-1)/1 = -1
두 번째 rollout:
(2-1)/1 = 1
결과는 또
(-1, 1)
입니다.
경우 3: (1,2)
평균:
mean = 1.5
표준편차:
std = 0.5
advantage:
첫 번째 rollout:
(1-1.5)/0.5 = -1
두 번째 rollout:
(2-1.5)/0.5 = 1
역시
(-1, 1)
입니다.
왜 이런 일이 생길까?
2개의 rollout만 있을 때는 사실 수학적으로 항상 그렇습니다.
reward가 (a,b)라고 해봅시다.
평균은
m = (a+b)/2
그러면 첫 번째 rollout의 advantage는
(a-m)/std
인데,
a-m = (a-b)/2
입니다.
표준편차도 계산해보면
std = |a-b|/2
가 됩니다.
따라서
(a-m)/std
= ((a-b)/2) / (|a-b|/2)
= sign(a-b)
즉 값의 크기는 완전히 사라지고 부호만 남습니다.
예를 들어
(0,1)
(0,100)
(3,4)
(1000,1001)
모두 advantage는
(-1,1)
이 됩니다.
논문이 말하는 "collapse"의 의미
원래는
(0,1) : 한 개의 reward만 만족
(0,2) : 두 개의 reward를 모두 만족
이므로 (0,2)가 더 강한 학습 신호를 줘야 합니다.
하지만 GRPO 정규화 후에는
(0,1) → (-1,1)
(0,2) → (-1,1)
으로 완전히 동일해집니다.
즉 정책 입장에서는
"1점 더 좋은 응답"과
"2점 더 좋은 응답"을 구별할 수 없다.
이것이 reward signal collapse입니다.
GDPO의 아이디어는 바로 여기서 나옵니다.
GRPO는 먼저 reward를 합쳐서 (0,2)와 (1,1) 같은 서로 다른 상황을 같은 숫자로 압축해버립니다.
반면 GDPO는 reward마다 따로 정규화합니다.
예를 들어 두 reward가 있다고 하면
r1 = (0,1)
r2 = (0,1)
를 각각 정규화한 뒤 합칩니다.
그러면 "두 reward를 모두 만족한 경우"와 "하나만 만족한 경우"의 차이가 사라지지 않아서 더 풍부한 advantage 신호를 만들 수 있습니다.
3. 방법(Method)
3.1 Group reward-Decoupled Normalization Policy Optimization (GDPO)
앞서 설명한 문제를 해결하기 위해 저자들은 Group reward-Decoupled Normalization Policy Optimization (GDPO) 를 제안한다.
GDPO의 목표는 서로 다른 보상 조합 간의 차이를 더 잘 유지하고, 최종 advantage 계산 시 각 보상 조합의 상대적 차이를 보다 정확하게 반영하는 것이다.
기존 GRPO는 모든 보상을 먼저 합산한 뒤 그룹 정규화를 수행한다. 반면 GDPO는 이 과정을 분리(decouple)한다.
구체적으로 GRPO는:
n개의 reward를 모두 더한다.
- 합산된 reward에 대해 group-wise normalization을 수행한다.
- 최종 advantage를 얻는다.
반면 GDPO는:
- 각 reward를 개별적으로 정규화한다.
- 정규화된 reward advantage들을 합산한다.
- 최종 advantage를 얻는다.
즉, i번째 질문의 j번째 rollout에 대해 각 reward의 advantage를 다음과 같이 계산한다.
첫 번째 reward:
A₁^(i,j) = (r₁^(i,j) - mean(r₁^(i,1), ..., r₁^(i,G))) / std(r₁^(i,1), ..., r₁^(i,G))
두 번째 reward:
A₂^(i,j) = (r₂^(i,j) - mean(r₂^(i,1), ..., r₂^(i,G))) / std(r₂^(i,1), ..., r₂^(i,G))
...
n번째 reward:
Aₙ^(i,j) = (rₙ^(i,j) - mean(rₙ^(i,1), ..., rₙ^(i,G))) / std(rₙ^(i,1), ..., rₙ^(i,G))
(Eq. 4)
그 후 모든 reward advantage를 합산한다.
A_sum^(i,j) = A₁^(i,j) + ... + Aₙ^(i,j)
(Eq. 5)
그리고 마지막으로 batch 전체에 대해 한 번 더 정규화를 수행한다.
Â_sum^(i,j) = (A_sum^(i,j) - mean_batch(A_sum)) / (std_batch(A_sum) + ε)
(Eq. 6)
여기서:
mean_batch = 현재 batch의 모든 rollout advantage 평균
std_batch = 현재 batch의 모든 rollout advantage 표준편차
ε = numerical stability를 위한 작은 상수
왜 Batch-wise Normalization을 추가하는가?
reward가 많아질수록
A₁ + A₂ + ... + Aₙ
의 크기가 계속 커질 수 있다.
예를 들어:
- reward 2개 → advantage 최대 약 2
- reward 10개 → advantage 최대 약 10
이 되면 학습이 불안정해질 수 있다.
따라서 마지막에 batch-wise normalization을 넣어서 advantage의 scale을 일정하게 유지한다.
논문 부록(Appendix A)에 따르면 이 단계를 제거하면 가끔 학습 수렴 실패(convergence failure)가 발생했다고 한다.
왜 GDPO가 Reward Collapse를 해결하는가?
논문에서 사용한 예시를 다시 보자.
Case 1: (0,1)
두 reward 중 하나만 만족한 경우
예를 들어
r₁=(0,1)
r₂=(0,0)
이라고 하자.
첫 번째 reward만 정규화하면
(-0.7071, 0.7071)
두 번째 reward는 둘 다 동일하므로
(0,0)
최종 advantage는
(-0.7071, 0.7071)
Case 2: (0,2)
두 reward를 모두 만족한 경우
예를 들어
r₁=(0,1)
r₂=(0,1)
이라면
각 reward의 정규화 결과는
(-0.7071, 0.7071)
(-0.7071, 0.7071)
가 된다.
합치면
(-1.4142, 1.4142)
가 된다.
GRPO에서는
(0,1)
과
(0,2)
가 모두 같은
(-1,1)
또는 논문 표현대로
(-0.7071,0.7071)
로 붕괴되었다.
하지만 GDPO에서는
(0,1) -> (-0.7071,0.7071)
(0,2) -> (-1.4142,1.4142)
로 구분된다.
즉,
"reward 하나 만족"
과
"reward 두 개 모두 만족"
을 서로 다른 강도의 학습 신호로 전달할 수 있게 된다.
더 큰 예: rollout이 3개인 경우
GRPO에서
(1,1,1)
이면 모든 rollout reward가 동일하므로
advantage는
(0,0,0)
이 된다.
하지만 실제 reward 구성을 보면
예를 들어
r₁=(1,1,0)
r₂=(0,0,1)
일 수도 있다.
총합은 모두
(1,1,1)
이지만,
reward별로 보면 중요한 차이가 존재한다.
GRPO는 이를 모두 잃어버린다.
GDPO는 reward별 정규화를 수행하므로 이런 차이를 advantage에 반영할 수 있다.
Figure 3 결과
논문은 다음 세 가지 방법을 비교했다.
- GRPO
- GRPO without std
- GDPO
비교 기준은
Distinct Advantage Group Count
즉,
"서로 다른 reward 조합들이 몇 개의 서로 다른 advantage로 표현되는가"
이다.
결과는:
- rollout 수 증가 → GDPO 우세
- reward 수 증가 → GDPO 우세
였다.
즉 GDPO는 훨씬 많은 종류의 advantage를 생성한다.
이는 곧
- reward 정보를 덜 잃고
- 더 풍부한 학습 신호를 제공하며
- 더 정확한 policy update를 수행한다
는 의미다.
3.2 우선순위가 다른 Reward 다루기
지금까지는 모든 reward가 동일하게 중요하다고 가정했다.
하지만 실제 서비스에서는 그렇지 않다.
예를 들면:
- 정확도(accuracy) > 형식(format)
- 안전성(safety) > 길이(length)
처럼 우선순위가 존재한다.
방법 1: Reward Weight 사용
가장 흔한 방법은 가중치를 부여하는 것이다.
r_sum = w₁r₁ + w₂r₂ + ... + wₙrₙ
GDPO에서는
A_sum = w₁A₁ + w₂A₂ + ... + wₙAₙ
(Eq. 7)
으로 계산한다.
문제점
하지만 reward마다 난이도가 크게 다르면 문제가 발생한다.
예를 들어
- 쉬운 reward: format
- 어려운 reward: accuracy
라고 하자.
모델은 보통 쉽게 얻을 수 있는 reward를 선호한다.
따라서
accuracy에 더 큰 weight를 줘도
format reward만 계속 최적화하려고 할 수 있다.
이를 논문에서는 reward hacking의 일종으로 본다.
방법 2: Reward Conditioning
최근 연구들은 더 어려운 reward를 먼저 만족해야 쉬운 reward를 받을 수 있게 만든다.
두 reward rₖ, rₗ에 대해
rₗ ≥ t
이면
rₖ = rₖ
그렇지 않으면
rₖ = 0
(Eq. 8)
이다.
즉,
accuracy가 일정 수준 이상일 때만
format reward를 지급하는 방식이다.
예를 들어:
정확도 reward = r_acc
포맷 reward = r_fmt
threshold = 0.8
이라면
r_acc < 0.8
이면
r_fmt = 0
이다.
따라서 모델은 먼저 accuracy를 높여야만 format reward를 얻을 수 있다.
논문 결과에 따르면 이런 conditioned reward는 단순히 큰 weight를 주는 것보다
- 우선순위가 높은 목표를 더 잘 달성하고
- reward hacking을 방지하며
- 사용자가 원하는 방향으로 모델을 학습시키는 데 더 효과적이었다.
한 줄 요약
GDPO의 핵심은
"reward를 먼저 합치지 말고, reward마다 따로 정규화한 뒤 합쳐라"
이다.
이렇게 하면 GRPO에서 발생하는 reward collapse를 막고, 더 풍부하고 정확한 advantage 신호를 만들어 학습 안정성과 최종 성능을 모두 개선할 수 있다.
4. 실험 (Experiments)
본 장에서는 먼저 GDPO와 GRPO를 Tool Calling 과제에서 비교한다(4.1절). 이 과제에서는 도구 호출 정확성(tool-calling correctness) 과 출력 형식 준수(format compliance) 라는 두 개의 보상을 동시에 최적화한다. 이후 표준편차 정규화 제거 여부에 대한 ablation study를 수행하여 GRPO의 학습 수렴성과 성능을 분석한다.
다음으로 수학 추론(Math Reasoning) 과제에서 정확도와 응답 길이 제약이라는 서로 경쟁하는 두 보상을 최적화하며 GDPO와 GRPO를 비교한다(4.2절). 또한 보상 간 중요도가 다를 때, reward weight 조정과 reward function 수정이 실제 선호(priority)를 얼마나 잘 반영하는지 분석한다.
마지막으로 코딩 추론(Coding Reasoning) 과제에서는 최적화해야 할 reward 수를 3개까지 늘려, 코드 정확도, 길이 제약, 버그 비율을 동시에 최적화하는 환경에서도 GDPO가 효과적인지 평가한다.
4.1 Tool Calling
GDPO와 GRPO를 ToolRL 설정에 따라 비교하였다.
모델은 reasoning 과정에서 외부 도구(tool)를 호출하여 문제를 해결해야 하며, 출력은 다음 구조를 따라야 한다.
- reasoning →
<think></think>
- tool call →
<tool_call></tool_call>
- 최종 응답 →
<response></response>
학습 데이터는 다음으로 구성된다.
- ToolACE 2k
- Hammar 1k
- xLAM 1k
총 4k 샘플이다.
사용한 Reward
Format Reward
R_format ∈ {0,1}
모델 출력이 지정된 형식을 만족하는지 검사한다.
예를 들면:
- think 태그 존재
- tool_call 태그 존재
- response 태그 존재
- 순서가 올바름
등을 확인한다.
Correctness Reward
R_correct ∈ [-3,3]
생성된 tool call이 정답 tool call과 얼마나 일치하는지 평가한다.
평가 기준:
- Tool 이름 일치
- Parameter 이름 일치
- Parameter 값 일치
학습 설정
사용 모델:
- Qwen2.5-Instruct-1.5B
- Qwen2.5-Instruct-3B
학습 설정:
- rollout = 4
- batch size = 512
- max length = 1024
- training step = 100
결과
Figure 4에 따르면 GDPO는
- correctness reward
- format reward
모두에서 더 높은 값으로 수렴한다.
특히 correctness reward는
- 초기 학습 속도도 더 빠르고
- 최종 reward도 더 높다.
즉 GDPO가 더 정확한 advantage estimation을 제공함을 보여준다.
BFCL-v3 평가
GDPO는 GRPO 대비:
Qwen2.5-1.5B 기준
- 평균 정확도 약 +2.7%
- format accuracy 약 +4%
향상되었다.
3B 모델에서도 모든 평가 항목에서 GRPO를 능가하였다.
4.1.1 표준편차 제거가 도움이 되는가?
앞서 설명했듯이
GRPO:
A = (r - mean)/std
GRPO w/o std:
A = r - mean
이다.
Figure 3에서는 advantage diversity가 약간 증가하는 것처럼 보였다.
그러나 실제 결과는 그렇지 않았다.
학습 곡선
GRPO w/o std는
- correctness reward는 GDPO 수준까지 올라감
하지만
- format reward는 거의 학습하지 못함
을 확인하였다.
BFCL-v3 결과
놀랍게도
Correct Format Ratio가
0%
였다.
즉 모델이 요구된 출력 포맷을 전혀 배우지 못했다.
결론
단순히 std normalization을 제거하는 것은
- advantage diversity는 약간 늘릴 수 있지만
- 학습 불안정성을 초래할 수 있으며
- multi-reward RL 문제를 해결하지 못한다.
4.2 Mathematical Reasoning
이번에는
- 정확도(correctness)
- 길이 제약(length constraint)
이라는 두 개의 경쟁 reward를 사용한다.
목표:
수학 문제를 정확하게 풀면서도 응답 길이는 짧게 유지
하는 것이다.
학습 모델
- DeepSeek-R1-1.5B
- DeepSeek-R1-7B
- Qwen3-4B-Instruct
데이터:
- DeepScaleR-Preview
- 수학 문제 40k개
학습:
- 500 step
- rollout = 16
- batch size = 512
- max length = 8000
Length Reward
R_length ∈ {0,1}
응답 길이가 4000 token 이하이면
R_length = 1
아니면
R_length = 0
이다.
Correctness Reward
R_correct ∈ {0,1}
최종 답이 정답과 일치하는지 여부이다.
Figure 5 분석
흥미로운 현상이 나타난다.
모델은 어떤 방법을 쓰든
먼저 쉬운 reward를 최적화한다.
이 경우 쉬운 reward는
Length Reward
이다.
학습 초기에
- Length Reward ↑
- Correctness Reward ↓
가 발생한다.
즉 모델은
"정답 맞추기"
보다
"짧게 쓰기"
를 먼저 배우고 있다.
GDPO의 차이
초기에는 둘 다 correctness가 떨어지지만
GDPO는 이후 다시 correctness를 회복한다.
반면 GRPO는
약 400 step 이후
correctness reward가 계속 감소한다.
논문은 이를 training instability로 해석한다.
또한 batch 내 최대 응답 길이를 보면
GRPO:
GDPO:
즉 길이 제약도 GDPO가 더 잘 지킨다.
벤치마크 결과
평가:
- MATH
- AIME
- AMC
- Minerva
- Olympiad Bench
GDPO는
를 동시에 달성한다.
예를 들어 DeepSeek-R1-1.5B에서는
AIME 정확도가
약 +6.3%
증가하였다.
4.2.1 Reward Priority 분석
앞서 확인했듯이
모델은 쉬운 reward를 먼저 최적화한다.
그렇다면
Accuracy를 Length보다 더 중요하게 만들려면?
이라는 질문이 생긴다.
방법 1: Weight 조정
정확도 weight를
w_correct = 1
로 고정하고
길이 reward weight를
w_length ∈ {0.25, 0.5, 0.75, 1.0}
로 바꾸었다.
결과:
weight를 줄여도
길이 초과율이 거의 변하지 않았다.
즉
단순 weight 조정만으로는
priority를 제대로 반영하기 어렵다.
방법 2: Conditioned Reward
길이 reward를 다음처럼 수정하였다.
R̃_length = 1
if
- response length ≤ l
- AND
R_correct = 1
otherwise 0
즉
정답을 맞춘 경우에만
길이 reward를 준다.
이 방식의 효과:
- 모델이 길이 reward를 과도하게 추구하지 않음
- correctness reward가 크게 감소하지 않음
- priority alignment 개선
특히 GDPO는
AIME에서
- 정확도 +4.4%
- 길이 초과율 16.9% 감소
를 달성하였다.
4.3 Coding Reasoning
마지막으로 reward를 3개까지 늘린다.
사용 reward:
- Pass Rate
- Conditioned Length
- Bug Reward
Pass Rate Reward
R_pass = passed_test_cases / total_test_cases
즉 통과한 테스트 비율이다.
Conditioned Length Reward
R̃_length = 1
if
- response length ≤ l
R_pass = 1
otherwise 0
Bug Reward
R_bug ∈ {0,1}
컴파일 에러 또는 런타임 에러가 없으면 1이다.
결과
2-objective 설정에서도
GDPO는 모든 benchmark에서 pass rate를 향상시켰다.
예:
CodeContests
Taco
- pass rate +3.3%
- length violation -1%
3-objective 설정에서도
GDPO는
- pass rate 유지
- bug ratio 감소
- length violation 감소
를 동시에 달성하였다.
최종 결론
실험 전체를 통해 논문은 다음을 보여준다.
- GRPO는 multi-reward 환경에서 reward collapse가 발생한다.
- GDPO는 reward별 정규화를 통해 이를 해결한다.
- Tool Calling, Math Reasoning, Coding Reasoning 모두에서 GDPO가 더 좋은 수렴 성능을 보인다.
- reward 수가 2개에서 3개로 늘어나도 GDPO의 장점은 유지된다.
- 단순 reward weight 조정보다 conditioned reward 설계가 priority alignment에 더 효과적이다.
5. 관련 연구 (Related Work)
GRPO 변형 연구 (GRPO Variants)
Group Relative Policy Optimization (GRPO) [32]의 안정성(stability), 성능(effectiveness), 효율성(efficiency)을 향상시키기 위해 다양한 확장 기법들이 제안되었다. 이러한 방법들은 모두 GRPO의 핵심 아이디어를 유지하면서, 그룹 정규화(group-wise normalization)나 정책 업데이트(policy update) 방식을 변형하는 방향으로 발전해왔다.
예를 들어,
GSPO (Group Sequence Policy Optimization) [33]는 학습 안정성을 높이기 위해 importance ratio를 토큰 단위(token-level)가 아닌 시퀀스 전체(sequence likelihood) 기준으로 계산한다. 또한 clipping, reward 계산, 최적화 역시 시퀀스 단위에서 수행한다.
강화학습 성능 향상을 위해 제안된 DAPO (Decoupled Clip and Dynamic sAmpling Policy Optimization) [34]는 다음 네 가지 핵심 기법을 도입하였다.
- Clip-Higher
- Dynamic Sampling
- Token-Level Policy Gradient Loss
- Overlong Reward Shaping
이를 통해 RL 학습 성능을 개선한다.
효율적인 추론(reasoning efficiency)을 위해 제안된 GFPO (Group Filtered Policy Optimization) [35]는 추론 길이 폭증(length explosion) 문제를 해결한다. 학습 시 문제당 더 많은 수의 응답 그룹을 샘플링한 후, 응답 길이와 token당 reward 비율(reward-per-token ratio)을 기준으로 응답을 필터링한다.
비슷한 방향으로 DLER (Doing Length pEnalty Right) [36]은
- batch-wise reward normalization
- 더 높은 clipping threshold
- dynamic sampling
- 단순한 truncation length penalty
를 결합한 학습 방식을 제안하였으며, 정확도와 효율성 사이에서 당시 최고 수준(state-of-the-art)의 성능을 달성하였다.
다중 보상 강화학습 (Multi-Reward Reinforcement Learning)
최근에는 여러 reward를 동시에 활용하는 강화학습 연구가 활발하게 진행되고 있다.
가장 대표적인 목적은 다양한 인간 선호(human preferences)를 모델링하는 것이다.
예를 들어,
Safe Reinforcement Learning from Human Feedback [37]는
- 도움됨(helpfulness)
- 무해성(harmlessness)
이라는 서로 다른 인간 선호를 분리(decouple)하여 모델링하고, fine-tuning 과정에서 두 목표의 균형을 동적으로 조정한다.
비슷하게,
RLPHF (Reinforcement Learning from Personalized Human Feedback) [38]는 여러 개의(때로는 서로 충돌하는) 선호를 처리하기 위해 각 선호마다 별도의 정책 모델(policy model)을 학습하고, 추론 시 이를 결합한다.
또한,
ALARM (Align Language Models via Hierarchical Rewards) [39]은 계층적(hierarchical) reward 구조를 도입하여 다음과 같은 여러 차원을 동시에 반영한다.
- 응답 품질(response quality)
- 스타일(style)
- 공정성(fairness)
- 일관성(coherence)
최근 대형 언어 모델에서도 다중 reward 최적화가 적극 활용되고 있다.
예를 들어,
DeepSeek V3.2 [40]는
- 규칙 기반 결과 reward(rule-based outcome reward)
- 길이 패널티(length penalty)
- 언어 일관성 reward(language consistency reward)
를 함께 사용하여 추론 능력과 에이전트(agentic) 능력을 향상시킨다.
다중 reward RL의 또 다른 중요한 응용 분야는
성능은 유지하면서 추론 효율성을 높이는 것
이다.
이를 위해 대부분 결과 기반 reward(outcome reward)와 함께 길이 기반 reward(length-based reward)를 사용한다.
예를 들어,
O1-Pruner [41]와 [42]는 정규화된 길이 패널티(normalized length penalty)를 사용하여 비례적인 압축(proportional compression)을 유도한다.
또한 [43]은 샘플링된 그룹 내에서 가장 짧은 정답 응답(shortest correct response)을 기준으로 길어질수록 패널티를 부여하여 간결성(conciseness)을 장려한다.
L1 [44]은
LCPO (Length Controlled Policy Optimization) 를 제안하여 정확도를 유지하면서 응답 길이가 특정 목표 길이를 초과하지 않도록 학습한다.
마지막으로 [45]는 모델 성능에 따라
사이의 trade-off를 동적으로 조정하는 adaptive reward shaping 기법을 제안하였다.
6. 결론 (Conclusion)
기존 연구들은 주로
"어떤 reward를 설계할 것인가"
에 집중하면서, GRPO를 다중 보상 강화학습의 기본 최적화 알고리즘으로 가정해 왔다.
그러나 본 연구는 보다 근본적인 질문을 제기한다.
"GRPO가 실제로 다중 보상 최적화에 적합한가?"
저자들의 분석 결과,
GRPO를 다중 reward의 단순 합(sum reward)에 직접 적용하면 서로 다른 reward 조합들이 동일한 advantage 값으로 붕괴(collapse)될 수 있음이 밝혀졌다.
이러한 붕괴 현상은
- reward 차원 간 중요한 차이를 제거하고
- 부정확한 policy update를 유발하며
- 최적화 성능을 저하시킨다.
더 나아가 많은 경우
- 학습이 조기에 붕괴(early training failure)
되는 현상까지 발생할 수 있다.
이 문제를 해결하기 위해 저자들은
GDPO (Group-wise Decoupled Policy Optimization)
를 제안하였다.
GDPO는 다중 보상 RL을 위해 특별히 설계된 간단하면서도 효과적인 GRPO 수정 방법이다.
GDPO의 핵심 아이디어는 다음과 같다.
- 각 reward를 개별적으로 정규화한다.
- reward 간 차이를 보존한다.
- 이후 reward advantage를 합산한다.
- batch-wise advantage normalization을 적용한다.
이를 통해 reward 수가 증가하더라도 advantage의 수치 범위를 안정적으로 유지할 수 있다.
실험 결과 GDPO는
- 더 안정적인 학습 곡선
- 더 우수한 수렴 성능
- 사용자가 의도한 선호 구조를 더 정확히 반영하는 행동
을 보여주었다.
또한 논문은
인간 선호(priority)를 RL에 반영하는 방법에 대해서도 체계적으로 분석하였다.
특히 reward 난이도 차이가 큰 경우
- reward weight 조정만으로는 충분하지 않으며
- conditioned reward 설계가 더 효과적임
을 보여주었다.
Tool Calling, Math Reasoning, Coding Reasoning에 대한 광범위한 실험을 통해 GDPO는 GRPO보다 일관되게 우수한 성능을 보였다.
이러한 장점은
- reward 개수가 달라져도
- 모델 종류가 달라져도
- reward 함수가 달라져도
유지되었다.
최종 결론
본 논문의 결과는 GDPO가 다중 보상 강화학습에서 GRPO보다
- 더 안정적(stable)
- 더 정확하며(accurate)
- 인간 선호를 더 잘 반영하는(preference-aligned)
최적화 방법임을 보여준다.
따라서 GDPO는 실제 환경에서 언어 모델을 다양한 인간 선호에 맞게 정렬(alignment)하기 위한 강력한 기반(framework)이 될 수 있음을 시사한다.
Author
Shih-Yang Liu1, Xin Dong*, Ximing Lu, Shizhe Diao, Peter Belcak, Mingjie Liu, Min-Hung Chen,
Hongxu Yin, Yu-Chiang Frank Wang, Kwang-Ting Cheng1, Yejin Choi, Jan Kautz, Pavlo
Molchanov
Abstract
언어 모델의 성능이 점점 향상됨에 따라, 사용자들은 단순히 정확한 답변뿐만 아니라 다양한 상황에서 인간의 선호에 부합하는 행동까지 기대하게 되었다. 이를 위해 강화학습(RL) 파이프라인은 원하는 행동을 유도하기 위해 각각 서로 다른 선호를 반영하는 여러 개의 보상(reward)을 활용하기 시작했다.
그러나 최근 연구들은 다중 보상(multi-reward) 환경에서도 Group Relative Policy Optimization (GRPO) 를 기본적으로 적용해 왔으며, 이러한 방식이 적절한지에 대한 검토는 충분히 이루어지지 않았다.
본 논문에서는 서로 다른 롤아웃(rollout)의 보상 조합을 정규화(normalization)하기 위해 GRPO를 직접 적용할 경우, 서로 구별되어야 할 보상 정보가 동일한 advantage 값으로 붕괴(collapse)되는 문제가 발생함을 보인다. 이로 인해 학습 신호(training signal)의 해상도가 감소하고, 최적이 아닌 수렴(suboptimal convergence)이 일어나며, 경우에 따라서는 학습이 조기에 실패하기도 한다.
이 문제를 해결하기 위해 우리는 Group reward-Decoupled Normalization Policy Optimization (GDPO) 라는 새로운 정책 최적화 방법을 제안한다. GDPO는 개별 보상들의 정규화를 분리(decouple)하여 수행함으로써 각 보상 간의 상대적인 차이를 더욱 충실하게 보존하고, 보다 정확한 다중 보상 최적화를 가능하게 한다. 또한 학습 안정성도 크게 향상된다.
우리는 도구 호출(tool calling), 수학 추론(math reasoning), 그리고 코드 추론(coding reasoning)의 세 가지 작업에서 GDPO와 GRPO를 비교 평가하였다. 평가 지표로는 정확도(accuracy), 버그 비율(bug ratio)과 같은 정답성(correctness) 지표뿐만 아니라 형식(format), 길이(length)와 같은 제약 준수(constraint adherence) 지표를 사용하였다.
실험 결과, 모든 환경에서 GDPO는 GRPO보다 일관되게 우수한 성능을 보였으며, 이를 통해 GDPO가 다중 보상 강화학습 최적화에 효과적이고 범용적으로 적용 가능한 방법임을 입증하였다.
1. 서론
언어 모델의 성능이 지속적으로 발전함에 따라, 모델의 행동에 대한 기대 수준 또한 높아지고 있다. 사용자는 단순히 정확한 답변을 제공하는 것을 넘어, 다양한 상황에서 폭넓은 인간의 선호에 부합하는 행동을 보이는 모델을 원하고 있다. 이러한 선호는 효율성(efficiency) [1, 2, 3], 안전성(safety) [4], 응답의 일관성과 논리성(response coherence and logic) [5, 6], 성별 편향(gender biases) [7] 등 다양한 목표를 포함한다. 이러한 이질적인 요구사항들을 하나의 모델 안에서 동시에 만족시키는 것은 매우 어려운 과제이다.
강화학습(Reinforcement Learning, RL)은 대규모 언어 모델을 이러한 다양한 인간 선호에 맞게 정렬(alignment)하기 위한 사실상의 표준 학습 파이프라인으로 자리 잡았다. 특히 최근의 RL 기반 접근법들은 학습 과정에 여러 개의 보상을 도입하기 시작했는데, 각각의 보상은 서로 다른 인간 선호를 반영하도록 설계되며, 이들이 함께 작동하여 모델을 인간이 선호하는 행동으로 유도한다.
그러나 다중 보상 강화학습(multi-reward RL)에 대한 관심이 증가하고 있음에도 불구하고, 최근 연구들[1, 3, 5]은 주로 보상 설계(reward design) 자체에 집중해 왔으며, 다중 보상 RL 최적화를 위해 Group Relative Policy Optimization (GRPO) 를 그대로 적용하는 경우가 많았다. 하지만 GRPO가 서로 다른 성격의 보상들을 조합하여 최적화하는 데 적합한지에 대해서는 충분히 검토되지 않았다.
본 논문에서는 다중 보상 환경에서 GRPO의 적용 가능성을 재검토한다. 우리는 서로 다른 롤아웃 보상 조합에 대해 GRPO를 직접 적용하여 정규화할 경우, 서로 다른 보상 조합이 동일한 advantage 값으로 붕괴될 수 있음을 보인다. 이는 그림 2(Fig. 2)에 나타나 있다. 이러한 붕괴 현상은 보상 차원 간의 중요한 구별 정보를 제거하여 학습 신호의 정밀도를 떨어뜨리고, 결과적으로 부정확한 정책 업데이트, 비최적 수렴(suboptimal reward convergence), 그리고 많은 경우 학습의 조기 실패를 초래한다.
이러한 문제를 해결하기 위해 우리는 Group reward-Decoupled Normalization Policy Optimization (GDPO) 를 제안한다. GDPO는 그림 1a와 같이 각 개별 보상에 대해 그룹 단위 정규화를 독립적으로 수행함으로써, 서로 다른 보상 조합 간의 차이를 보다 잘 보존하고 모델 응답 간 상대적 차이를 더욱 정확하게 반영한다. 이를 통해 보다 정밀한 다중 보상 최적화와 현저히 향상된 학습 수렴 성능을 달성할 수 있다.
또한 이러한 분리된 그룹 정규화(decoupled group-wise normalization) 이후에는 배치 단위 advantage 정규화(batch-wise advantage normalization)를 적용한다. 이를 통해 개별 보상의 수가 증가하더라도 advantage의 크기가 과도하게 커지는 것을 방지한다.
우리는 GDPO와 GRPO를 다음 세 가지 과제에서 비교하였다.
이러한 과제들은 다음과 같은 다양한 목표를 포함한다.
모든 과제에서 GDPO는 더 우수한 수렴 성능을 보였다. 예를 들어 그림 1b에서는 도구 호출 과제에서 Qwen2.5-1.5B-Instruct를 GDPO로 학습시켰을 때, GRPO보다 더 높은 정답률(correctness)과 형식 준수율(format compliance)을 동시에 달성하였다.
또한 난도가 높은 수학 문제에서도 GDPO는 일관되게 GRPO를 능가하였다. 예를 들어 DeepSeek-R1-1.5B와 Qwen3-4B-Instruct를 GDPO로 학습한 경우, AIME 벤치마크에서 각각 최대 6.3% 및 2.3% 더 높은 정확도를 기록했으며, 동시에 더 짧은 응답을 생성하는 데에도 성공하였다.
이러한 결과들은 GDPO의 효과성과 범용성을 보여주며, 다중 보상 강화학습 최적화에서 GRPO보다 더 우수한 대안임을 입증한다.
주요 기여
GRPO 보상 붕괴 현상 분석
GRPO 보상 붕괴 문제 해결
보상 함수 및 가중치 설계 가이드 제공
광범위한 실험 수행
2. 다중 보상 강화학습에서 GRPO의 보상 신호 붕괴 경향
최근 Group Relative Policy Optimization (GRPO) [8]와 그 변형인 DAPO [9], Reinforce++-Baseline [10]은 효율성과 단순성 덕분에 널리 사용되는 강화학습 알고리즘으로 자리 잡았다. 기존의 Proximal Policy Optimization (PPO) [11]와 달리, GRPO는 정책 업데이트 시 가치 모델(value model)을 사용하지 않고, 그룹 상대적 advantage 추정(group-relative advantage estimation)을 활용함으로써 가치 모델의 필요성을 제거한다.
현재 GRPO는 주로 정확도(accuracy)와 같은 단일 목표 보상을 최적화하는 데 사용되어 왔다. 그러나 모델의 성능이 향상됨에 따라 최근 연구들은 정확도뿐만 아니라 응답 길이 제약(response length constraint), 출력 형식 품질(formatting quality) 등 다양한 보상을 함께 최적화하려는 시도를 하고 있다[1, 12, 3]. 이는 모델을 인간의 선호에 더욱 잘 맞추기 위한 목적이다.
기존의 다중 보상 RL 접근법들은 일반적으로 매우 단순한 전략을 사용한다. 즉, 모든 보상 항목을 합산한 뒤 GRPO를 그대로 적용한다.
다중 보상 GRPO의 수식
질문-응답 쌍$(q_i,o_j)$ 가 주어졌다고 하자.
행동 정책(behavior policy)$\pi_{\theta_{old}}$ 가 하나의 질문에 대해 $G$ 개의 응답을 생성한다고 하면,
그리고 총$n$ 개의 보상 목표가 있다고 가정하면, $j$ 번째 응답의 총 보상은 다음과 같이 계산된다.
즉, 모든 보상을 단순히 더한다.
이후 GRPO는 그룹 내 총 보상에 대해 정규화를 수행하여 advantage를 계산한다.
$A^{(i,j)}{sum}=\frac{r^{(i,j)}{sum}-mean(r^{(i,1)}{sum},\ldots,r^{(i,G)}{sum})}{std(r^{(i,1)}{sum},\ldots,r^{(i,G)}{sum})}$
즉, (보상 − 그룹 평균) ÷ 그룹 표준편차 형태의 z-score 정규화를 사용한다.
이를 이용한 다중 보상 GRPO 목적 함수는
$J_{GRPO}(\theta)=E\left[\frac{1}{G}\sum_{j=1}^{G}\sum_t\min\Big(s_{i,t}(\theta)A^{(i,j)}{sum},clip(s{i,t}(\theta),1-\epsilon,1+\epsilon)A^{(i,j)}_{sum}\Big)\right]$
이다.
여기서
는 policy ratio이며,$\epsilon$ 은 clipping threshold를 의미한다.
다음과 같은 매우 단순한 환경을 생각해보자.
따라서 총 보상은
중 하나가 된다.
가능한 rollout 보상 조합은
이다.
하지만 GRPO 정규화를 수행하면
모두 동일하게
의 advantage를 얻는다.
반면
는 모두
을 얻는다.
Dr.GRPO와 DeepSeek-v3.2는
원래
를
로 변경한다.
이 경우
가 되어 두 경우를 구별할 수 있게 된다.
하지만 rollout 수나 reward 수가 증가하면 여전히 많은 reward 조합들이 동일한 advantage 값으로 매핑되므로 reward collapse 문제는 근본적으로 해결되지 않는다.
핵심은 GRPO의 advantage가 "절대적인 reward 값"이 아니라 "그룹 내 상대적인 위치"만 본다는 점입니다.
하나씩 계산해 보겠습니다.
경우 1:
(0,1)두 rollout의 총 reward가 각각 0, 1입니다.
평균은
mean = (0 + 1) / 2 = 0.5표준편차는
std = sqrt(((0-0.5)^2 + (1-0.5)^2)/2)= sqrt((0.25 + 0.25)/2)= sqrt(0.25)= 0.5따라서 advantage는
첫 번째 rollout:
(0 - 0.5)/0.5 = -1두 번째 rollout:
(1 - 0.5)/0.5 = 1즉
(−1, 1)이 됩니다.경우 2:
(0,2)이번에는 reward가 0, 2입니다.
평균은
mean = (0 + 2)/2 = 1표준편차는
std = sqrt(((0-1)^2 + (2-1)^2)/2)= sqrt((1+1)/2)= 1advantage는
첫 번째 rollout:
(0-1)/1 = -1두 번째 rollout:
(2-1)/1 = 1결과는 또
(-1, 1)입니다.
경우 3:
(1,2)평균:
mean = 1.5표준편차:
std = 0.5advantage:
첫 번째 rollout:
(1-1.5)/0.5 = -1두 번째 rollout:
(2-1.5)/0.5 = 1역시
(-1, 1)입니다.
왜 이런 일이 생길까?
2개의 rollout만 있을 때는 사실 수학적으로 항상 그렇습니다.
reward가
(a,b)라고 해봅시다.평균은
m = (a+b)/2그러면 첫 번째 rollout의 advantage는
(a-m)/std인데,
a-m = (a-b)/2입니다.
표준편차도 계산해보면
std = |a-b|/2가 됩니다.
따라서
(a-m)/std= ((a-b)/2) / (|a-b|/2)= sign(a-b)즉 값의 크기는 완전히 사라지고 부호만 남습니다.
예를 들어
(0,1)(0,100)(3,4)(1000,1001)모두 advantage는
(-1,1)이 됩니다.
논문이 말하는 "collapse"의 의미
원래는
(0,1): 한 개의 reward만 만족(0,2): 두 개의 reward를 모두 만족이므로
(0,2)가 더 강한 학습 신호를 줘야 합니다.하지만 GRPO 정규화 후에는
(0,1) → (-1,1)(0,2) → (-1,1)으로 완전히 동일해집니다.
즉 정책 입장에서는
이것이 reward signal collapse입니다.
GDPO의 아이디어는 바로 여기서 나옵니다.
GRPO는 먼저 reward를 합쳐서
(0,2)와(1,1)같은 서로 다른 상황을 같은 숫자로 압축해버립니다.반면 GDPO는 reward마다 따로 정규화합니다.
예를 들어 두 reward가 있다고 하면
r1 = (0,1)r2 = (0,1)를 각각 정규화한 뒤 합칩니다.
그러면 "두 reward를 모두 만족한 경우"와 "하나만 만족한 경우"의 차이가 사라지지 않아서 더 풍부한 advantage 신호를 만들 수 있습니다.
3. 방법(Method)
3.1 Group reward-Decoupled Normalization Policy Optimization (GDPO)
앞서 설명한 문제를 해결하기 위해 저자들은 Group reward-Decoupled Normalization Policy Optimization (GDPO) 를 제안한다.
GDPO의 목표는 서로 다른 보상 조합 간의 차이를 더 잘 유지하고, 최종 advantage 계산 시 각 보상 조합의 상대적 차이를 보다 정확하게 반영하는 것이다.
기존 GRPO는 모든 보상을 먼저 합산한 뒤 그룹 정규화를 수행한다. 반면 GDPO는 이 과정을 분리(decouple)한다.
구체적으로 GRPO는:
n개의 reward를 모두 더한다.반면 GDPO는:
즉,
i번째 질문의j번째 rollout에 대해 각 reward의 advantage를 다음과 같이 계산한다.첫 번째 reward:
A₁^(i,j) = (r₁^(i,j) - mean(r₁^(i,1), ..., r₁^(i,G))) / std(r₁^(i,1), ..., r₁^(i,G))두 번째 reward:
A₂^(i,j) = (r₂^(i,j) - mean(r₂^(i,1), ..., r₂^(i,G))) / std(r₂^(i,1), ..., r₂^(i,G))...
n번째 reward:
Aₙ^(i,j) = (rₙ^(i,j) - mean(rₙ^(i,1), ..., rₙ^(i,G))) / std(rₙ^(i,1), ..., rₙ^(i,G))(Eq. 4)
그 후 모든 reward advantage를 합산한다.
A_sum^(i,j) = A₁^(i,j) + ... + Aₙ^(i,j)(Eq. 5)
그리고 마지막으로 batch 전체에 대해 한 번 더 정규화를 수행한다.
Â_sum^(i,j) = (A_sum^(i,j) - mean_batch(A_sum)) / (std_batch(A_sum) + ε)(Eq. 6)
여기서:
mean_batch= 현재 batch의 모든 rollout advantage 평균std_batch= 현재 batch의 모든 rollout advantage 표준편차ε= numerical stability를 위한 작은 상수왜 Batch-wise Normalization을 추가하는가?
reward가 많아질수록
A₁ + A₂ + ... + Aₙ의 크기가 계속 커질 수 있다.
예를 들어:
이 되면 학습이 불안정해질 수 있다.
따라서 마지막에 batch-wise normalization을 넣어서 advantage의 scale을 일정하게 유지한다.
논문 부록(Appendix A)에 따르면 이 단계를 제거하면 가끔 학습 수렴 실패(convergence failure)가 발생했다고 한다.
왜 GDPO가 Reward Collapse를 해결하는가?
논문에서 사용한 예시를 다시 보자.
Case 1: (0,1)
두 reward 중 하나만 만족한 경우
예를 들어
r₁=(0,1)r₂=(0,0)이라고 하자.
첫 번째 reward만 정규화하면
(-0.7071, 0.7071)두 번째 reward는 둘 다 동일하므로
(0,0)최종 advantage는
(-0.7071, 0.7071)Case 2: (0,2)
두 reward를 모두 만족한 경우
예를 들어
r₁=(0,1)r₂=(0,1)이라면
각 reward의 정규화 결과는
(-0.7071, 0.7071)(-0.7071, 0.7071)가 된다.
합치면
(-1.4142, 1.4142)가 된다.
GRPO에서는
(0,1)과
(0,2)가 모두 같은
(-1,1)또는 논문 표현대로
(-0.7071,0.7071)로 붕괴되었다.
하지만 GDPO에서는
(0,1) -> (-0.7071,0.7071)(0,2) -> (-1.4142,1.4142)로 구분된다.
즉,
과
을 서로 다른 강도의 학습 신호로 전달할 수 있게 된다.
더 큰 예: rollout이 3개인 경우
GRPO에서
(1,1,1)이면 모든 rollout reward가 동일하므로
advantage는
(0,0,0)이 된다.
하지만 실제 reward 구성을 보면
예를 들어
r₁=(1,1,0)r₂=(0,0,1)일 수도 있다.
총합은 모두
(1,1,1)이지만,
reward별로 보면 중요한 차이가 존재한다.
GRPO는 이를 모두 잃어버린다.
GDPO는 reward별 정규화를 수행하므로 이런 차이를 advantage에 반영할 수 있다.
Figure 3 결과
논문은 다음 세 가지 방법을 비교했다.
비교 기준은
Distinct Advantage Group Count
즉,
"서로 다른 reward 조합들이 몇 개의 서로 다른 advantage로 표현되는가"
이다.
결과는:
였다.
즉 GDPO는 훨씬 많은 종류의 advantage를 생성한다.
이는 곧
는 의미다.
3.2 우선순위가 다른 Reward 다루기
지금까지는 모든 reward가 동일하게 중요하다고 가정했다.
하지만 실제 서비스에서는 그렇지 않다.
예를 들면:
처럼 우선순위가 존재한다.
방법 1: Reward Weight 사용
가장 흔한 방법은 가중치를 부여하는 것이다.
r_sum = w₁r₁ + w₂r₂ + ... + wₙrₙGDPO에서는
A_sum = w₁A₁ + w₂A₂ + ... + wₙAₙ(Eq. 7)
으로 계산한다.
문제점
하지만 reward마다 난이도가 크게 다르면 문제가 발생한다.
예를 들어
라고 하자.
모델은 보통 쉽게 얻을 수 있는 reward를 선호한다.
따라서
accuracy에 더 큰 weight를 줘도
format reward만 계속 최적화하려고 할 수 있다.
이를 논문에서는 reward hacking의 일종으로 본다.
방법 2: Reward Conditioning
최근 연구들은 더 어려운 reward를 먼저 만족해야 쉬운 reward를 받을 수 있게 만든다.
두 reward
rₖ,rₗ에 대해rₗ ≥ t이면
rₖ = rₖ그렇지 않으면
rₖ = 0(Eq. 8)
이다.
즉,
accuracy가 일정 수준 이상일 때만
format reward를 지급하는 방식이다.
예를 들어:
정확도 reward =
r_acc포맷 reward =
r_fmtthreshold = 0.8
이라면
r_acc < 0.8이면
r_fmt = 0이다.
따라서 모델은 먼저 accuracy를 높여야만 format reward를 얻을 수 있다.
논문 결과에 따르면 이런 conditioned reward는 단순히 큰 weight를 주는 것보다
한 줄 요약
GDPO의 핵심은
이다.
이렇게 하면 GRPO에서 발생하는 reward collapse를 막고, 더 풍부하고 정확한 advantage 신호를 만들어 학습 안정성과 최종 성능을 모두 개선할 수 있다.
4. 실험 (Experiments)
본 장에서는 먼저 GDPO와 GRPO를 Tool Calling 과제에서 비교한다(4.1절). 이 과제에서는 도구 호출 정확성(tool-calling correctness) 과 출력 형식 준수(format compliance) 라는 두 개의 보상을 동시에 최적화한다. 이후 표준편차 정규화 제거 여부에 대한 ablation study를 수행하여 GRPO의 학습 수렴성과 성능을 분석한다.
다음으로 수학 추론(Math Reasoning) 과제에서 정확도와 응답 길이 제약이라는 서로 경쟁하는 두 보상을 최적화하며 GDPO와 GRPO를 비교한다(4.2절). 또한 보상 간 중요도가 다를 때, reward weight 조정과 reward function 수정이 실제 선호(priority)를 얼마나 잘 반영하는지 분석한다.
마지막으로 코딩 추론(Coding Reasoning) 과제에서는 최적화해야 할 reward 수를 3개까지 늘려, 코드 정확도, 길이 제약, 버그 비율을 동시에 최적화하는 환경에서도 GDPO가 효과적인지 평가한다.
4.1 Tool Calling
GDPO와 GRPO를 ToolRL 설정에 따라 비교하였다.
모델은 reasoning 과정에서 외부 도구(tool)를 호출하여 문제를 해결해야 하며, 출력은 다음 구조를 따라야 한다.
<think></think><tool_call></tool_call><response></response>학습 데이터는 다음으로 구성된다.
총 4k 샘플이다.
사용한 Reward
Format Reward
R_format ∈ {0,1}모델 출력이 지정된 형식을 만족하는지 검사한다.
예를 들면:
등을 확인한다.
Correctness Reward
R_correct ∈ [-3,3]생성된 tool call이 정답 tool call과 얼마나 일치하는지 평가한다.
평가 기준:
학습 설정
사용 모델:
학습 설정:
결과
Figure 4에 따르면 GDPO는
모두에서 더 높은 값으로 수렴한다.
특히 correctness reward는
즉 GDPO가 더 정확한 advantage estimation을 제공함을 보여준다.
BFCL-v3 평가
GDPO는 GRPO 대비:
Qwen2.5-1.5B 기준
향상되었다.
3B 모델에서도 모든 평가 항목에서 GRPO를 능가하였다.
4.1.1 표준편차 제거가 도움이 되는가?
앞서 설명했듯이
GRPO:
A = (r - mean)/stdGRPO w/o std:
A = r - mean이다.
Figure 3에서는 advantage diversity가 약간 증가하는 것처럼 보였다.
그러나 실제 결과는 그렇지 않았다.
학습 곡선
GRPO w/o std는
하지만
을 확인하였다.
BFCL-v3 결과
놀랍게도
Correct Format Ratio가
0%였다.
즉 모델이 요구된 출력 포맷을 전혀 배우지 못했다.
결론
단순히 std normalization을 제거하는 것은
4.2 Mathematical Reasoning
이번에는
이라는 두 개의 경쟁 reward를 사용한다.
목표:
하는 것이다.
학습 모델
데이터:
학습:
Length Reward
R_length ∈ {0,1}응답 길이가 4000 token 이하이면
R_length = 1아니면
R_length = 0이다.
Correctness Reward
R_correct ∈ {0,1}최종 답이 정답과 일치하는지 여부이다.
Figure 5 분석
흥미로운 현상이 나타난다.
모델은 어떤 방법을 쓰든
먼저 쉬운 reward를 최적화한다.
이 경우 쉬운 reward는
Length Reward
이다.
학습 초기에
가 발생한다.
즉 모델은
"정답 맞추기"
보다
"짧게 쓰기"
를 먼저 배우고 있다.
GDPO의 차이
초기에는 둘 다 correctness가 떨어지지만
GDPO는 이후 다시 correctness를 회복한다.
반면 GRPO는
약 400 step 이후
correctness reward가 계속 감소한다.
논문은 이를 training instability로 해석한다.
또한 batch 내 최대 응답 길이를 보면
GRPO:
GDPO:
즉 길이 제약도 GDPO가 더 잘 지킨다.
벤치마크 결과
평가:
GDPO는
를 동시에 달성한다.
예를 들어 DeepSeek-R1-1.5B에서는
AIME 정확도가
약 +6.3%
증가하였다.
4.2.1 Reward Priority 분석
앞서 확인했듯이
모델은 쉬운 reward를 먼저 최적화한다.
그렇다면
이라는 질문이 생긴다.
방법 1: Weight 조정
정확도 weight를
w_correct = 1로 고정하고
길이 reward weight를
w_length ∈ {0.25, 0.5, 0.75, 1.0}로 바꾸었다.
결과:
weight를 줄여도
길이 초과율이 거의 변하지 않았다.
즉
단순 weight 조정만으로는
priority를 제대로 반영하기 어렵다.
방법 2: Conditioned Reward
길이 reward를 다음처럼 수정하였다.
R̃_length = 1if
R_correct = 1otherwise 0
즉
정답을 맞춘 경우에만
길이 reward를 준다.
이 방식의 효과:
특히 GDPO는
AIME에서
를 달성하였다.
4.3 Coding Reasoning
마지막으로 reward를 3개까지 늘린다.
사용 reward:
Pass Rate Reward
R_pass = passed_test_cases / total_test_cases즉 통과한 테스트 비율이다.
Conditioned Length Reward
R̃_length = 1if
R_pass = 1otherwise 0
Bug Reward
R_bug ∈ {0,1}컴파일 에러 또는 런타임 에러가 없으면 1이다.
결과
2-objective 설정에서도
GDPO는 모든 benchmark에서 pass rate를 향상시켰다.
예:
CodeContests
Taco
3-objective 설정에서도
GDPO는
를 동시에 달성하였다.
최종 결론
실험 전체를 통해 논문은 다음을 보여준다.
5. 관련 연구 (Related Work)
GRPO 변형 연구 (GRPO Variants)
Group Relative Policy Optimization (GRPO) [32]의 안정성(stability), 성능(effectiveness), 효율성(efficiency)을 향상시키기 위해 다양한 확장 기법들이 제안되었다. 이러한 방법들은 모두 GRPO의 핵심 아이디어를 유지하면서, 그룹 정규화(group-wise normalization)나 정책 업데이트(policy update) 방식을 변형하는 방향으로 발전해왔다.
예를 들어,
GSPO (Group Sequence Policy Optimization) [33]는 학습 안정성을 높이기 위해 importance ratio를 토큰 단위(token-level)가 아닌 시퀀스 전체(sequence likelihood) 기준으로 계산한다. 또한 clipping, reward 계산, 최적화 역시 시퀀스 단위에서 수행한다.
강화학습 성능 향상을 위해 제안된 DAPO (Decoupled Clip and Dynamic sAmpling Policy Optimization) [34]는 다음 네 가지 핵심 기법을 도입하였다.
이를 통해 RL 학습 성능을 개선한다.
효율적인 추론(reasoning efficiency)을 위해 제안된 GFPO (Group Filtered Policy Optimization) [35]는 추론 길이 폭증(length explosion) 문제를 해결한다. 학습 시 문제당 더 많은 수의 응답 그룹을 샘플링한 후, 응답 길이와 token당 reward 비율(reward-per-token ratio)을 기준으로 응답을 필터링한다.
비슷한 방향으로 DLER (Doing Length pEnalty Right) [36]은
를 결합한 학습 방식을 제안하였으며, 정확도와 효율성 사이에서 당시 최고 수준(state-of-the-art)의 성능을 달성하였다.
다중 보상 강화학습 (Multi-Reward Reinforcement Learning)
최근에는 여러 reward를 동시에 활용하는 강화학습 연구가 활발하게 진행되고 있다.
가장 대표적인 목적은 다양한 인간 선호(human preferences)를 모델링하는 것이다.
예를 들어,
Safe Reinforcement Learning from Human Feedback [37]는
이라는 서로 다른 인간 선호를 분리(decouple)하여 모델링하고, fine-tuning 과정에서 두 목표의 균형을 동적으로 조정한다.
비슷하게,
RLPHF (Reinforcement Learning from Personalized Human Feedback) [38]는 여러 개의(때로는 서로 충돌하는) 선호를 처리하기 위해 각 선호마다 별도의 정책 모델(policy model)을 학습하고, 추론 시 이를 결합한다.
또한,
ALARM (Align Language Models via Hierarchical Rewards) [39]은 계층적(hierarchical) reward 구조를 도입하여 다음과 같은 여러 차원을 동시에 반영한다.
최근 대형 언어 모델에서도 다중 reward 최적화가 적극 활용되고 있다.
예를 들어,
DeepSeek V3.2 [40]는
를 함께 사용하여 추론 능력과 에이전트(agentic) 능력을 향상시킨다.
다중 reward RL의 또 다른 중요한 응용 분야는
이다.
이를 위해 대부분 결과 기반 reward(outcome reward)와 함께 길이 기반 reward(length-based reward)를 사용한다.
예를 들어,
O1-Pruner [41]와 [42]는 정규화된 길이 패널티(normalized length penalty)를 사용하여 비례적인 압축(proportional compression)을 유도한다.
또한 [43]은 샘플링된 그룹 내에서 가장 짧은 정답 응답(shortest correct response)을 기준으로 길어질수록 패널티를 부여하여 간결성(conciseness)을 장려한다.
L1 [44]은
LCPO (Length Controlled Policy Optimization) 를 제안하여 정확도를 유지하면서 응답 길이가 특정 목표 길이를 초과하지 않도록 학습한다.
마지막으로 [45]는 모델 성능에 따라
사이의 trade-off를 동적으로 조정하는 adaptive reward shaping 기법을 제안하였다.
6. 결론 (Conclusion)
기존 연구들은 주로
에 집중하면서, GRPO를 다중 보상 강화학습의 기본 최적화 알고리즘으로 가정해 왔다.
그러나 본 연구는 보다 근본적인 질문을 제기한다.
저자들의 분석 결과,
GRPO를 다중 reward의 단순 합(sum reward)에 직접 적용하면 서로 다른 reward 조합들이 동일한 advantage 값으로 붕괴(collapse)될 수 있음이 밝혀졌다.
이러한 붕괴 현상은
더 나아가 많은 경우
되는 현상까지 발생할 수 있다.
이 문제를 해결하기 위해 저자들은
GDPO (Group-wise Decoupled Policy Optimization)
를 제안하였다.
GDPO는 다중 보상 RL을 위해 특별히 설계된 간단하면서도 효과적인 GRPO 수정 방법이다.
GDPO의 핵심 아이디어는 다음과 같다.
이를 통해 reward 수가 증가하더라도 advantage의 수치 범위를 안정적으로 유지할 수 있다.
실험 결과 GDPO는
을 보여주었다.
또한 논문은
인간 선호(priority)를 RL에 반영하는 방법에 대해서도 체계적으로 분석하였다.
특히 reward 난이도 차이가 큰 경우
을 보여주었다.
Tool Calling, Math Reasoning, Coding Reasoning에 대한 광범위한 실험을 통해 GDPO는 GRPO보다 일관되게 우수한 성능을 보였다.
이러한 장점은
유지되었다.
최종 결론
본 논문의 결과는 GDPO가 다중 보상 강화학습에서 GRPO보다
최적화 방법임을 보여준다.
따라서 GDPO는 실제 환경에서 언어 모델을 다양한 인간 선호에 맞게 정렬(alignment)하기 위한 강력한 기반(framework)이 될 수 있음을 시사한다.