Skip to content

[215] Group Sequence Policy Optimization #236

@long8v

Description

@long8v
Image

paper

TL;DR

  • I read this because: GRPO 대안으로 나오면서 바이럴
  • Task: large reasoning model
  • Problem: 기존 GRPO 알고리즘의 토큰 단위 importance ratio로 인한 훈련 불안정성과 model collapse 문제
  • Idea: 토큰 단위가 아닌 시퀀스 단위의 importance ratio 사용으로 안정적인 RL 훈련 구현
  • Input/Output: query -> {reasoning, answer}
  • Architecture: Qwen3-30B-A3B-Base
  • Objective: GSPO(proposed)
  • Baseline: GRPO
  • Data: RL training on math (AIME'24), coding (LiveCodeBench, CodeForces) tasks
  • Evaluation: Training stability, efficiency metrics, downstream task performance
  • Result: Superior training stability, 효율성, MoE 모델 안정화, Qwen3 모델 성능 크게 개선
  • Contribution: 시퀀스 단위 importance sampling으로 RL 훈련 안정화, MoE RL 훈련 단순화
  • Etc: Alibaba Qwen팀에서 개발, 실제 Qwen3 모델에 적용되어 성능 향상 달성

Details

Problem Analysis

  • GRPO
Image

여기서 $w_{i,t}$는 원래 분포인 $\pi_{tar}$에서 샘플링하지 않았기 때문에 이 확률을 보정해주는 형태
보통의 importance sampling은 N을 1보다 크게 주고 평균을 주어 하는 것이 일반적임.

Image

그런데 GRPO에선 1) 하나의 sample로 2) (전체 확률분포가 아닌) next token probability에 대해서만 구하기 때문에 모델이 noise에 매우 민감해지는 결과를 냄.
또한 이러한 noise가 긴 시퀀스에 누적되면서 noise가 더 커져서 한번 잘못 수렴하면 돌이키기 어렵고 hparam(clipping hparam, rl prompt, .. 등)에 매우 민감하게 됨.
또한 reward는 한 시퀀스에 대해 나오는데 optimization objective는 token 단위로 오는 불일치가 있음.

GSPO Algorithm

Image
  • 토큰 단위가 아닌 시퀀스 전체에 대한 clipping 결정
  • 모든 토큰에 동일한 가중치 적용
  • $s_i$$|y_i|$의 길이로 나눠주면서 length normalize (길이와 상관없이 clip range를 비슷하게 가져가기 위해서)

gradient

Image Image

Experimental Results

Training Efficiency:

Image
  • GRPO 대비 더 높은 training reward 달성
  • 동일 계산량에서 더 나은 성능
  • 더 안정적인 수렴 곡선
  • AIME'24, LiveCodeBench, CodeForces 에서 더 나은 벤치 성능

Clipping Analysis:

Image
  • GSPO: 15% 토큰 clipping
  • GRPO: 0.13% 토큰 clipping
  • 역설적으로 더 많은 clipping이 더 좋은 성능으로 이어짐

MoE Training Benefits

MoE-Qwen3를 GRPO로 학습할 때 불안정한 경향성이 있었는데 이는 이전의 policy에서 activate된 expert와 현재 policy에서 activate된 Expert가 달라지면서 Importance ratio의 변동성이 훨씬 커져서임
이를 해결하기 위해 $\pi _{old}$에 대해 activate 된 expert를 cache해두고 $\pi$$\pi _{old}$가 같은 expert를 가지도록 하는 trick을 짬.

Image Image

그것보다 GSPO가 더 좋았음. 이로인한 복잡도가 낮아짐.

Benefit of GSPO for RL Infrastructure

rollout은 sglang, vllm으로 하고 training engine은 megatron으로 하면서 정밀도 이슈 때문에 old policy에 대한 likelihood를 다시 계산했어야 했음. (old policy는 업데이트 되는 대상이 아니라서 원래는 안해도 됨)
그러나 token-level likelihood에 비해 sequence-level likelihood는 정밀도에 민감하지 않아서 재계산 하지 않아도 됨
이로 인해 partial rollout and multi-turn RL and in the training-inference disaggregated frameworks 상황에서 조금 더 효율성이 좋음

c.f. DAPO
normalize에 대한 부분이라 내용이 다름

Image

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions