GRPO

GRPO(Group Relative Policy Optimization) 는 대규모 언어 모델 (LLM) 의 추론 능력을 강화하기 위한 강화학습 (RL) 알고리즘입니다.

GRPO 의 가장 큰 특징은 기존 강화학습 알고리즘 (예: PPO) 이 사용하던 별도의 ‘가치 모델 (Value Model)’ 없이 작동한다는 점입니다. GRPO 의 가장 큰 특징은 기존 강화학습 알고리즘 (예: PPO) 이 사용하던 별도의 ‘가치 모델 (Value Model)’ 없이 작동한다는 점입니다

**작동 방식은 다음과 같은 단계로 이루어집니다.

  • 그룹 생성 (Group Sampling): 하나의 문제 (프롬프트) 에 대해 모델이 여러 개의 잠재적 답변을 생성하여 ‘그룹’을 만듭니다.
  • 보상 측정 (Reward Assignment): 생성된 각각의 답변이 얼마나 좋은지 ‘보상 모델’을 통해 점수를 매깁니다. 예를 들어, 수학 문제의 정답 여부에 따라 점수를 부여합니다.
  • 상대적 이점 계산 (Advantage Calculation): 그룹 내 모든 답변의 평균 점수를 기준선으로 삼습니다.그리고 각 답변의 점수를 이 평균 점수와 비교하여 ‘이점 (Advantage)’을 계산합니다. 평균보다 높으면 긍정적인 이점을, 낮으면 부정적인 이점을 갖게 됩니다.
  • 모델 업데이트: 모델은 더 높은 이점을 가진 답변을 생성하도록 정책을 업데이트합니다. 이때 KL 발산 (KL-divergence) 을 통해 모델이 너무 급격하게 변하지 않도록 안정성을 유지합니다.


A.1) 비교를 위한 PPO (Proximal Policy Optimization) 의 목적 함수

PPO 는 강화학습에서 가장 널리 쓰이는 알고리즘 중 하나입니다. PPO 의 목적 (Objective) 은 다음과 같이 표현됩니다.

  • : 현재 학습하려는 정책 (Policy) 모델입니다.
  • : 업데이트 이전의 정책 모델입니다.
  • : 이전 정책 대비 현재 정책의 확률 비율 (Probability Ratio) 입니다.
  • 어드밴티지 (Advantage) 함수.  로, 현재 행동이 평균적인 행동보다 얼마나 더 좋은지를 나타냅니다. 이 값을 계산하기 위해 별도의 가치 모델 (Value Model, ) 이 필요합니다.
  • clip(…): 확률 비율이 너무 커지거나 작아지는 것을 막아 학습 안정성을 높이는 장치입니다.
  • KL(…): 두 정책 분포의 차이 (KL Divergence) 를 나타내는 항으로, 정책이 급격하게 변하는 것을 막는 규제 (Regularization) 역할을 합니다.

PPO 의 핵심: 별도의 가치 모델  를 학습하여 어드밴티지  를 “절대적인” 기준으로 추정합니다.

B) GRPO 의 핵심 아이디어와 수식

GRPO 는 PPO 의 “가치 모델” 부분을 없애고, 대신 “그룹 내 상대 평가” 라는 개념을 도입합니다.

B.1) 단계: 그룹 샘플링 (Group Sampling)

하나의 프롬프트 (입력)  에 대해, 현재 정책 모델  (PPO 의  와 유사한 고정된 모델) 를 사용하여  개의 서로 다른 답변 (출력)  를 생성합니다. 이 답변들의 집합을 그룹 G 라고 합니다.

  • 프롬프트: 
  • 생성된 답변들 (Group):  where 

B.2) 단계: 보상 계산 (Reward Calculation)

각 답변  에 대해 보상 함수  를 사용하여 점수를 매깁니다. 예를 들어, 수학 문제라면 정답이면 1, 오답이면 0 을 부여할 수 있습니다.

  • 번째 답변의 보상: 

B.3) 단계: 그룹 상대 어드밴티지 (Group-Relative Advantage) 계산

이것이 GRPO 의 가장 핵심적인 부분입니다. GRPO 는 절대적인 가치 모델 V(s) 대신, 그룹 G 내의 평균 보상을 기준선 (Baseline) 으로 사용합니다.

  • 그룹의 평균 보상 계산 (Baseline):
    • R_bar(x) 는 그룹 내 모든 답변 보상의 산술 평균입니다. 이것이 PPO 의 가치 함수 V(s) 를 대체하는 기준선이 됩니다.
  • 그룹 상대 어드밴티지 계산:
    • 는 개별 답변의 보상이 그룹 평균보다 얼마나 더 좋은지 (또는 나쁜지) 를 나타내는 상대적인 값입니다.
    • 만약  의 보상이 그룹 평균보다 높으면  는 양수가 되고, 낮으면 음수가 됩니다.

