Search

AI/ DeepSeek-R1/ R1-Zero

DeepSeek-R1-Zero와 DeepSeek-R1은 모두 DeepSeek-V3를 기반으로 강화학습을 이용해 Reasoning 능력을 발전시킨 모델이다. DeepSeek-R1-Zero는 순수 RL만 이용해서 reasoning 능력을 개발했다는 점에서 학술적인 의미는 갖지만, DeekSeek-R1은 R1-Zero보다 reasoning 능력이 높다는 것 외에는 새로운 시도가 없는 모델이다. 다만 DeepSeek 연구진이 그간 잘 알려지지 않았던 reasoning 모델을 만들기 위한 학습 방법을 공개했다는 점에서 이 논문의 의미를 찾을 수 있다.
참고로 DeepSeek-R1 시리즈는 reasoning 모델이므로 수학, 과학, 코딩 같이 reasoning 능력이 필요한 task에 대해서는 V3 보다 낫지만, 글쓰기나 QA, 요약, 번역 같은 일반적인 NLP task에 대해서는 V3가 더 낫기 때문에 두 모델 사이의 우열을 가리기는 어렵다.

DeepSeek-R1-Zero

DeepSeek-R1-Zero는 DeepSeek-V3를 기반으로 순수 강화학습만으로 reasoning 능력을 개발한 모델이라는 점에서 가치가 있다. RL만으로 학습 시켰음에도 R1-Zero는 reasoning 벤치마크에서 강력한 성능을 달성했지만, 출력 결과에 대해 readability가 낮거나 language mixing 등의 문제로 한계를 가졌다. 이러한 문제를 해결하기 위해 R1에서는 supervised fine-tuning(SFT) 데이터셋을 활용하게 된다.

Group Relative Policy Optimization

DeepSeek-R1-Zero와 DeepSeek-R1은 모두 강화학습을 위해 Group Relative Policy Optimization(GRPO) 목적을 사용한다. 이것은 DeepSeek-V2에서도 사용되었던 방법으로 Proximal Policy Optimization(PPO) 목적에서 actor 모델과 동일한 크기를 갖는 critic 모델을 제거하여 효율성을 높인 방법이다.
우선 PPO 목적의 식은 아래와 같이 정의된다.
JPPO(θ)=E[min(r(θ)Aπ(s,a),clip(r(θ),1ϵ,1+ϵ)Aπ(s,a))]r(θ)=πθ(as)πθold(as)Q(s,a)r+γV(s)Aπ(s,a)=Q(s,a)V(s)r+γV(s)\begin{aligned}\mathcal{J}_\text{PPO}(\theta) &= \mathbb{E}[\min(r(\theta)A_\pi(s, a), \text{clip}(r(\theta), 1-\epsilon,1+\epsilon)A_\pi(s,a))] \\ r(\theta) &= {\pi_\theta(a|s) \over \pi_{\theta_\text{old}}(a|s)} \\ Q(s,a) &\approx r + \gamma V(s')\\ A_\pi(s, a) &= Q(s,a) - V(s) \approx r+\gamma V(s')\end{aligned}
각 항목에 대한 설명은 아래 참조 페이지 참조. r(θ)r(\theta)는 이전과 현재 정책 사이의 비율로 정책이 너무 급격하게 변하지 않도록 제어하는 역할을 한다.
원래의 PPO에서 가치 함수 V(s)V(s)가 정책 함수 πθ\pi_\theta와 유사한 크기를 갖기 때문에, GRPO에서는 효율성을 위해 V(s)V(s)를 사용하지 않고 아래와 같이 보상을 이용하여 Advantage를 직접 추정하는 방법을 사용한다(각 보상에 대해 보상의 평균을 빼고 표준 편차로 나눠서 정규화한다). 추가로 현재 정책 πθ\pi_\theta이 reference 정책 πref\pi_\text{ref}에서 멀리 떨어지지 않도록 DKL(πθπref)D_\text{KL}(\pi_\theta\|\pi_\text{ref})도 사용한다.
JGRPO(θ)=E[qP(Q),{oi}i=1Gπθold(Oq)]=1Gi=1G(min(πθ(oiq)πθold(oiq)Ai,clip(πθ(oiq)πθold(oiq),1ϵ,1+ϵ)Ai)βDKL(πθπref))DKL(πθπref)=πref(oiq)πθ(oiq)logπref(oiq)πθ(oiq)1Ai=rimean({r1,r2,...,rG})std({r1,r2,..,rG})\begin{aligned} \mathcal{J}_\text{GRPO}(\theta) &= \mathbb{E}[q \sim P(Q), \{o_i\}_{i=1}^G \sim \pi_{\theta_\text{old}}(O|q)] \\ &= \notag {1\over G}\sum_{i=1}^G \left(\min\left({\pi_\theta(o_i|q) \over \pi_{\theta_\text{old}}(o_i|q)}A_i, \text{clip}\left({\pi_\theta(o_i|q) \over \pi_{\theta_\text{old}}(o_i|q)}, 1-\epsilon,1+\epsilon \right)A_i \right) -\beta\mathbb{D}_\text{KL}(\pi_\theta\|\pi_\text{ref}) \right) \\ D_\text{KL}(\pi_\theta\|\pi_\text{ref}) &= {\pi_\text{ref}(o_i|q) \over \pi_\theta(o_i|q)} - \log{\pi_\text{ref}(o_i|q) \over \pi_{\theta}(o_i|q)} - 1 \\ A_i &= {r_i - \text{mean}(\{r_1, r_2, ..., r_G\}) \over \text{std}(\{r_1, r_2, .., r_G\})}\end{aligned}
DeepSeek-R1 시리즈는 이 GRPO 목적을 사용하여 강화학습을 수행한다.

