본문 바로가기

인공지능 논문 정리

DeepSeek-R1: Incentivizing Reasoning Capability in LLMs viaReinforcement Learning 내용 정리


Intorduction

최근 Large Language Models(LLMs)의 발전 속도는 인공지능(AI)이 Artificial General Intelligence(AGI)로 나아가는 과정에서 중요한 연구 방향을 제시하고 있다. 특히, 사전 훈련 이후 모델을 개선하는 Post-Training 기법이 주목받고 있다. 이는 모델의 reasoning 성능을 향상시키고, 사회적 가치에 맞추며, 사용자의 선호도에 적응할 수 있도록 한다.

 

DeepSeek-AI에서는 이러한 post-training 기법 중 Reinforcement Learning(RL)을 활용하여 reasoning 능력을 강화하는 새로운 모델 DeepSeek-R1을 개발하였다. DeepSeek-R1은 기존의 Supervised Fine-Tuning(SFT) 없이 순수한 RL만으로 reasoning 능력을 학습한 DeepSeek-R1-Zero와, 이를 개선한 다단계 학습과 cold-start 데이터를 포함한 DeepSeek-R1으로 구성된다. 또한, DeepSeek-R1에서 학습한 reasoning 능력을 distillation 기법을 통해 작은 모델에도 적용하여 고성능의 소형 모델을 만들었다.


DeepSeek-R1-Zero: RL on the base model

DeepSeek-R1-Zero는 base model에 어떤 supervised fine-tuning도 적용하지 않고 reinforcement learning만으로 reasoning 능력을 학습했다.

 

Group Relative Policy Optimization

Group Relative Policy Optimization (GRPO)는 RL에서 critic model 없이 baseline을 추정하도록 설계된 방법이다. 기존의 PPO가 policy model과 동일 크기의 critic model을 필요로 했으나, GRPO는 actor만을 활용해 높은 효율로 학습하는 방향을 제시했다.

 

GRPO는 학습 단계마다 질문 하나에 대해 여러 개의 샘플을 group으로 생성한 뒤, 이들 각각에 대해 reward를 구한다. 그다음 group 내부에서 reward 평균과 표준편차를 계산하고, 각 샘플의 reward가 그 평균보다 얼마나 높은지 혹은 낮은지를 advantage로 삼는다. 즉, group 내부 상대값을 기준으로 advantage를 산출해 baseline을 추정한다. 이때 advantage가 양수인 샘플에는 확률비를 높이고, 음수인 샘플에는 확률비를 줄이는 식으로 policy가 업데이트된다.

GRPO는 다음과 같은 손실 함수를 사용한다.

꽤나 식이 복잡하지만, Advantage를 maximize하되, 업데이트를 Clip하고, Reference policy에 대한 constraint가 걸려 있는 목적 함수이다.

 

Advantage는 group reward 기반으로 구한다.

간단하게 설명하자면,

  • Advantage를 maximize 하되, policy와 old policy 간 ratio의 범위를 clip하여 큰 업데이트를 방지한다.
  • KL divergence 항을 추가해 reference policy와 지나치게 달라지지 않도록 정규화한다.
  • Advantage는 a group of rewards 기반으로 구하게 된다.

 

이를 통해 critic model을 별도로 학습하지 않아도 되므로 자원 소모를 크게 줄일 수 있다. 또한 group 단위로 advantage를 계산하기 때문에 reward 평균이 높거나 낮은 극단값에 쉽게 흔들리지 않는다는 장점이 있다. 결과적으로 GRPO는 안정적으로 policy를 최적화하면서도 기존의 PPO 대비 계산 효율을 높이는 접근이다.

Reward modeling

보상 모델(Reward Model)은 다음 두 가지 요소로 구성된다:

  1. Accuracy Reward: 수학 문제나 코드 문제처럼 정답이 명확한 경우, 결과의 정확성을 평가하는 보상.
  2. Format Reward: reasoning 과정을 태그 안에, 최종 답변을 태그 안에 출력하도록 강제하는 형식 보상.

Template for DeepSeek-R1-Zero

 

이러한 보상 체계를 적용한 결과, DeepSeek-R1-Zero는 학습 초기에 AIME 2024 benchmark에서 pass@1 점수가 15.6%였으나, RL을 진행하면서 71.0%까지 상승하였다. 또한, majority voting을 활용하면 성능이 86.7%까지 향상되어 OpenAI의 o1-0912와 유사한 수준의 reasoning 능력을 보였다.

 

