AI 트렌드

경쟁을 통해 배우는 AI

deep daiv.

2025.04.16 09:00
  • 140
  • 콘텐츠에 ‘좋아’해줘서 고마워요 -
    0
  • 1

안녕하세요. 에디터 느리입니다 :D

지난 콘텐츠에서는 OpenAI의 deep research를 소개하며, 강화학습의 기본 개념과 TRPO, PPO 알고리즘을 살펴보았습니다. 이번 콘텐츠에서는 deep research가 o3 모델 학습에 활용한 GRPO 알고리즘에 대해 알아보겠습니다.

간단한 예시를 먼저 들면서 시작하죠. 자율주행 자동차에 새로운 주행 기술을 학습시키는 상황을 한 번 떠올려봅시다. TRPO와 PPO의 경우 매번 주행 결과에 대해 절대적인 점수를 두고 운전 방식을 조금씩 제한적으로 바꿔가면서 성능을 개선하겠죠. 그러나 과연 모든 순간에 절대적인 평가 기준이라는 것이 존재할까요? 명확하지 않은 환경에서는 보상을 주기가 애매합니다.

그렇다면 상대적인 평가를 주면 어떨까요? 절대적인 점수를 줄 필요 없이, 여러 번의 주행 중 상대적으로 가장 나은 시도를 기준으로 그보다 못한 시도는 억제하고, 좋은 시도를 강화하는 겁니다. 이것에 바로 오늘 알아볼 GRPO, Group Relative Policy Optimization의 핵심 원리입니다.

 

 

GRPO는 왜 만들어졌을까?

 

GRPO가 탄생하게 된 배경에는, 기존 정책 기반 강화학습의 비효율성을 개선하려는 고민이 깔려 있습니다. 특히 LLM의 추론(Reasoning) 능력을 강화학습으로 향상시키는 분야에서 이러한 필요성이 두드러졌습니다.

예를 들어, 복잡한 수학 문제나 논리 추론 문제에 대해 언어 모델이 정답을 잘 도출하게 만들고 싶다면, 모델의 출력을 직접 평가하여 좋은 답변은 강화하고 나쁜 답변은 억제하는 형태의 RLHF(Reinforcement Learning from Human Feedback, 인간 피드백을 통한 강화학습)를 사용하게 됩니다.

 

 

PPO와 GRPO를 비교한 사진. PPO에는 Value 모델이 추가로 필요하다.

출처 : <DeepSeekMath:Pushing the Limits of Mathematical Reasoning in Open Language Models> (Shao et al., 2024)

 

그런데 TRPO나 PPO의 경우 정책이 선택한 행동에 대한 가치를 평가하는 가치 모델(Value Model)과 사람의 선호를 학습한 보상 모델(Reward Model)까지 함께 학습시켜야 합니다. 여기서 가치 모델이란, TRPO와 PPO의 기본 원리인 Actor-Critic의 Critic을 뜻합니다. 실제 OpenAI의 InstructGPT에서는 사용자 프롬프트 하나에 대해 여러 후보 응답을 생성하고 인간이 순위를 매긴 데이터를 모아 보상 모델을 학습한 다음, 그 보상 모델의 평가 점수를 보상 신호로 삼아 PPO로 언어 모델을 미세 조정합니다. 때문에 이 전체 파이프라인에는 정책 모델, 참조 모델(초기 언어 모델의 고정본), 보상 모델, 가치 모델 이렇게 네 가지 거대한 신경망이 관여하며, 막대한 메모리와 연산 자원이 필요합니다.

 

GRPO는 가치 모델을 과감히 생략함으로써 문제를 단순화합니다. 하지만 가치 모델이 없어진다면, 정책이 어느 방향으로 개선되어야 하는지의 신호, 즉 정책 업데이트를 위한 기준을 어떤 방식으로 설정해야 할까요? 여기서 GRPO가 제시한 해결책이 그룹 기반 상대평가(Group Relative)입니다.

 

 

GRPO의 기본 원리, 그룹 기반 상대평가

 

그룹 기반 상대평가는 같은 그룹 내 구성원들의 성과를 서로 비교하여 상대적으로 등급이나 점수를 매기는 평가 방식입니다. 먼저 하나의 주어진 상황에서 현재 정책으로부터 여러 개의 결과물을 샘플링합니다. 그리고 그 결과물 각각에 대해서 보상을 계산합니다. 이 보상은 환경으로부터 얻은 누적 보상이 될 수도 있고, LLM의 경우 인간이나 평가 모델이 준 점수일 수도 있습니다.

가장 단순한 비교 방법은 평균을 기준으로 삼는 것입니다. 한 그룹에서 얻은 보상들의 평균을 계산하고, 각 결과의 보상이 이 평균보다 얼마나 높은지, 또는 낮은지를 이득(Advantage) A_i로 정의합니다. 이때, 이득 A_i는 각 결과의 보상과 한 평균에서 얻은 보상들의 평균의 차이로 계산할 수 있습니다.

