DeepSeek-R1-Zero/DeepSeek-R1 논문 요약

DeepSeek-R1-Zero/DeepSeek-R1 개요 

DeepSeek: 중국 항저우 인공지능 회사. DeepSeek-V3 등 MoE 모델들 출시. V3의 경우 타 회사 대비 API 비용이 10배 이상 쌈. 감춰져있던 OpenAI-o1은 어떻게 만들까?에 대한 방법론 제시. (답은 SFT->RL->SFT->RL) 


RL로 대규모 학습을 하면 가능성이 있을거야

->어라? 이 부분이 잘안되네?(반복,가독성,언어섞임 문제)

->SFT+RL+SFT+RL hybrid 

DeepSeek-R1-Zero(MoE)와, DeepSeek-R1(MoE), 그리고 6개의 Llama와 Qwen에 기반한 DeepSeek-R1 distilled dense 모델을 공개.

DeepSeek-R1-Distill-Qwen-32B는 OpenAI-o1-mini 를 다양한 benchmark에 대해 이기고 sota 달성.(사진1 참조)

또한 multimodal 을 지원.

chat 버전은 공짜.(한글은 잘 될까?)

API가 ChatGPT 보다 96% 쌈. 


그럼 어떻게? Post-Training: Large-Scale Reinforcement Learning on the Base Model 

순수 RL로만 대규모 학습을 하면 모든게 해결되지 않을까?

반복,가독성,언어섞임 문제를 해결하는 과정에서 서비스 가능한 수준의 DeepSeek-R1이 나옴. 


DeepSeek-R1-Zero 

(2024)Group Relative Policy Optimization 사용.

(사진2: GRPO 참조)


reward 모델링 

accuracy reward: response 가 맞는지 틀리는지에 대한 reward.

Format reward: <think>/</think>로 형식화되는 thinking process에 대한 reward. 


neural reward 모델은 사용X. 대규모 학습 시 reward hacking 문제나 reward model을 재학습하는데 드는 학습 비용을 고려. 

학습 Template 


(사진3:학습 format)과 같이 먼저 <think>로 추론을 하게 하고, <answer>로 최종 answer내는 식으로 형식화. 


성능 

아쉽다... 

(사진4: R1-Zero Benchmark성능)

연구자들 입장에서는 대규모 강화학습만 해서 끝내고 싶었을 것 같은데, OpenAI-o1 보다 미국 수학 올림피아드 시험 점수(AIME) ,math 등 살짝 앞선 것도 있지만 코드 벤치에서는 o1-mini보다 못하는 등의 문제를 해결하고 싶었을 것 같음.

GPQA=A Graduate-Level Google-Proof Q&A Benchmark


발견들

학습할 수록 thinking time이 늘어난다? 사람처럼 aha moment를 가지고 처음의 판단을 재평가하는 모습도.


다만, 반복, 언어섞임, 가독성 면에서 서비스에 쓸 수 있는 모델 수준이 아니었던 듯


DeepSeek-R1 


Cold Start 

작은 양의 long CoT 데이터를 모델을 fine-tune하여 RL의 actor로 사용. 

데이터 수집: 모델들에 반성과 검증을 통해 상세한 답변을 작성하게 하거나 DeepSeek-R1-Zero에서 가독성있는 format으로 모아서,사람 annotator들에게 후처리. 이를 통해 가독성을 보완하고 시작. 


추론 기반 RL 

cold start 모델->대규모 강화학습( DeepSeek-R1-Zero like) 명확하고 잘 정의된 코딩이나, 수학,과학, 논리 추론 능력을 강화하는데 집중. 언어가 섞이는 문제를 해결하기 위해, CoT 상에서 목표 언어의 비율로 계산되는 언어의 consistency reward를 도입. accuracy reward+ language consistency reward를 단순 더하여 활용. 


Rejection Sampling과 SFT 

RL 이 수렴하면, 결과 모델을 다음 과정인 SFT를 위한 데이터를 모으는데 사용합니다.추론에 집중했던 것과 달리 이번 스테이지에서는 기존과 다른 글쓰기, role-playing 그리고 general purpose task들을 수행하도록 했습니다. 


추론 데이터 

RL 모델 결과에 rejection sampling을 진행. 추론 prompt와 추론 과정을 생성하는 것을 검수. DeepSeek-V3를 judgment로 사용해서 모델 예측이 주어진 정답과 비슷하도록 reward를 부여. 언어 섞임, 긴 문단, 그리고 code block을 필터링. 하나의 prompt에 여러 결과를 붙이고 그 중 맞는 것 하나만 남김. 이를 통해 600k개의 추론 관련 학습 sample 을 모음. 


비추론 데이터 

글쓰기나, factual QA나, 자기 인식, 그리고 번역과 같은 비추론 데이터는, DeekSeek-V3의 SFT데이터를 차용. 특정 비추론 task는 DeepSeek-V3로 질문에 답하기 전에 chain-of-thought를 생성하도록 함. 이를 통해 200k 개의 비추론 데이터를 모음. 


또 다시 RL(human preference) 

두번째 rl stage. 모델의 helpfulness와 harmlessness를 향상 및 추론 능력 향상. reward signal들의 조합과 다양한 prompt분포로 모델을 학습. 일반 데이터는 복잡하고 늬앙스가 포함된 시나리오에 대해 human preference를 잡아내도록 학습 (기존 deepseek v3의 파이프라인을 재활용) helpfulness는 최종 요약부분에 집중. 유저 요청에 부합하고 유용하면서도 추론 과정이 최대한 방해하지 않도록. harmless 가능한 위험 위해되는 content를 추론과정과 요약 모두 평가하도록. 


오픈 소스 모델 distillation 

sft만 적용. rl로 성능 부스트가 더 기대되긴하지만 적용하지 않음. 


최종 성능표 

(사진6) 여러 모델과 benchmark 비교

(사진7) ditilled model benchmark. 대규모 RL을 넣으면 더 향상될 수 있었을지?


Unsuccessful Attempts 

성공한 사례만 있는게 아님. Process Reward Model (PRM), Monte Carlo Tree Search (MCTS) 등 실패한 사례들도 기재.

관심있는 분들은 한번 살펴보면 좋을듯. 


(사진8) Reddit에 올라온 전체 pipeline overview


References:

https://github.com/deepseek-ai/DeepSeek-R1

https://github.com/deepseek-ai/DeepSeek-R1/blob/main/DeepSeek_R1.pdf

https://www.reddit.com/r/LocalLLaMA/comments/1i66j4f/deepseekr1_training_pipeline_visualized/?rdt=44947


다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2025년 1월 28일 오전 9:19

댓글 2

함께 읽은 게시물

LLM으로 매우 복잡하고 복합적인 작업이 들어가는 실서비스를 꽤 오랜 기간 해 온 입장에서, 요즘 말하는 콘텍스트 엔지니어링도 사실 매우 옛말이고, 현재 LLM 프롬프트 엔지니어링의 핵심은 뭐랄까.. 명칭을 붙이자면 플로우 엔지니어링이라고 할 수 있겠다.