Performance: Self-Evolution과 Aha Moment

DeepSeek-R1-Zero는 RL 학습을 진행하면서 reasoning 과정에서 자연스럽게 Self-Evolution을 보였다. 즉, 점진적으로 reasoning token을 늘려가면서 더 복잡한 문제를 해결하는 방식으로 발전하였다.

특히, 학습 중 Aha Moment라는 현상이 관찰되었다. 모델이 문제를 풀다가 스스로 잘못된 접근 방식을 감지하고 다시 풀어보는 현상이다. 이는 사람이 문제를 해결하면서 시행착오를 겪으며 논리적으로 발전하는 것과 유사하다. RL만으로 reasoning 능력을 형성할 수 있음을 보여주는 중요한 결과였다.

Aha Moment의 발생 예시

그러나 DeepSeek-R1-Zero는 가독성이 떨어지고, 출력이 언어적으로 혼합되는 문제가 있었다. 이러한 한계를 극복하기 위해 DeepSeek-R1이 개발되었다.


DeepSeek-R1: RL with Cold Start

Cold-Start를 활용한 학습 안정화

DeepSeek-R1은 DeepSeek-R1-Zero의 단점을 개선하기 위해 Cold-Start Data를 도입하였다. 초기 RL이 불안정한 학습 단계를 거치지 않도록, 사람이 읽기 쉬운 긴 Chain-of-Thought(CoT) 데이터를 수집하여 먼저 fine-tuning을 수행하였다.

Cold-Start Data는 다음 방법을 통해 수집되었다:

  1. Few-shot prompting을 활용하여 긴 CoT 예제를 포함한 데이터 생성
  2. 모델이 생성한 output을 사람이 읽기 쉬운 형태로 필터링
  3. DeepSeek-R1-Zero의 출력을 정제하여 readable format으로 변환
  4. 사람이 직접 post-processing을 수행하여 질 높은 데이터 확보

이러한 과정을 통해 DeepSeek-R1은 보다 자연스럽고 가독성이 좋은 출력을 생성할 수 있도록 훈련되었다.

Multi-Stage Reinforcement Learning

DeepSeek-R1은 보다 정교한 multi-stage RL 과정을 거쳐 reasoning 능력을 강화하였다. 주요 단계는 다음과 같다:

  1. Reasoning-oriented RL: 수학, 코딩, 논리적 추론 등 reasoning 집중 훈련.
  2. Rejection Sampling & Supervised Fine-Tuning: RL로 생성한 데이터를 읽기 어렵거나, 여러 언어가 섞여 있는 것과 같은 부적합한 상황을 제거하여 추가적인 SFT 진행.
  3. Reinforcement Learning for all Scenarios: 다양한 사용자 질문에 대응할 수 있도록 human preference를 반영한 RL 수행.

 

Distillation: 작은 모델의 추론 성능 강화

DeepSeek-R1의 reasoning 능력을 더 작은 모델에 이식하기 위해, Qwen, Llama 같은 open-source 모델에 distillation 기법을 적용했다. 즉 DeepSeek-R1로부터 대량의 reasoning 데이터를 생성해 작은 모델을 직접 fine-tuning했다. 대표적인 결과는 다음과 같다.

  • DeepSeek-R1-Distill-Qwen-1.5B
    단 1.5B 파라미터로도 수학 등의 특정 영역에서 GPT-4o보다 우수한 성능을 보였다.
  • DeepSeek-R1-Distill-Qwen-32B
    distillation만으로 QwQ-32B-Preview 등을 크게 앞지르는 결과를 냈다.

비슷한 크기의 모델을 reinforcement learning으로 직접 학습했을 때에는 별 이점이 없었다고 보고했다. 즉 distillation이 훨씬 적은 자원으로 더 나은 성능을 얻는 방법임을 보여주었다.


성능 평가

DeepSeek와 최신 모델의 성능 비교.