©️ deep daiv.

 

예를 들어 어떤 수학 문제에 대해 모델이 네 가지 답안을 시도했고, 정답 여부 등에 따라 점수를 매겼다고 해봅시다. 얻어진 보상 점수가 {0.0, 0.5, 0.5, 1.0}이라면 이들의 평균은 0.5가 됩니다. 위의 식을 따라 각 시도에 대한 상대적 이점을 계산하면 {-0.5, 0.0, 0.0, 0.5}가 되겠죠. 네 번째 시도가 유일하게 평균과 높아서 이득을 가지게 됩니다.

이러한 상대 지표는 학습을 안정시키는 효과가 있습니다. 왜냐하면 보상의 절댓값이 크든 작든 간에, 평균 수준이면 0, 평균보다 나쁘면 음수, 좋으면 양수로 정규화되므로 학습하는 모델의 입장에서는 다루기 쉬운 일관된 척도가 생기기 때문입니다. 보상의 스케일이나 분포가 상황마다 달라도, 표준화를 거치면 평균 0, 표준편차 1인 분포로 변환되듯이, GRPO에서는 그룹 내 보상들을 정규화하여 이득을 계산합니다. 필요하다면 위 식에 표준편차로 나누는 항을 추가해 아래처럼 사용하기도 합니다.

위 식은 보상에서 그룹 평균을 뺀 값을 그룹 보상의 표준편차로 나눈 것입니다. 이렇게 하면 이득 값이 대략 -2에서 +2 사이의 범위로 정규화되어, 신호가 너무 크거나 작아 발생하는 학습 불안정성을 줄여줍니다

이렇게 이득 A를 계산하고 나면, 이제 PPO와 동일하게 정책을 업데이트할 차례입니다.

PPO에서는 각 시간 단계(Time Step) t에서의 확률비와 이득 A를 사용하여 손실함수를 구성했습니다. GRPO도 근본적으로는 PPO와 동일한 목표함수를 따르지만, 몇 가지 항만 바뀌거나 추가됩니다.

우선 여기서의 이득 A는 앞서 구한 A_i값을 그대로 사용합니다. 예컨대, 앞의 예시에서 첫 번째 출력의 모든 토큰은 A=-0.5를, 네 번째 출력의 모든 토큰에 대해서는 A=0.5를 할당하는 식입니다. 이렇게 출력 단위로 이득을 할당하면 한 에피소드 내의 모든 행동들이 동일한 이득 신호를 가지게 되는데, 이것은 에피소드 전체의 성과(최종 보상)에 따라 일괄적으로 긍정/부정 신호를 주는 것으로 이해할 수 있습니다.

반면 매 스텝마다 보상이 주어지는 상황이라면(ex.게임에서 매 행동마다 점수가 있는 경우), GRPO에서는 각 단계별 보상값들을 그룹 내에서 서로 비교해 상대적 가치로 변환함으로써 더 세밀한 이득 값을 계산할 수 있습니다. 이렇게 하면 긴 에피소드의 중간 단계들도 세밀하게 평가하며 학습하는 과정 기반(Process-level) 보상 설정이 가능해집니다.

정책 업데이트는 확률비에 이득을 곱한 항의 기댓값을 최대화하는 방식으로 이뤄집니다. 수식으로 나타내면 GRPO의 목표 함수는 아래와 같습니다.

 

 

위 식을 당장 완전히 이해해야 하는 것은 아니니 참고용으로만 보고 넘어가셔도 좋습니다. 주목해야 할 점은 식 안에 클리핑(Clipping)과 KLD(KL Divergence) 규제가 있다는 점입니다.

PPO와 마찬가지로 새로운 정책이 이전 정책 대비 너무 큰 변화가 일어나지 않도록 확률비를 일정 범위 내로 제한(Clipping)합니다. 그리고 TRPO처럼 KLD를 규제하는데요. TRPO가 새로운 정책과 기존 정책을 비교하였다면, GRPO의 경우에는 참조 정책을 기준으로 삼습니다. 여기서 참조 정책이란 쉽게 말해 강화학습을 시작하기 전에 이미 가지고 있던 참조 모델(Reference Model)이 따르는 정책을 의미합니다. 우리가 사용하는 기존 모델의 문장 생성 능력이나 상식적 판단을 유지하면서도 보상을 최대화하기 위한 방법이죠.

요약하면 GRPO의 정책 업데이트는 PPO의 안전 장치인 클리핑과 참조 모델에 대한 KLD 규제, 그리고 그룹 기반 이득을 조합한 형태라고 불 수 있습니다.



GRPO는 어디에 쓰이고 있을까?

 

GRPO가 제안된 이후, 특히 대규모 언어 모델을 강화학습으로 향상시키는 여러 프로젝트에서 이를 빠르게 채택하고 있습니다. 그 중 가장 대표적인 사례가 바로 DeepSeek 시리즈죠.

