The Illustrated DeepSeek-R1
The Illustrated DeepSeek-R1
A recipe for reasoning LLMs
newsletter.languagemodels.co
DeepSeek-R1은 꾸준히 이어지는 AI 발전의 최신 성과 중 하나로, 머신러닝 연구개발(MR R&D) 커뮤니티에 있어 중요한 공개이다. 그 이유는 다음과 같다.
- 오픈 가중치 모델이며, 더 작은 크기의 증류된 버전도 제공된다.
- OpenAI O1과 같은 추론 모델을 재현할 수 있는 학습 방법을 공유하고 이에 대한 고찰을 제공한다.
복습: LLM은 어떻게 학습되는가
대부분의 기존 대형 언어 모델(LLM)과 마찬가지로 DeepSeek-R1도 한 번에 하나의 토큰을 생성합니다.
그러나 이 모델은 수학 및 논리적 추론 문제 해결에 뛰어난 성능을 보입니다.
그 이유는 문제를 해결하는 과정에서 사고 과정(thinking tokens)을 생성하여 자신의 추론 과정을 설명하는 데 더 많은 시간을 할애할 수 있기 때문입니다.

다음 그림은 고품질 LLM을 만드는 일반적인 과정을 세 단계로 보여줍니다.

- 언어 모델링 단계: 대량의 웹 데이터를 사용하여 모델이 다음 단어를 예측하도록 학습합니다. 이 단계에서는 기본(base) 모델이 생성됩니다.
- 지도 학습 미세 조정(SFT) 단계: 모델이 명령을 따르고 질문에 더 유용하게 답할 수 있도록 미세 조정합니다. 이 과정에서 명령 조정 모델(Instruction-Tuned Model) 또는 지도 학습 미세 조정(SFT) 모델이 생성됩니다.
- 선호도 조정 단계: 모델의 행동을 더욱 다듬고 사람의 선호도에 맞게 조정하는 과정입니다. 이 단계의 결과로 최종 선호도 조정(Preference-Tuned) LLM이 만들어지며, 이를 다양한 앱과 테스트 환경에서 활용할 수 있습니다.
DeepSeek-R1 학습 방식
DeepSeek-R1은 앞서 설명한 일반적인 학습 과정을 따릅니다.
첫 번째 단계(언어 모델링)의 구체적인 내용은 이전 논문에서 소개된 DeepSeek-V3 모델에서 가져왔습니다.
하지만 DeepSeek-R1은 최종 DeepSeek-V3 모델이 아니라, 해당 논문의 기본(base) 모델을 활용합니다.
이후에도 SFT(지도 학습 미세 조정) 및 선호도 조정 단계를 거치지만, 이 단계를 수행하는 방식이 기존과 다르다는 점이 특징입니다.

R1 생성 과정에서 주목해야 할 세 가지 특별한 요소가 있습니다.
1- 긴 논리적 추론 체인을 포함한 SFT 데이터

이는 **긴 사고 과정(chain-of-thought)**을 포함한 추론 예시가 60만 개나 되는 대규모 데이터입니다.
이러한 데이터는 매우 구하기 어려우며, 이 정도 규모로 인간이 라벨링하는 데는 매우 많은 비용이 듭니다.
그래서 이 데이터를 생성하는 과정이 두 번째로 특별한 요소로 강조될 만한 이유입니다.
2- 중간 단계의 고품질 추론 LLM (하지만 비추론 작업에서는 성능이 낮음)
이 데이터는 R1의 전신, 이름 없는 추론 전문 모델에 의해 생성됩니다.
이 모델은 R1-Zero라는 세 번째 모델에서 영감을 받았으며(곧 설명할 예정입니다), 그 자체로는 훌륭한 LLM이 아니라 적은 양의 라벨링된 데이터와 대규모 강화 학습을 통해 생성되어 추론 문제 해결에 뛰어난 성능을 보이는 모델입니다.
이 이름 없는 추론 전문 모델의 출력 결과는 보다 일반적인 모델을 학습시키는 데 사용될 수 있습니다.
이 모델은 추론 작업 외에도 사용자가 기대하는 수준의 다른 비추론 작업을 수행할 수 있습니다.

3- 대규모 강화 학습(RL)을 통한 추론 모델 생성
이는 두 단계로 진행됩니다:

