The Illustrated DeepSeek-R1

728x90

https://newsletter.languagemodels.co/p/the-illustrated-deepseek-r1?utm_source=pytorchkr&ref=pytorchkr

 

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 모델을 이해하는 데 필요한 주요 직관을 얻으셨을 것입니다.

 

 

 

728x90
TAGS.

Comments