DeepSeek-R1은 다양한 benchmark에서 OpenAI-o1-1217과 비슷한 수준의 성능을 보였다. 수학 및 알고리즘 문제(AIME, MATH, Codeforces 등)에서 특히 높은 점수를 달성했고, writing이나 open-ended QA와 같은 영역에서도 DeepSeek-V3보다 향상된 결과를 보였다. GPT-4o, Claude 시리즈 등 다른 모델들과 비교했을 때도, 특정 reasoning 문제에서는 뒤지지 않는 경쟁력을 확보했다.

다만 토큰 길이가 긴 prompt를 사용하는 few-shot은 오히려 성능을 떨어뜨리는 경향이 있었다. 즉, DeepSeek-R1에게는 zero-shot 형식의 prompt 설계가 더 적합했다. 또한 일부 factual QA에서 안전성 관련 대응 때문에 과도하게 답변을 거부하는 사례가 있어, 이 부분은 안전성 강화와 coverage 사이의 트레이드오프로 보인다고 했다.


Discussion: RL vs Distillation

Qwen-32B-Base 모델에 RL training을 한 모델 (DeepSeek-R1-Zero-Qwen-32B)와 Distillation을 수행한 모델 (DeekSeek-R1-Distill-Qwen-32B)를 비교

 

DeepSeek-R1 논문에서는 smaller model을 그대로 large-scale RL로 학습했을 때와, 더 큰 모델에서 distillation한 경우를 비교했다. 이를 위해 Qwen-32B-Base에 수학, 코드, STEM 데이터를 10,000 스텝 이상 학습해 DeepSeek-R1-Zero-Qwen-32B를 만들었으나, QwQ-32B-Preview와 비슷한 수준에 그쳤다고 했다. 반면 DeepSeek-R1에서 distillation한 DeepSeek-R1-Distill-Qwen-32B는 모든 benchmark에서 훨씬 높은 점수를 달성했다.

따라서 두 가지 결론이 나온다.

  1. Distillation은 훨씬 적은 자원으로도 우수한 성능을 낼 수 있다. 특히 smaller model을 large-scale RL로 직접 학습하는 것보다 효과적이다.
  2. 강력한 base model에 더 큰 규모의 RL을 적용해야 근본적으로 뛰어난 지능 수준을 달성할 수 있다. 즉, distillation 전략은 경제적이고 효율적이지만, 이를 넘어서는 수준을 바라본다면 더 강력한 모델과 대규모 RL이 여전히 필요하다는 것이다.

성공하지 못한 시도들

  1. Process Reward Model(PRM)
    reasoning 과정 각각을 세분화하여 reward를 부여하는 방법을 시도했으나, step-by-step 평가가 어려워 보류했다.
  2. Monte Carlo Tree Search(MCTS)
    AlphaZero 유사 방식으로 step 단위로 탐색하는 기법을 적용했으나, token 단위로 분기되는 거대한 탐색 공간이 문제였고, value model 학습 또한 쉽지 않아 성과가 제한적이었다.
  3. Prompt 민감도
    DeepSeek-R1은 few-shot prompt에서 학습이 오히려 어긋나는 경향이 있었다. 이로 인해 zero-shot prompt가 성능을 극대화한다고 했다.

결론과 향후 계획

DeepSeek-R1 시리즈는 대규모 reinforcement learning과 소량의 cold start data, 그리고 다단계 training을 결합해 reasoning 능력을 끌어올렸다. DeepSeek-R1-Zero는 순수 RL만으로 reasoning 패턴을 자가 발견했고, DeepSeek-R1은 이를 토대로 보다 높은 정확도와 안정성을 달성했다. 이 모델들로부터 생성된 데이터를 작은 모델에 distillation하여 비용 효율적이면서도 준수한 성능을 달성했다.

  • 기능 확장: 멀티턴 대화나 JSON output 등 다양한 인터페이스와 결합해 활용 범위를 넓히는 방안을 모색한다.
  • Language mixing 문제 해결: 영어와 중국어 외의 언어도 더 자연스럽게 대응하도록 언어 일관성 보상이나 추가 학습 전략을 연구한다.
  • Prompt engineering: zero-shot 환경에서 가장 뛰어난 성능을 내도록 prompt를 개선하는 방안, 혹은 few-shot에서도 안정적으로 작동하게 하는 기법을 찾는다.
  • 대규모 RL for software engineering: 장시간 평가가 필요한 분야에서 RL 효율을 높일 방안을 마련해, 전체적인 코딩 성능을 더 끌어올린다.