
2026/06/11 22:14
DeepSeek-R1 のオープンリプロダクション
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Summary: Open-r1 リポジトリは、DeepSeek-R1 の完全なオープンソース実装を提供し、一般利用およびさらなる開発に向けたそのプロプライエタリな推論機能のギャップを効果的に架橋します。プロジェクトは、4 つの主要コンポーネントから構成されます:トレーニングスクリプト(
src/open_r1)、Makefile、DeepSeek の技術報告に基づく攻勢計画、および評価とデータ生成を含む目次です。
プロジェクトの計画には 3 つの重要なステップが含まれます:(1) DeepSeek-R1からの蒸留を通じて R1-Distill モデルを複製すること、(2)精選されたデータセットを使用した純粋な RL パイプライン(R1-Zero)を複製すること、および (3) ベースモデルから微調整バリアントに至る多段階トレーニングの実証です。顕著なマイルストーンとしては、2025 年 5 月 26 日に
Mixture-of-Thoughts(35 万回検証済みのトレース)と、AIME 2024 で DeepSeek の元のスコアである 51.3 に対して約 52.7 を達成する OpenR1-Distill-7B のレシピのリリースによりステップ 1 を完了したことが挙げられます。前回のリリースには、CodeForces-CoTs データセットや IOI24 ベンチマーク、OpenR1-Math-220k が含まれています。
インストールには、CUDA 12.4、Python 3.11、vLLM 0.8.5.post1、FlashAttention、PyTorch 2.6.0、Git LFS および Hugging Face/Weights & Biases のログイン資格情報が要件です。トレーニングコマンドは 8x H100 ノード用に設定されており、DDP または DeepSpeed (ZeRO-2/3) ストラテジーに対応し、SFT Distillation 用のスクリプト
sft.py および GRPO トレーニング用の grpo.py が用意されています。このプロジェクトは、CodeForces/IOI タスクに対して E2B または Morph サンボックスを用いたコード実行報酬をサポートします。
評価は
lighteval を使用して行われ、AIME 2024、MATH-500、GPQA Diamond、LiveCodeBench などのベンチマークで実施され、再現された結果は DeepSeek が報告した結果から約 1〜3 の標準偏差以内に収まっています。データ生成スクリプトは distilabel を使用して合成データを生成し、小さい蒸留モデルとフル DeepSeek-R1 セッティングの両方をサポートするとともに、n-gram デデュプリケーションによるデコンタミネーションに対応します。このプロジェクトは vLLM、SGLang、OpenThoughts、Prime Intellect、General Reasoning チームからの貢献を認めており、引用は @misc{openr1 の下で利用可能です。このイニシアチブは、研究者が推論の進展を透明性を持って構築することを可能にします。本文
DeepSeek-R1 完全公開実装リポジトリ
DeepSeek-R1 の完全なオープンソース実装です。プロジェクトは現在進行中であり、皆様による開発の推進を歓迎します。
📑 目次
- 概要
- アプローチ計画
- インストール
- モデルのトレーニング
- [SFT(蒸留)](#sft 蒸留)
- GRPO
- コントリビューション
概要
本プロジェクトは、R1 パイプラインにおける不足する部分を構築し、実験の再現性と拡張性を確保することを目的としています。シンプルかつモジュール化された設計を採用しています。
リポジトリ構成
: モデルトレーニングおよび合成データ生成のためのスクリプト群src/open_r1
: 指定したデータセットを用いて、GRPO アルゴリズムでモデルを学習させるスクリプトgrpo.py
: データセットに対する教師あり微調整(SFT)を実行するスクリプトsft.py
: Distilabel を使用し、モデルから合成データを生成するスクリプトgenerate.py
: R1 パイプラインの各ステップをコマンド一行で実行できるようにしたシェルスクリプトMakefile
アプローチ計画
DeepSeek-R1 の技術報告を参考にしており、以下の 3 つの主要なステップに分けて実装を進めています。
ステップ 1: R1-Distill モデルの再現
High-quality 思考経路(CoT)を蒸留し、R1-Distill モデルを再現します。
ステップ 2: R1-Zero の開発(純粋な強化学習)
数学・推論・コード分野において新たな大規模データセットをキュレーションし、純粋な RL パイプラインを再現します。
ステップ 3: ベースモデルから RL モデルへの遷移
ベースモデルから、多段階トレーニングを経て RL で調整されたモデルへ到達できることを示します。
ニュース (リリース履歴)
| 日付 | タイトル | 内容の詳細 |
|---|---|---|
| 2025/05/26 | 🎉 ステップ 1 完了! | 「Mixture-of-Thoughts」という新規推論データセットをリリースしました。 - 思考経路数: 350,000(検証済み) - 範囲: 数学、コーディング、科学 - 成果: のトレーニングレシピ公開により、DeepSeek-R1-Distill-Qwen-7B と同等の推論能力を再現しました。 |
| 2025/03/11 | アップデート #3 (コード競技プログラミング) | **「CodeForces-CoTs」**データセットをリリースしました。 - 問題: 10,000 件 - 解答: 100,000 件 パフォーマンス: CodeForces-CoTs でトレーニングされた Qwen モデルは、IOI24 ベンチマークにおいて Claude 3.7 Sonnet を凌ぎ、32B モデルでは DeepSeek-R1 よりも優位に動きました。 |
| 2025/02/10 | アップデート #2 (数学思考) | **「OpenR1-Math-220k」**データセットをリリースしました。 - 思考経路: 220,000(NuminaMath ベース) パフォーマンス: トレーニングしたモデルは、DeepSeek の蒸留モデルと同等の性能を発揮します。 |
| 2025/02/02 | アップデート #1 (パイプライン実装) | トレーニング・推論・評価パイプラインの第 1 段階を実装しました。 |
インストール
環境依存注意
- ライブラリは CUDA 12.4 に依存しています。
- セグメンテーションフォールトエラーが発生した場合は、
でバージョンを再確認してください。nvcc --version
基本的なセットアップ
まず Python の仮想環境を作成します(
uv を推奨):
# UV のインストールガイドは公式ドキュメントを参照してください # uv が未インストールの場合は事前にインストールする必要があります uv venv openr1 --python 3.11 source openr1/bin/activate uv pip install --upgrade pip
Hugging Face クラスター向けヒント
キャッシュ警告を回避するには、
.bashrc に以下を追加してください:
export UV_LINK_MODE=copy
依存ライブラリのインストール
vLLM と FlashAttention をインストールします(PyTorch v2.6.0 も自動的にインストールされます):
uv pip install vllm==0.8.5.post1 uv pip install setuptools && uv pip install flash-attn --no-build-isolation
重要なバージョン情報: vLLM のバイナリは PyTorch v2.6.0 を前提としているため、必ず上記のバージョンを使用してください。
開発環境への追加インストール(コントリビューター向け)
GIT_LFS_SKIP_SMUDGE=1 uv pip install -e ".[dev]"
サービスアカウントと Git LFS
Hugging Face と Weights and Biases (wandb) にログインし、Git LFS をインストールしてください:
huggingface-cli login wandb login # 場合によっては sudo apt-get install git-lfs sudo apt-get install git-lfs
モデルのトレーニング
ハードウェア要件
以下のコマンドは 8×H100 (80GB) のノード構成を前提としています。異なるハードウェアではバッチサイズや勾配累積ステップ数を調整してください。
1. SFT(蒸留)による推論能力再現
DeepSeek-R1-Distill-Qwen-7B の推論能力を再現するためのコマンドです:
ACCELERATE_LOG_LEVEL=info accelerate launch --config_file recipes/accelerate_configs/zero3.yaml \ src/open_r1/sft.py \ --config recipes/OpenR1-Distill-7B/sft/config_distill.yaml
トレーニング結果 (AIME 2024, MATH-500 など)
| モデル | AIME 2024 | MATH-500 | GPQA Diamond | LiveCodeBench v5 |
|---|---|---|---|---|
| OpenR1-Distill-7B | 52.7 | 89.0 | 52.8 | 39.4 |
| DeepSeek-R1-Distill-Qwen-7B | 51.3 | 93.5 | 52.4 | 37.4 |
✅ OpenR1-Distill-7B は数学・論理推論で DeepSeek を上回る結果を出しています。 🛠️
下の YAML ファイルを調整することで、他のベースモデルやデータセットでもトレーニング可能です。recipes/
2. GRPO(グループ相対強化学習最適化)
TRL の vLLM バックエンドを用い、大規模モデルを複数ノードに分散して学習します。 単一ノード(8 GPU)で小規模モデルを学習する場合は、vLLM を同じプロセス内で実行するために
vllm_mode="colocate" を指定してください:
ACCELERATE_LOG_LEVEL=info \ accelerate launch --config_file recipes/accelerate_configs/zero3.yaml \ src/open_r1/grpo.py \ --config recipes/DeepSeek-R1-Distill-Qwen-1.5B/grpo/config_demo.yaml \ --vllm_mode colocate
⚠️ 注意: 蒸留された DeepSeek モデルで使用されているチャットテンプレートには制限事項があります。特定のタスクやモデルとの互換性を確認してください。