Open-R1: DeepSeek-R1 推論パイプラインの再現
Hugging Face は、DeepSeek-R1 推論パイプラインの完全なオープンな再現に特化したプロジェクト Open-R1 を立ち上げました。必要なスクリプト、レシピ、および精選されたデータセットを提供することで、Open-R1 は、コミュニティが DeepSeek-R1 の推論能力を再現できるようにします。特に、ベースモデルから RL で調整された推論モデルへの移行に焦点を当てています。
プロジェクトのロードマップと現在の進捗
Open-R1 プロジェクトは、推論モデルの作成を民主化するために、DeepSeek-R1 のテクニカルレポートに基づいた 3 つのステップの「攻撃計画」に従っています。
- R1-Distill モデルの再現: DeepSeek-R1 から高品質なコーパスを蒸留して、より小さく、有能な推論モデルを作成します。
- 純粋な RL パイプラインの再現: 数学、推論、およびコードに関する大規模なデータセットを使用して、R1-Zero パイプラインを再現します。
- マルチステージ・トレーニング: マルチステージ・トレーニングを通じて、ベースモデルから RL で調整されたモデルへの経路を示します。
2025 年 5 月 26 日現在、ステップ 1 は完了しています。Hugging Face は、数学、コーディング、および科学にわたって R1 から蒸留された 350k の検証済み推論トレースを含む Mixture-of-Thoughts データセットをリリースしました。このデータセットは、deepseek-ai/DeepSeek-R1-Distill-Qwen-7B の性能を再現する OpenR1-Distill-7B のトレーニングに使用されました。
トレーニング手法: SFT と GRPO
Open-R1 は、推論能力を達成するために 2 つの主要なトレーニング・パラダイムをサポートしています。
Supervised Fine-Tuning (SFT)
SFT は蒸留に使用されます。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 のような高分散なベンチマーク(1 クエリあたり 64 個のレスポンスを使用)において、pass@1 精度を推定するために、1 クエリあたりの複数のレスポンスをサンプリングすることの重要性を強調しています。
再現結果
Open-R1 は、いくつかの主要なベンチマークにおいて、DeepSeek の結果を標準偏差 1-3 の範囲内で正常に再現しました。
| Benchmark | DeepSeek-R1-Distill-Qwen-32B (Open-R-1 Eval) | DeepSeek-R1-Distill-Qwen-32B (DeepSeek Reported) |
|---|---|---|
| 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 で止まっているようだ。"
他の貢献者は、より包括的なオープン・トレーニング・パイプラインについては OLMo や Nemotron を見ることを、あるいは、高度なデータ・キュレーション手法や DeepSeek のより小さな推論バリアントを上回るモデルについては OpenThoughts を見ることを提案しています。