Open R1 업데이트 #2: OpenR1-Math-220k 데이터셋 및 추론 인사이트

Hugging Face는 OpenR1-Math-220k를 출시했습니다. 이는 DeepSeek R1의 증류 기능을 복제하도록 설계된 대규모 수학 추론 데이터셋입니다. 이 출시는 더 넓은 Open R1 프로젝트의 일부로, 고성능 추론 모델을 생성하는 데 사용된 훈련 파이프라인 및 합성 데이터 생성 방법을 오픈소스화하는 것을 목표로 합니다.

OpenR1-Math-220k 데이터셋

OpenR1-Math-220k 데이터셋은 증류를 통해 작은 모델에 고급 추론 기능을 전달할 수 있는 기반을 제공하며, 원래 DeepSeek R1 증류에 사용된 비공개 추론 트레이스로 인한 간극을 메웁니다.

데이터 생성 파이프라인

Hugging Face는 512개의 H100 GPU를 사용하여 로컬에서 데이터셋을 생성했으며, vLLM과 SGLang을 활용하여 추론 트레이스를 생성했습니다. SGLang으로의 전환은 거의 2배의 속도 향상을 가져왔으며, H100당 시간당 솔루션 처리량이 15에서 25로 증가하여 하루에 180k개의 트레이스를 생성할 수 있게 되었습니다.

생성 과정의 주요 기술 사양은 다음과 같습니다:

  • Source Material: NuminaMath 1.5를 기반으로 하며, 이는 NuminaMath-CoT의 개선된 버전입니다.
  • Scale: 400k개의 문제에 대해 800k개의 R1 추론 트레이스가 생성되었습니다(문제당 두 개에서 네 개의 솔루션).
  • Prompting: DeepSeek R1에게 "단계별로 reasoning하고, 최종 답변을 \boxed{} 안에 넣으라"고 프롬프트했습니다.
  • Token Limit: 분석에 따르면 문제의 25%가 8k 토큰보다 더 많이 필요하다는 것을 보여주었기 때문에, 생성당 16k 토큰 제한이 설정되었습니다.

자동 필터링 및 품질 관리

고품질 추론 트레이스를 보장하기 위해 Hugging Face는 하이브리드 검증 시스템을 사용했습니다:

  1. Rule-based Verification: Math Verify를 사용하여 팀은 최종 답변을 추출하고 ground truth 데이터와 비교했습니다. 문제의 55%가 적어도 하나의 정답을 가지고 있었습니다.
  2. LLM-based Evaluation: ground truth 답변이 malformed되거나 비어 있는 경우, Llama-3.3-70B-Instruct가 판단자로 작용하여 모델의 솔루션이 참조와 동등한지 판단하여 이전에 거부되었던 28,000개의 문제를 복구했습니다.

최종 데이터셋은 검증된 추론 트레이스가 있는 220k개의 문제로 구성됩니다. 두 가지 분할로 제공됩니다: default 분할 (94k 문제)와 extended 분할 (131k 문제). default 분할은 Supervised Fine-Tuning (SFT) 후 최고의 성능을 보였습니다.

성능 벤치마크

Qwen2.5-Math-Instruct를 default 분할에서 3 에포크 동안 미세 조정(학습률 5e-5, 32k 컨텍스트 길이에 대해 RoPE 주파수를 300k로 증가)한 결과, résulting OpenR1-Qwen-7B 모델은 DeepSeek-Distill-Qwen-7B와 경쟁력 있는 성능을 보여주었습니다:

Model MATH-500 AIME24 AIME25
DeepSeek-Distill-Qwen-7B 91.6 43.3 40
OpenR1-Qwen-7B 90.6 36.7 40
OpenThinker-7B 89.6 30.0 33.3

Math-Verify 개선 사항

Hugging Face는 **Math-Verify (v0.5.2)**를 업데이트하여 복잡한 수식 표현을 더 강력하게 처리하도록 했습니다. 주요 개선 사항은 다음과 같습니다:

  • 텍스트 전용 답변 및 답변 목록에 대한 파싱 향상.
  • 단일 LaTeX 환경 내에서 여러 개의 boxed 답변 지원.
  • gold 답변을 기반으로 세트와 튜플을 구분하기 위한 순서 튜플 도입.
  • 관계 표현(예: $1 < x < 2$) 및 구간(예: $(1,2)$) 지원.

추론 및 GRPO에 대한 커뮤니티 인사이트

최근 커뮤니티 개발은 오픈 모델에서 추론 기능을 유도하는 방식의 변화를 강조하고 있습니다.

GRPO 및 기본 모델 기능

  • 기본 모델 추론: Qwen2.5-0.5B 기본 모델에서 GRPO를 사용한 실험 결과, GSM8k에서 Instruct 버전보다 10점 향상되었습니다. 일부 연구자들은 DeepSeek-R1에서 설명된 "아하" 순간이 RL 과정 allein이 아닌 기본 모델의 내재적 능력의 증상일 수 있다고 제안합니다.
  • 효율성: Unsloth는 GRPO를 최적화하여 15B 파라미터까지의 모델을 단지 15GB VRAM만으로 훈련할 수 있게 했습니다.
  • 검증 불가능한 도메인: GRPO는 시와 같이 전통적으로 검증 가능한 작업인 수학 및 코드를 넘어서는 영역에도 성공적으로 적용되어 그 유용성을 입증했습니다.

데이터 효율성과 잠재 공간 추론

  • 소규모 고품질 데이터: s1K (1,000 샘플) 및 LIMO (817 샘플)와 같은 데이터셋에 대한 연구는 모델이 충분한 사전 훈련 지식을 가지고 있다면, 매우 적은 수의 고품질이고 잘 구성된 예시만으로도 고급 추론을 잠금 해제할 수 있음을 시사합니다.
  • 잠재 공간 추론: 최근 논문에서는 순환 언어 모델을 사용하여 잠재 공간에서 암묵적으로 추론함으로써 테스트 시간 컴퓨팅을 확장하는 방법을 제안합니다. 이는 광범위한 자연 언어 "생각" 토큰을 생성하는 것보다 더 컴퓨팅 효율적입니다.

Chain-of-Thought (CoT) 길이 제어

  • 예산 강제: 이 기술은 "Wait" 또는 end-of-thinking 토큰을 추가하여 추론을 연장하거나 truncate함으로써 테스트 시간 스케일링을 허용하며, 증가된 사고 시간이 더 높은 정확도와 상관관계가 있음을 보여줍니다.
  • 코사인 보상: 정답에 대해 짧은 CoT를, 오답에 대해 긴 CoT를 장려하는 새로운 보상 함수로, RL 훈련을 안정화하고 보상 해킹(모델이 반복을 통해 CoT 길이를 늘려 보상을 얻는 것)을 방지합니다.

Sources