B.4) 단계: GRPO 목적 함수 (Objective Function)

이제 계산된 상대 어드밴티지  를 사용하여 정책 모델  를 업데이트합니다. GRPO 의 목적 함수는 다음과 같습니다.

  • […]: 프롬프트 x 와 그에 대한 답변 y 가 참조 정책  를 통해 샘플링될 때의 기댓값입니다.
  • : 위에서 계산한 그룹 상대 어드밴티지입니다.
  • : PPO 의 확률 비율과 동일한 항입니다.
  • : PPO 와 마찬가지로, 정책이 π_ref 에서 너무 멀어지지 않도록 제어하는 규제 항입니다.

이 목적 함수는 어드밴티지가 양수인 답변 (), 즉 그룹 평균보다 잘한 답변의 생성 확률 (π_θ(y|x)) 은 높이고, 어드밴티지가 음수인 답변 () 의 생성 확률은 낮추는 방향으로 모델 θ를 업데이트하도록 유도합니다.

C) PPO 와 GRPO 의 수식상 핵심 차이 요약

항목PPO (Proximal Policy Optimization)GRPO (Group Relative Policy Optimization)
어드밴티지 계산 
 (TD-error 기반의 절대적 이점)
 
 (그룹 평균 보상 기반의 상대적 이점)
필요한 모델정책 모델  + 가치 모델 정책 모델  단독
기준선 (Baseline)학습된 가치 함수 샘플링된 그룹의 경험적 평균 

결론적으로 GRPO 는 가치 모델을 그룹 내 답변들의 평균 보상으로 대체함으로써, 메모리 효율성을 크게 높이고, 특히 정답/오답이 명확하여 보상 설정이 용이한 추론 문제에서 안정적이고 효과적인 학습을 가능하게 하는 알고리즘입니다.

C.1) PPO 방식: 전문가 심판 (가치 모델) 을 데려온다

  • PPO 는 AI 모델 (선수) 외에, **‘이 문제가 얼마나 어려운지’, ‘이 선수가 보통 몇 점을 받을지’를 예측하는 ‘전문가 심판 (가치 모델)’**을 따로 둡니다.
  • AI 가 문제를 풀면, 이 ‘전문가 심판’이 예측한 점수보다 잘했는지 못했는지를 따집니다.
  • 단점: 선수 (AI 모델) 와 심판 (가치 모델) 을 둘 다 훈련시켜야 해서 메모리 (자원) 가 두 배로 듭니다.

PPO 의 평가: “심판이 보기에 이 선수는 80 점 받을 거라 예상했는데, 90 점을 받았네? 아주 잘했군! 이 방향으로 더 학습시켜야겠다.”

C.2) GRPO 방식: 상대평가 (그룹 평균) 로 해결한다

  • GRPO 는 ‘전문가 심판’을 따로 두지 않습니다. 대신, AI 에게 같은 문제를 여러 번 풀게 해서 답변 그룹 (A, B, C, D) 을 만듭니다.
  • 그다음 이 답변 그룹의 평균 점수를 계산합니다.
  • 개별 답변이 이 ‘그룹 평균’보다 잘했는지 못했는지를 따집니다.
  • 장점: 심판이 없으니 메모리 (자원) 를 훨씬 아낄 수 있습니다.

GRPO 의 평가: “이번에 AI 가 낸 4 개 답안의 평균 점수가 70 점이네. 그중 A 답안은 95 점을 받았으니 아주 잘한 답이구나! 이 A 답안처럼 생각하도록 학습시켜야겠다.”

D) GRPO 의 장점

  • 메모리 효율성: 별도의 가치 모델을 학습시키지 않으므로, 모델 훈련에 필요한 메모리 (VRAM) 요구사항이 낮습니다. 이는 거대한 언어 모델을 제한된 하드웨어 리소스에서도 효율적으로 훈련할 수 있게 합니다.
  • 추론 능력 강화: 수학, 코딩 등 복잡한 추론이 필요한 작업에서 모델의 성능을 효과적으로 향상시킬 수 있도록 설계되었습니다.
  • 안정적인 학습: 그룹 기반의 보상 평균을 사용함으로써 학습 과정에서 발생할 수 있는 편차를 줄여 더 안정적인 업데이트가 가능합니다.

E) QnA

E.1) Advantage A 와 Action Ratio R 을 곱하는 이유

