# DeepSeek-R1 の仕組み
## 参照
- [[DeepSeek-R1 論文]]
- [DeepSeek-R1/DeepSeek_R1.pdf at main · deepseek-ai/DeepSeek-R1](https://github.com/deepseek-ai/DeepSeek-R1/blob/main/DeepSeek_R1.pdf)
- [DeepSeek-R1の論文読んだ?【勉強になるよ】](https://zenn.dev/asap/articles/34237ad87f8511)
## 仕組み
- DeepSeek-V3-Base
- GPT-4o レベル
- 今回のベースのモデル
- DeepSeek-R1-Zero
- GPT-o1 レベル
- DeepSeek-V3-Base に対して「強化学習(後述)のみ」を適用
- 問題
- コールドスタート問題
- 言語の混在
- 汎用タスクに弱い
- DeepSeek-R1
- 少量のCoT (Chain of Thought) データセットを用いた SFT (Supervised Fine-Tuning)
- → コールドスタート問題
- 言語一貫性報酬
- → 言語の混在
- 追加の SFT
- → 汎用タスクの性能向上
```mermaid
flowchart TD
%% API
V3(DeepSeek-V3-Base) -->|Instruction tuning| API
%% R1
classDef CP stroke-dasharray: 5 5
%% SFT (Supervised Fine-Tuning) : 教師ありファインチューニング
V3 -->|SFT w/ CoT| P1(CheckPoint1):::CP
P1 -->|強化学習| P2(CheckPoint2):::CP
P2 -->|SFT| P3(CheckPoint3):::CP
P3 -->|強化学習| P4(CheckPoint4):::CP
P4 --> R1(DeepSeek-R1)
Zero -.- Cold([コールドスタート問題])
P1 -.->|SFT w/ CoT| Cold
Zero -.- Lang([言語混在問題])
P2 -.->|言語一貫性報酬| Lang
Zero -.- Task([汎用タスク問題])
P3 -.->|Reasoning Data + Non-Reasoning Data| Task
%% 小型モデル(大規模モデルの出力で学習)
R1 -->|蒸留| Small(小型モデル)
%% Zero
V3 -->|強化学習のみ| Zero(DeepSeek-R1-Zero)
```
## GRPO + ルールベース報酬
- 強化学習
- LLM
- マルコフ決定過程 (MDP) が成立
- GRPO (Group Relative Policy Optimization)
- 状態評価モデルを使わない
- RLHF (Reinforcement learning from Human Feedback) なし
- ルールベース報酬
- 数学データセット
```mermaid
flowchart LR
%% GRPO (Group Relative Policy Optimization)
RL[強化学習] -.- GRPO[GRPO+ルールベース報酬]
GRPO -.- Math[数学データセット]
Math -.- Prompt[プロンプト]
Math -.- Answer[回答]
GRPO -.-x EvaluationModel[評価モデル]
EvaluationModel -.- Prompt2[プロンプト]
EvaluationModel -.- Good[好ましい回答]
EvaluationModel -.- Bad[好ましくない回答]
```
## Try
[[Try DeepSeek-R1]]