GRPO: Group-Relative Policy Optimization
마지막 수정:
GRPO는 Group Relative Policy Optimization이다.
핵심은 value model을 따로 학습하지 않고, 같은 prompt에서 나온 여러 completion을 서로 비교해 advantage를 만든다는 점이다.
same prompt
completion A -> reward 0
completion B -> reward 1
completion C -> reward 0
completion D -> reward 1
group-relative advantage
GRPO는 reward를 group 안에서 정규화한다.
advantage_i = (reward_i - group_mean) / group_std
이러면 “전역적으로 reward 1이면 좋다”보다 더 섬세한 신호가 생긴다.
쉬운 prompt:
대부분 정답이면 틀린 completion이 강한 음수 신호가 된다
어려운 prompt:
대부분 오답이면 드문 정답 completion이 강한 양수 신호가 된다
PPO와 무엇이 다른가
PPO는 보통 value model이 필요하다.
PPO:
policy model
reference model
reward model/verifier
value model
GRPO는 value model을 없앤다.
GRPO:
policy model
reference model
reward model/verifier
group rewards
그래서 메모리와 구현 복잡도가 줄어든다. 대신 같은 prompt에서 여러 completion을 뽑아야 group baseline이 의미를 가진다.
GRPO의 실제 데이터 흐름
prompt batch
-> prompt마다 G개 completion 생성
-> 각 completion reward 계산
-> prompt group별 advantage 계산
-> old/current/reference logprob 계산
-> clipped policy loss + KL penalty
-> policy update
여기서 G가 group size다. G가 크면 비교 기준은 좋아지지만 rollout compute가 늘어난다.
조심할 점
모든 completion reward가 같으면 학습 신호가 사라진다.
[0, 0, 0, 0] -> 차이가 없다
[1, 1, 1, 1] -> 차이가 없다
그래서 curriculum, sampling temperature, prompt 난이도, verifier 설계가 중요해진다.
참고 자료
- DeepSeek-AI, DeepSeekMath
- DeepSeek-AI, DeepSeek-R1
- Hugging Face, TRL GRPOTrainer
- 로컬 참고:
reference-books/rlhf-book/ch06-Reinforcement-Learning.md - 로컬 참고:
reference-books/reasoning-model-from-scratch/ch06-Training-reasoning-models-with-reinforcement-learning.md - 로컬 참고:
trl/README.md
확인
- GRPO가 value model을 없앨 수 있는 이유는 무엇인가?
- group size를 키우면 어떤 장점과 비용이 생기는가?
- 모든 rollout reward가 같으면 왜 update signal이 약해지는가?