PPO 목적 함수에서 확률 비율 r 과 어드밴티지 A 를 곱하는 이유는, ‘어떤 행동이 얼마나 좋았는지 (A)’를 ‘그 행동을 앞으로 얼마나 더 할지 (r)’에 직접적으로 연결하기 위해서입니다.

간단히 말해, 이 곱셈은 “좋은 행동은 더 자주 하도록, 나쁜 행동은 덜 하도록” 만드는 가장 직관적인 방법입니다.

각각의 의미를 다시 짚어보며 설명해 드리겠습니다.

E.1.1) 1. (어드밴티지): 행동의 ‘방향’과 ‘크기’를 알려주는 신호

는 특정 상태에서 한 행동이 평균적으로 얼마나 더 좋았는지를 나타내는 ‘평가 점수’입니다.

  • (양수): “방금 한 행동은 평균보다 좋은 결과를 냈어! 잘했어!”
    • 이 값의 크기가 클수록 “엄청나게 좋은 행동이었어!”라는 의미입니다.
  • (음수): “방금 한 행동은 평균보다 나쁜 결과를 냈어. 다음엔 피하는 게 좋겠어.”
    • 이 값의 절댓값이 클수록 “정말 최악의 행동이었어!”라는 의미입니다.

즉,  는 우리가 정책을 어느 방향으로, 얼마나 강하게 업데이트해야 할지에 대한 신호 (signal) 역할을 합니다.

E.1.2) 2. (확률 비율): 정책의 ‘변화’를 나타내는 레버

는 업데이트 이전 정책 대비 현재 정책이 같은 행동을 할 확률이 얼마나 변했는지를 나타냅니다. 이것은 우리가 실제로 조절하는 **’레버 (lever)‘**입니다.

  • r_t(θ) > 1: 이 행동을 할 확률이 증가했다.
  • r_t(θ) < 1: 이 행동을 할 확률이 감소했다.
  • r_t(θ) = 1: 확률이 변하지 않았다.

E.1.3) 핵심: 곱셈의 마법

이제 이 둘을 왜 곱하는지 두 가지 시나리오로 살펴보겠습니다. PPO 의 목표는 이 곱셈의 결과 (기댓값) 를 최대화하는 것입니다.

E.1.3.1) 시나리오 1: 좋은 행동을 했을 때 (A_t > 0)

  • A_t 가 양수입니다.

  • r_t(θ) * A_t 라는 전체 값을 최대화하려면, r_t(θ) 를 최대한 크게 만들어야 합니다.

  • r_t(θ) 를 크게 만든다는 것은, 이 좋은 행동을 할 확률 π_θ(a_t|s_t) 를 이전보다 높이도록 정책을 업데이트한다는 의미입니다.

  • 결론: 좋은 행동 (A_t > 0) 을 하면, 그 행동의 확률을 높이는 방향 (r_t > 1) 으로 보상을 받습니다.

E.1.3.2) 시나리오 2: 나쁜 행동을 했을 때 (A_t < 0)

  • 가 음수입니다.

  •  라는 전체 값을 최대화하려면 (즉, 음수 값을 0 에 가깝게 만들려면), r_t(θ) 를 최대한 작게 만들어야 합니다.

  • r_t(θ) 를 작게 만든다는 것은, 이 나쁜 행동을 할 확률 π_θ(a_t|s_t) 를 이전보다 낮추도록 정책을 업데이트한다는 의미입니다.

  • 결론: 나쁜 행동 (A_t < 0) 을 하면, 그 행동의 확률을 낮추는 방향 (r_t < 1) 으로 보상을 받습니다.

E.1.4) 쉬운 비유: 공부 방법과 성적

  • 학생 = 정책 모델 π

  • 새로운 공부 방법 = 행동 a

  • 성적 향상도 (평균 대비) = 어드밴티지 A

  • 이 공부법을 채택할 비중 = 확률 π(a|s)

학생이 새로운 공부법을 시도했는데 성적이 평균보다 많이 올랐다면 (A 가 큼), 앞으로 그 공부법을 더 많이 사용해야겠죠 (π를 높임). 반대로 성적이 떨어졌다면 (A 가 음수), 그 공부법은 버려야 합니다 (π를 낮춤).

r * A 의 곱셈은 이 과정을 수학적으로 정확하게 표현한 것입니다. 즉, “성적 향상도 (A) 가 높은 공부법일수록, 앞으로 더 많이 쓰도록 (r 을 키우도록) 유도하자” 는 논리를 그대로 수식으로 옮긴 것입니다.

이것이 강화학습의 기본 원리인 ‘정책 경사 (Policy Gradient)’의 핵심이며, PPO 는 이를 더 안정적으로 구현한 알고리즘입니다.