Open-R1: DeepSeek-R1 추론 파이프라인 재현하기

Hugging Face는 DeepSeek-R1 추론 파이프라인의 완전한 오픈 소스 재현을 위한 프로젝트인 Open-R1을 출시했습니다. 필요한 스크립트, 레시피, 큐레이션된 데이터셋을 제공함으로써, Open-R1은 커뮤니티가 DeepSeek-R1의 추론 능력을 복제할 수 있도록 하며, 특히 베이스 모델에서 RL-tuned 추론 모델로의 전환에 초점을 맞춥니다.

프로젝트 로드맵 및 현재 진행 상황

Open-R1 프로젝트는 추론 모델 생성을 민주화하기 위해 DeepSeek-R1 기술 보고서를 기반으로 한 3단계 "공격 계획"을 따릅니다:

  1. R1-Distill 모델 복제: DeepSeek-R1에서 고품질 코퍼스를 증류(distill)하여 더 작고 유능한 추론 모델을 생성합니다.
  2. 순수 RL 파이프라인 복제: 수학, 추론, 코드를 위한 대규모 데이터셋을 사용하여 R1-Zero 파이프라인을 재현합니다.
  3. 다단계 학습: 다단계 학습을 통해 베이스 모델에서 RL-tuned 모델로 가는 경로를 보여줍니다.

2025년 5월 26일 기준으로, 1단계가 완료되었습니다. Hugging Face는 수학, 코딩, 과학 분야에서 R1로부터 증류된 350k개의 검증된 추론 트레이스(reasoning traces)를 포함하는 Mixture-of-Thoughts 데이터셋을 출시했습니다. 이 데이터셋은 deepseek-ai/DeepSeek-R1-Distill-Qwen-7B의 성능을 복제하는 OpenR1-Distill-7B를 학습시키는 데 사용되었습니다.

학습 방법론: SFT 및 GRPO

Open-R1는 추론 능력을 달성하기 위해 두 가지 주요 학습 패러다임을 지원합니다:

Supervised Fine-Tuning (SFT)

SFT는 증류(distillation)를 위해 사용됩니다. Mixture-of-Thoughts와 같은 데이터셋으로 학습함으로써, 개발자는 베이스 모델에 추론 트레이스를 빠르게 주입할 수 있습니다. 예를 들어, OpenR1-Distill-7B 모델은 AIME 2024에서 52.7점, MATH-500에서 89.0점을 기록하여 원래의 DeepSeek-R1-Distill-Qwen-7B와 거의 일치하거나 이를 능가했습니다.

Group Relative Policy Optimization (GRPO)

학습 규모를 확장하고 R1-Zero 접근 방식에 다가가기 위해, Open-R1는 GRPO를 구현합니다. 이 프로젝트는 여러 노드에 걸쳐 학습을 확장하기 위해 TRL을 통해 vLLM backend를 활용합니다.

GRPO 구현의 핵심 기능은 code reward function으로, 모델이 생성된 코드의 실제 실행 결과에 따라 보상을 받을 수 있게 합니다. 이는 다음과 같은 샌드박스 환경을 통해 지원됩니다:

  • E2B: Python에 최적화된 클라우드 기반 샌드박스.
  • Morph: Python, JS, C++, Rust를 지원하는 클라우드 기반 샌드박스.
  • Piston: IOI 및 CodeForces 문제를 위한 대안적인 실행 제공자.

평가 및 벤치마크

Open-R1은 DeepSeek의 보고된 결과를 재현하기 위해 lighteval을 사용합니다. 정확성을 보장하기 위해, 이 프로젝트는 특히 AIME 2024와 같이 변동성이 큰 벤치마크(쿼리당 64개의 응답 사용)에 대해 pass@1 정확도를 추정하기 위해 쿼리당 여러 응답을 샘플링하는 것의 중요성을 강조합니다.

재현 결과

Open-R1는 여러 주요 벤치마크에서 DeepSeek의 결과를 1-3 표준 편차 내에서 성공적으로 재현했습니다:

벤치마크 DeepSeek-R1-Distill-Qwen-32B (Open-R1 평가) DeepSeek-R1-Distill-Qwen-32B (DeepSeek 보고)
AIME 2024 69.7 72.6
MATH-500 95.6 94.3
GPQA Diamond 63.1 62.1
LiveCodeBench 56.0 57.2

데이터 생성 및 오염 제거

이 프로젝트는 Distilabel을 사용하여 합성 추론 데이터를 생성하는 전체 파이프라인을 제공합니다. 사용자는 작은 증류된 R1 모델(단일 H100에서) 또는 전체 DeepSeek-R1 모델(여러 노드와 CUDA graph capture 문제를 해결하기 위한 vLLM dev wheels 필요)을 사용하여 데이터를 생성할 수 있습니다.

벤치마크의 무결성을 유지하기 위해, Open-R1는 8-gram을 사용하여 학습 데이터셋에서 오염된 샘플을 식별하고 제거하는 오염 제거 스크립트(scripts/decontaminate.py)를 포함합니다.

커뮤니티 인사이트 및 반론

프로젝트가 중요한 기술적 프레임워크를를 제공하지만, Hacker News의 커뮤니티 논의에서는 재현의 "완전한 오픈 소스" 성격에 대해 일부 회의론이 제약되어 있습니다:

"R1을 실제로 재현하는 데 성공한 것 같지 않으며, 3단계 계획 중 1단계에서만 멈춘 것 같습니다."

다른 기여자들이 OLMoNemotron과 같은 프로젝트를를 위해 더 포괄적인 오픈 학습 파이프라인을 살펴보거나, OpenThoughts를 위해 고급 데이터 큐레이션 방법론 및 DeepSeek의 작은 추론 변형 모델보다 성능이 뛰어난 모델을 살펴보라고 제안했습니다.

Sources