모델

GRPO

Group Relative Policy Optimization

별도 비평 모델 없이 같은 질문에 답을 여러 개 만들고, 그 묶음 안에서 평균보다 나은 답은 더 자주, 못한 답은 덜 나오도록 학습시키는 강화학습 방법이다. 수학 정답이나 코드 테스트 통과처럼 맞고 틀림을 자동으로 채점할 수 있는 작업에서 언어 모델의 추론 능력을 키울 때 쓴다.

방법학습 신호필요한 것잘 맞는 작업
PPO보상 + 가치 모델 예측정책 모델과 별도 비평 모델범용 RLHF
DPO좋은 답·나쁜 답 쌍선호 데이터말투·선호 맞추기
GRPO그룹 안 상대 점수자동 채점 함수수학·코드 추론

비평 모델을 빼서 가벼워졌다

기존 PPO는 답이 얼마나 좋을지 가늠하는 가치 함수(critic)를 따로 학습해야 했다. 이 모델이 보통 정책 모델만큼 커서 메모리와 계산 비용이 크게 늘었다.

GRPO는 이 역할을 '같은 질문에 대한 다른 답들'로 대신한다. 그룹의 평균 점수가 기준선이 되므로 별도 모델 없이 학습 신호를 만든다. 대신 질문마다 답을 여러 개 생성해야 해서 생성 비용은 늘어난다.

DeepSeek이 추론 학습법으로 알렸다

DeepSeek이 DeepSeekMath(2024)에서 처음 제안했고, DeepSeek-R1에서 추론 능력을 크게 끌어올리는 데 쓰면서 주목받았다. R1에서는 정답 여부와 답 형식 같은 규칙 기반 보상만으로도 모델이 길게 생각하고 스스로 다시 검토하는 습관을 익혔다. 이후 공개 모델로 추론 모델을 만들 때 흔히 쓰는 출발점이 됐다.

TRL로 쓰는 순서

Hugging Face TRL 라이브러리의 GRPOTrainer로 바로 해 볼 수 있다. 기본 흐름은 다음과 같다.

단계할 일
1. 데이터정답을 확인할 수 있는 문제를 모은다
2. 보상 함수답을 받아 점수를 돌려주는 함수를 만든다 (정답이면 1, 형식을 지키면 가산점)
3. 그룹 크기질문당 답 개수 num_generations를 정한다. 보통 8~16개
4. 학습원래 모델에서 너무 멀어지지 않게 하면서 반복 학습한다

그룹이 클수록 평균이 안정적이지만 생성 시간이 길어진다. 처음에는 작은 모델과 작은 그룹으로 보상 함수가 제대로 동작하는지부터 확인하는 게 좋다.

문제 난이도와 보상 설계가 성패를 가른다

그룹 안의 답이 모두 맞거나 모두 틀리면 점수 차이가 없어 학습 신호가 사라진다. 너무 쉽거나 너무 어려운 문제는 걸러 내고, 모델이 가끔 맞히는 수준의 문제를 쓰는 게 효과적이다.

보상 함수의 허점도 조심해야 한다. 모델은 점수만 쫓기 때문에 형식만 맞추거나 답을 쓸데없이 길게 늘이는 식으로 점수를 얻을 수 있다. 정답 판정이 애매한 글쓰기나 대화 품질 같은 작업이라면 GRPO보다 DPO 같은 선호 학습이 더 다루기 쉽다.

채점기를 만들 수 있으면 어디든 쓴다

가장 흔한 건 공개 모델을 추론 모델로 다듬는 것이다. 보상 함수만 코드로 짤 수 있으면 되므로, 정답을 확인할 방법이 있는 작업에 두루 쓴다.

어디서어떻게 쓰나
수학 문제 풀이최종 답이 정답과 같으면 1점을 주고, 풀이 과정을 길게 생각하도록 학습
코드 생성생성한 코드를 테스트에 돌려 통과 여부를 보상으로 사용
정해진 출력 형식JSON 같은 형식을 지켰는지 검사하는 함수를 보상에 더해 형식 실수를 줄임
개인·연구용 실험TRL GRPOTrainer로 작은 모델과 작은 그룹부터 돌려 보상 설계를 검증
#강화학습#DeepSeek#추론모델
참고 자료
← AI Wiki에서 더 보기
updated at 2026-10-20