Reward Modeling

DeepSeek-R1-Zero에서 reward-hacking 문제로 신경망 reward 모델을 사용하지 않고 아래 2가지의 rule-based reward model을 사용함.
accuracy reward - 수학, 과학, 코딩 같은 결정론적인 task에서 모델의 응답이 올바른지를 판단
format reward - 모델의 thinking process를 <think></think> tag 사이에 넣도록 강제 함

Training Template

DeepSeek-R1-Zero를 학습하기 위해 기본 모델이 특정한 instruction을 고수하도록 가이드하는 아래와 같은 프롬프트 템플릿을 설계했다고 함. 이러한 템플릿으로 DeepSeek-R1-Zero가 우선 reasoning process를 생성하게 한 다음 최종 답변을 생성하도록 함.
content별 bias를 피하기 위해 이것 외의 다른 제약은 사용하지 않았다고 함.

Aha Moment

DeepSeek-R1-Zero의 가장 놀라운 현상 중 하나로 ‘aha moment’를 설명함. 모델의 중간 버전에서 나타난 이 현상은 아래 그림과 같이 모델이 초기 접근을 재평가하여 문제에 더 많은 생각 시간을 할당하게 했다고 함.
이것은 모델 뿐만 아니라 그것을 관찰하는 연구자들에게도 ‘aha moment’였고 AI에 대해 더 자율적이고 적응 가능한 모델을 만들 수 있는 RL의 잠재력을 나타낸다고 평가함.
논문 상에서는 모델의 중간 버전에서 나타났다고만 설명이 나오고 R1 부분에서는 Aha Moment가 설명되지 않는거 봐서는 다른 버전에서는 재현되지 않았던 것으로 보임

DeepSeek-R1

DeepSeek-R1-Zero는 강화학습만 사용하여 reasoning 모델을 만들었다는 점에서 의미가 있지만, readability가 떨어지고 language mixing 같은 문제가 발생하여 이를 보완하기 위해 일반적인 supervised fine-tuning(SFT)를 활용하여 DeepSeek-R1 모델을 다시 만듦.

Multi-Stage Training Pipeline

보다 높은 성능의 reasoning 모델을 만들기 위해 DeepSeek-R1을 만들 때는 아래와 같이 supervised fine-tuning(SFT)와 RL이 혼합된 4단계를 사용했다.

Cold Start

우선 Cold start로서 여러 방법을 사용하여 수집된 작은 양의 long Chain-of-Thought(CoT) 데이터를 활용해서 DeepSeek-V3 모델에 대해 Supervised Fine-Tuning(SFT)를 수행하고 기초적인 reasoning 능력을 부여함.

Reasoning-oriented Reinforcement Learning

cold start 단계 후에는 DeekSeek-R1-Zero에서 했던 것과 같이 대규모 RL을 수행한다. 여기서는 수학, 과학, 코딩 같은 reasoning에 적합한 task를 중심으로 RL을 수행하고, rule-based reward 모델을 사용함.
다만 R1-Zero와 달리 language mixing 문제를 해결하기 위해 language consistency reward를 추가했는데, 이것이 모델의 성능을 약간 감소시켰지만, 결과적으로 인간 선호에 더 부합했다고 함.

Rejection Sampling and Supervised Fine-Tuning

2단계에서 reasoning task에 대한 reasoning 능력이 갖춰지면, 이번에는 글쓰기, role-playing 같은 일반적인 NLP task를 추가하여 supervised fine-tuning을 수행하고 보다 general 능력을 갖는 모델로 발전시킴
여기서 rule-based로 평가 가능한 수학, 과학, 코딩 등의 task는 여전히 rule-based로 평가하고, 글쓰기, role-playing, 번역 같은 task는 우선 R1에 대해 여러 reasoning 답변을 생성하게 한 후에 V3 모델을 활용해서 가장 적절한 답변을 선택하도록 하는 rejection sampling을 수행하여 reasoning 데이터셋을 추가로 수집한 후에 SFT를 수행함.

Reinforcement Learning for all Scenarios

3단계를 통해 general task에 대한 reasoning 능력을 갖춘 R1 모델에 대해 마지막으로 인간의 선호와 align 되도록 helpfulness와 harmlessness를 갖추도록 하는 마지막 단계를 수행함.
여기서는 다시 RL을 사용하는데, rule-based 평가가 가능한 task는 여전히 rule-based로 평가하고, 그 외의 분야에 대해서는 인간 선호와 align 되도록 reward 모델을 만들어서 RL을 수행함.
논문에는 어떻게 인간 선호를 반영한 reward 모델을 만들었는지가 구체적으로 설명되지 않는데, 아마도 이 단계에서는 (RLHF 같이) 실제 인간의 수작업을 통한 방법을 사용했으리라 생각 됨.

Distillation

DeepSeek-R1을 만든 후에, 이 모델의 reasoning 능력을 더 작은 모델로 distilling하는 것이 가능한지 실험한 내용 설명. 여기서 RL은 사용하지 않고 fine-tuning 만으로 distilling을 수행했는데, 결과적으로 reasoning 능력을 갖는 더 작은 모델을 만드는 것이 가능했다고 함.

참고