DeepSeek 팀은 DeepSeekMath라는 7B 파라미터 규모의 언어 모델을 수학 데이터로 사전 학습하고, 그 위에 GRPO를 적용한 강화학습을 수행해 DeepSeekMath-RL 모델을 얻었습니다. 더 나아가 2025년 초에는 DeepSeek-R1이라는 더욱 발전된 모델을 공개하며 GRPO의 효과성을 입증했죠.

 

AlphaMaze가 만든 에이전트가 미로를 푸는 모습

출처 : MenloResearch <AlphaMaze: LLM Visual Reasoning with GRPO (Feb 13 2025)>

 

한편 GRPO는 다른 특수한 강화학습 시나리오에도 응용되고 있습니다. AlphaMaze라는 연구에서는 LLM에게 텍스트로 주어진 미로를 풀게 하였는데 이때 GRPO를 활용해 모델의 시각적 추론 능력을 향상시켰습니다. 이 경우 모델이 올바르게 미로 출구까지 길을 찾으면 +1, 아니면 0이라는 명확한 보상을 주었죠. 이렇듯 퍼즐이나 코드 실행 결과 일치 여부 등 명시적인 정답 기준이 있는 문제에서도 GRPO를 효과적으로 적용할 수 있습니다.

 

뿐만 아니라 GRPO를 일반 강화학습 환경에 적용하기 위한 연구, 예컨대 다중 에이전트 환경에서 에이전트들이 서로를 기준으로 학습하도록 설계할 수 있습니다. 이렇게 되면 굳이 외부 평가 지표 없이도 에이전트 간의 상대적 경쟁을 통해 성능 향상을 이뤄내는 구조를 꿈꿔볼 수 있겠죠.

 

 

GRPO, 완벽한가요?

 

GRPO 알고리즘은 간단히 말해 “여러 번 해보고, 서로 비교해서, 잘한 만큼 강화한다”로 요약할 수 있습니다. 대규모 언어 모델의 강화학습에 맞춰 설계되었기 때문에 RLHF 분야에서의 실용성이 매우 높습니다. 별도의 가치 모델 없이 정책을 효과적으로 개선할 수 있어, 거대한 신경망을 다룰 때 학습 안정성과 비용 측면에서도 큰 이득입니다. 앞으로 개인 연구자나 소규모 조직도 대형 언어모델을 강화학습으로 개선하려는 시도를 할 수 있게 될지도 모르죠.

조금 더 넓은 관점에서 생각해보면 GRPO는 강화학습 알고리즘의 경량화의 흐름 속에 있다고 볼 수 있습니다. 과거에는 TRPO처럼 이론적으로 완벽한 알고리즘을 추구했다면, 이제는 실용적이고 단순하면서도 충분히 좋은 성능을 제공하는 알고리즘으로 무게중심이 옮겨가고 있는 것이죠.

물론 GRPO가 완벽한 해결책은 아닙니다. GRPO는 여러 결과물을 하나의 그룹으로 묶어서 상대적으로 평가하기 때문에 그룹의 크기가 매우 중요합니다. 크기가 너무 작으면 보상 평균값이 부정확하게 편향될 수 있고 너무 크면 샘플링 비용이 커져서 학습 효율이 떨어질 수 있습니다. 또한 참조 정책이 잘못되었거나 부족하면 GRPO도 그 한계를 그대로 가져갈 수 있습니다. 그 외에도 보상 설계 문제, 신용 할당 문제 등 강화학습이 가진 수많은 난제들이 연구자들을 기다리고 있죠. 이러한 한계를 극복하기 위해 그룹 크기를 유동적으로 조절하거나 GRPO 학습 과정 중 참조 정책을 주기적으로 업데이트하는 등의 방안이 제시되고 있습니다.

 

 

에이전트 시대, 왜 강화학습이 중요할까?

 

지금까지 두 편의 콘텐츠를 통해 강화학습의 기본 원리부터 TRPO, PPO, 그리고 GRPO의 개념까지 살펴봤습니다.

AI 기술이 발전하면서, 단순히 더 크고 강력한 모델을 만드는 것만으로는 한계를 극복할 수 없다는 사실이 점점 더 분명해지고 있습니다. 앞으로의 AI는 단순한 데이터 처리기가 아니라, 주어진 환경에서 스스로 탐색하고 최적의 행동을 학습하는 "에이전트"로 발전해야 합니다. 강화학습 기반 AI 에이전트는 이미 자율주행, 게임, 로보틱스 등 다양한 분야에서 활용되고 있으며 앞으로는 더 많은 영역에서 AI가 스스로 탐색하고 배우는 존재로 자리 잡을 것입니다. 이번 글이 이러한 미래를 이해하는 데 조금이나마 도움이 되었기를 바랍니다.

 

  • #딥다이브
  • #AI
  • #AI트렌드
  • #GRPO

추천 콘텐츠

더보기