3.1 대규모 추론 중심 강화 학습 (R1-Zero)
여기에서 RL은 중간 단계의 추론 모델을 생성하는 데 사용됩니다.
이후 이 모델은 SFT 추론 예시를 생성하는 데 활용됩니다.
하지만 이 모델을 생성할 수 있게 만든 것은 이전 모델인 DeepSeek-R1-Zero를 생성한 실험 덕분입니다.

R1-Zero는 라벨이 붙은 SFT 학습 세트 없이도 추론 작업에서 뛰어난 성능을 발휘하기 때문에 특별합니다.
이 모델은 사전 학습된 기본 모델에서 바로 RL 학습 과정으로 넘어가며 (SFT 단계 없이) 학습을 진행합니다.
그 결과, o1과 경쟁할 수 있을 정도로 뛰어난 성능을 보여줍니다.

이것은 데이터가 항상 ML 모델의 능력을 위한 연료였다는 점에서 중요합니다.
이 모델이 어떻게 그 역사에서 벗어날 수 있었을까요? 이 질문은 두 가지를 시사합니다:
1- 현대의 기본 모델은 일정 수준 이상의 품질과 능력을 갖추게 되었습니다 (이 기본 모델은 14.8조 개의 고품질 토큰을 사용해 학습되었습니다).
2- 추론 문제는 일반적인 채팅이나 글쓰기 요청과 달리 자동으로 검증하거나 라벨을 붙일 수 있습니다. 이를 예시로 보여드리겠습니다.
예시: 추론 문제의 자동 검증
이것은 RL 학습 단계의 일부인 프롬프트/질문이 될 수 있습니다:
숫자 목록을 받아들여 정렬된 순서로 반환하되, 맨 앞에 42를 추가하는 파이썬 코드를 작성하세요.
이와 같은 질문은 자동 검증을 위한 다양한 방법에 적합합니다.
예를 들어, 학습 중인 모델에 이 문제를 제시하고, 모델이 생성한 결과를 확인할 수 있습니다:
- 소프트웨어 린터를 사용해 생성된 코드가 올바른 파이썬 코드인지 확인할 수 있습니다.
- 파이썬 코드를 실행해 코드가 제대로 실행되는지 확인할 수 있습니다.
- 다른 현대적인 코딩 LLM은 단위 테스트를 생성하여 원하는 동작을 검증할 수 있습니다 (이 모델들이 추론 전문가가 아니더라도).
- 한 걸음 더 나아가 실행 시간을 측정하고, 학습 과정에서 더 성능이 좋은 해결책을 선호하도록 할 수 있습니다 — 이 경우, 해결책이 정확한 파이썬 프로그램이라 하더라도 성능이 더 중요한 기준이 됩니다.
우리는 학습 단계에서 이와 같은 질문을 모델에 제시하고, 여러 가지 가능한 해결책을 생성할 수 있습니다.

우리는 인간의 개입 없이 자동으로 확인하여, 첫 번째 결과는 코드가 아님을 알 수 있습니다.
두 번째 결과는 코드이지만 파이썬 코드는 아닙니다.
세 번째 결과는 가능한 해결책이지만 단위 테스트에서 실패하며,
네 번째 결과는 올바른 해결책임을 확인할 수 있습니다.

이 모든 신호는 모델을 개선하는 데 직접적으로 사용될 수 있습니다.
물론 이는 여러 예시(미니 배치 단위)와 반복적인 학습 단계를 거쳐 이루어집니다.

이러한 보상 신호와 모델 업데이트는 RL 학습 과정에서 모델이 작업을 계속해서 개선하는 방식이며, 이는 논문에서 그림 2에 나와 있습니다.

이 능력의 향상에 대응하여 생성된 응답의 길이가 길어지며, 모델은 문제를 처리하기 위해 더 많은 사고 토큰을 생성합니다.

이 과정은 유용하지만, R1-Zero 모델은 이러한 추론 문제에서 높은 점수를 기록했음에도 불구하고, 원하는 만큼 사용하기 어려운 다른 문제들에 직면합니다.
DeepSeek-R1-Zero는 강력한 추론 능력을 보여주고 예상치 못한 강력한 추론 행동을 자율적으로 개발하지만, 몇 가지 문제를 안고 있습니다.
예를 들어, 읽기 어려움과 언어 혼합 같은 문제에 어려움을 겪고 있습니다.
R1은 더 사용 가능한 모델이 되도록 설계되었습니다.
그래서 RL 과정에만 완전히 의존하는 대신, 이 모델은 앞서 이 섹션에서 언급한 두 가지 방식으로 사용됩니다:
1- 중간 단계 추론 모델을 생성하여 SFT 데이터 포인트를 생성
2- R1 모델을 학습시켜 추론 문제와 비추론 문제를 개선 (다른 종류의 검증자를 사용하여)

3.2 중간 단계 추론 모델로 SFT 추론 데이터 생성
중간 단계 추론 모델을 더 유용하게 만들기 위해, 모델은 수천 개의 추론 문제 예시(일부는 R1-Zero에서 생성되어 필터링된 것)를 기반으로 지도 학습(SFT) 훈련 단계를 거칩니다.
이 논문에서는 이를 콜드 스타트 데이터라고 언급합니다.
2.3.1. 콜드 스타트
DeepSeek-R1-Zero와 달리, 기본 모델에서 RL 훈련의 초기 불안정한 콜드 스타트 단계를 방지하기 위해, DeepSeek-R1은 초기 RL 액터로 모델을 미세 조정하기 위해 적은 양의 긴 CoT 데이터를 구축하고 수집합니다.
이러한 데이터를 수집하기 위해 여러 가지 접근 방식을 탐색했습니다:
- 몇 가지 예시를 활용한 짧은 샷 프롬프트와 긴 CoT를 예시로 사용
- 모델에 반영과 검증을 통한 상세한 답변 생성을 직접 요청
- DeepSeek-R1-Zero 출력을 읽을 수 있는 형식으로 수집
- 후처리 과정을 통해 인간 주석자들이 결과를 세밀하게 다듬음

잠깐만요, 이런 데이터가 있는데 왜 RL 과정에 의존하는 걸까요? 그 이유는 데이터의 규모 때문입니다.
이 데이터셋은 5,000개의 예시일 수 있는데 (이는 소싱할 수 있습니다), R1을 훈련하기 위해서는 600,000개의 예시가 필요했습니다.
이 중간 모델은 그 격차를 메우고, 매우 가치 있는 데이터를 합성적으로 생성할 수 있게 해줍니다.

Supervised Fine-Tuning (SFT)는 prompt와 ‘정답(completion)’ 쌍을 모델에 학습시키는 과정입니다.
이 그림은 몇 가지 SFT 훈련 예시를 보여줍니다:

3.3 일반 RL 훈련 단계
이 단계는 R1이 추론뿐만 아니라 다른 비추론 작업에서도 뛰어난 성능을 발휘할 수 있게 합니다.
이 과정은 우리가 이전에 본 RL 과정과 유사합니다.
하지만 비추론 응용 프로그램으로 확장되기 때문에, 이러한 응용 프로그램에 속하는 프롬프트에 대해 유용성과 안전성 보상 모델을 사용합니다 (Llama 모델과 유사합니다).

아키텍처
GPT2와 GPT3 초기 모델들과 마찬가지로, DeepSeek-R1은 트랜스포머 디코더 블록의 스택으로 구성됩니다.
이 모델은 61개의 디코더 블록으로 이루어져 있습니다.
첫 세 개는 밀집(Dense) 블록이고, 나머지는 Mixture-of-Experts (MoE) 레이어입니다


결론
이로써, 이제 DeepSeek-R1 모델을 이해하는 데 필요한 주요 직관을 얻으셨을 것입니다.

'AI 논문 > AI trend research' 카테고리의 다른 글
The FFT Strikes Back: An Efficient Alternative to Self-Attention (0) | 2025.03.07 |
---|---|
SFT Memorizes, RL Generalizes: A Comparative Study of Foundation Model Post-training (0) | 2025.02.14 |
DeepSeek-R1: Incentivizing Reasoning Capability in LLMs viaReinforcement Learning (0) | 2025.01.31 |
microsoft의 TRELLIS (0) | 2025.01.24 |
Transformer^2: Self-adaptive LLMs (0) | 2025.01.22 |