Slide 1

Slide 1 text

asap DeepSeek-R1の論文から 読み解く背景技術 ※営利目的・商用目的・企業内での本資料の利用はご遠慮ください

Slide 2

Slide 2 text

1 はじめに 自己紹介 asap AI・機械学習の理論に興味を持つエンジニア。 ZennでAI関連の技術記事を書いてます。 「asap zenn」で検索! @asap2650 ぜひ今アカウント作って登録してください @asap2650

Slide 3

Slide 3 text

はじめに

Slide 4

Slide 4 text

3 はじめに 本講演の目的 DeepSeek-R1の「技術的な面白さ」を知ってもらうこと 技術に関してそんなに詳しくない人でも「面白い!」と思ってもらえることが本日の目的です 逆に、詳細な(厳密な)技術を知りたいという方は、ぜひ「元論文」を読んでみてください! (論文の中では読みやすい方だと思います) もしくは、 ぜひ私の記事をご覧ください @asap2650

Slide 5

Slide 5 text

DeepSeekの歴史

Slide 6

Slide 6 text

5 DeepSeekの歴史の振り返り DeepSeekの歴史 2025年 1月 2024年 12月 2024年 5月 2023年 11月 2023年 5月 DeepSeek-V3 DeepSeek-V2 DeepSeek-R1 Multi-head Latent Attention DeepSeek MoE auxiliary-loss-free strategy Multi Token Prediction DeepSeek-R1-Zero DeepSeek社 設立 DeepSeek Coder DeepSeek LLM 大規模学習に向けた 精度と計算効率のトレードオフ改善 大規模学習での 精度と安定性の向上 強化学習 GRPO 強化学習による 思考能力の向上と 徹底的な計算効率の改善 DeepSeekMath DeepSeek MoE 当時の 70Bオープンモデルに追いつく DeepSeek-V2.5 DeepSeek-Coder-V2 @asap2650 計算効率の改善と学習の安定性を突き詰めてきた歴史

Slide 7

Slide 7 text

DeepSeek-R1-Zero解説

Slide 8

Slide 8 text

7 DeepSeek-R1-Zero 解説 DeepSeek-R1 論文の構成 強化学習による「DeepSeek-R1-Zero」開発 1 SFT+強化学習で「DeepSeek-R1」完成 2 既存の小型なオープンLLMへの蒸留検証 3 @asap2650

Slide 9

Slide 9 text

8 DeepSeek-R1-Zero 解説 DeepSeek-R1 論文の構成 強化学習による「DeepSeek-R1-Zero」開発 1 SFT+強化学習で「DeepSeek-R1」完成 2 既存の小型なオープンLLMへの蒸留検証 3 @asap2650

Slide 10

Slide 10 text

9 DeepSeek-R1-Zeroのモデル構造 @asap2650 DeepSeek-V3-Baseと同一モデル構造 モデルアーキテクチャの改善 学習方法の改善 DeepSeek-R1-Zero 解説 DeepSeek-V3 DeepSeek-V2 DeepSeek-R1 DeepSeek-R1-Zero DeepSeek LLM モデルパラメータ: 67B → 236B(+169B) モデルパラメータ:236B → 671B(+435B) モデルパラメータ:671B → 671B(変化なし) DeepSeek-V3-Baseへの追加学習にて開発 → 強化学習

Slide 11

Slide 11 text

10 強化学習とは?? @asap2650 一連の行動の流れによって得られる累積報酬の期待値を最大化 DeepSeek-R1-Zero 解説 学習初期 ランダムな動き 一晩放置した後 洗練された動き

Slide 12

Slide 12 text

11 強化学習とは?? @asap2650 途中の行動に正解を与えなくとも最終的なゴールから学習 DeepSeek-R1-Zero 解説 コマンド 入力 コマンド 入力 コマンド 入力 ゲームクリア 報酬 ・・・ ①移動やジャンプなどの「行動」をAIが実施 ③今回の流れで選んだ「行動」の選択確率を上げる (ゲームクリアから近い行動の方が強く更新される) ②クリアで報酬を与える ゲームクリア

Slide 13

Slide 13 text

12 強化学習とは?? @asap2650 途中の行動に正解を与えなくとも最終的なゴールから学習 DeepSeek-R1-Zero 解説 コマンド 入力 コマンド 入力 コマンド 入力 ゲームオーバー 罰 ・・・ ①移動やジャンプなどの「行動」をAIが実施 ③今回の流れで選んだ「行動」の選択確率を下げる (ゲームオーバーから近い行動の方が強く更新される) ②ゲームオーバーで 罰を与える (マイナスの報酬) ゲームオーバー

Slide 14

Slide 14 text

13 LLMで強化学習とは?? @asap2650 LLMは1tokenずつ順番に出力する自己回帰モデル DeepSeek-R1-Zero 解説 あ、あのさ、僕のこと、どう思ってる? LLM子ちゃん ぼく 黒字:入力, 赤字:出力

Slide 15

Slide 15 text

14 LLMで強化学習とは?? @asap2650 LLMは1tokenずつ順番に出力する自己回帰モデル DeepSeek-R1-Zero 解説 あ、あのさ、僕のこと、どう思ってる? ご主人 黒字:入力, 赤字:出力 LLM子ちゃん ぼく

Slide 16

Slide 16 text

15 LLMで強化学習とは?? @asap2650 LLMは1tokenずつ順番に出力する自己回帰モデル DeepSeek-R1-Zero 解説 あ、あのさ、僕のこと、どう思ってる? ご主人様 黒字:入力, 赤字:出力 LLM子ちゃん ぼく

Slide 17

Slide 17 text

16 LLMで強化学習とは?? @asap2650 LLMは1tokenずつ順番に出力する自己回帰モデル DeepSeek-R1-Zero 解説 あ、あのさ、僕のこと、どう思ってる? ご主人様は、 黒字:入力, 赤字:出力 LLM子ちゃん ぼく

Slide 18

Slide 18 text

17 LLMで強化学習とは?? @asap2650 LLMは1tokenずつ順番に出力する自己回帰モデル DeepSeek-R1-Zero 解説 あ、あのさ、僕のこと、どう思ってる? ご主人様は、と〜っても 黒字:入力, 赤字:出力 LLM子ちゃん ぼく

Slide 19

Slide 19 text

18 LLMで強化学習とは?? @asap2650 LLMは1tokenずつ順番に出力する自己回帰モデル DeepSeek-R1-Zero 解説 あ、あのさ、僕のこと、どう思ってる? ご主人様は、と〜ってもかっこいい 黒字:入力, 赤字:出力 LLM子ちゃん ぼく

Slide 20

Slide 20 text

19 LLMで強化学習とは?? @asap2650 LLMは1tokenずつ順番に出力する自己回帰モデル DeepSeek-R1-Zero 解説 あ、あのさ、僕のこと、どう思ってる? ご主人様は、と〜ってもかっこいいです 黒字:入力, 赤字:出力 LLM子ちゃん ぼく

Slide 21

Slide 21 text

20 LLMで強化学習とは?? @asap2650 LLMは1tokenずつ順番に出力する自己回帰モデル DeepSeek-R1-Zero 解説 あ、あのさ、僕のこと、どう思ってる? ご主人様は、と〜ってもかっこいいですよね! 黒字:入力, 赤字:出力 LLM子ちゃん ぼく

Slide 22

Slide 22 text

21 LLMで強化学習とは?? @asap2650 LLMは1tokenずつ順番に出力する自己回帰モデル DeepSeek-R1-Zero 解説 あ、あのさ、僕のこと、どう思ってる? ご主人様は、と〜ってもかっこいいですよね! 臭いけど。 文章が完成しないと、良し悪しがわからないのがLLM →途中経過の良し悪しがわからないけど、ゴールから学習したい 黒字:入力, 赤字:出力 LLM子ちゃん ぼく

Slide 23

Slide 23 text

22 LLMで強化学習とは?? @asap2650 LLMでもマリオと同様の枠組みで強化学習可能 DeepSeek-R1-Zero 解説 token 出力 token 出力 token 出力 良い文章生成 報酬 ・・・ ①tokenを出力するという「行動」をLLMが実施 ③今回の流れで選んだ「行動」の選択確率を上げる (文章完成から近い行動の方が強く更新される) ②良い文章を生成したら 報酬を与える ご主人様は、 と〜っても かっこいいです!

Slide 24

Slide 24 text

23 LLMで強化学習とは?? @asap2650 LLMでもマリオと同様の枠組みで強化学習可能 DeepSeek-R1-Zero 解説 token 出力 token 出力 token 出力 ・・・ ①tokenを出力するという「行動」をLLMが実施 うるせぇ、 話しかけんな! 悪い文章生成 罰 ③今回の流れで選んだ「行動」の選択確率を下げる (文章完成から近い行動の方が強く更新される) ②悪い文章を生成したら 罰を与える (マイナスの報酬)

Slide 25

Slide 25 text

24 従来手法:PPO(Proximal Policy Optimization) @asap2650 今回出力した文章が期待値よりも高いか低いかで学習 DeepSeek-R1-Zero 解説 プロンプト 出力文章 報酬モデル (AI) 状態価値モデル (AI) 報酬 状態価値 (報酬の期待値) Advantage 状態価値:LLMが取得できる累積報酬の期待値 報酬:今回の出力文章での累積報酬 Advantage: 報酬と期待値との差 (正なら行動確率向上) LLM GAE

Slide 26

Slide 26 text

25 報酬モデルとは @asap2650 DeepSeek-R1-Zero 解説 報酬モデル (AI) ご主人様は、と〜ってもかっこいいですよね!臭いけど。[EOS] ご主人様は、と〜ってもかっこいいですよね!臭いけど。 ご主人様は、と〜ってもかっこいいですよね! 報酬モデル (AI) 報酬モデル (AI) 報酬モデル (AI) 報酬モデル (AI) ご主人様は、と〜ってもかっこいい ご主人様は、と〜っても 報酬:0 報酬:0 報酬:0 報酬:0 報酬:-1 各出力tokenごとに報酬モデルが報酬を計算 基本的には文完成([EOS]トークン出力)時に報酬が与えられる 入力(LLMの出力) 出力

Slide 27

Slide 27 text

26 報酬モデルとは @asap2650 DeepSeek-R1-Zero 解説 報酬モデル (AI) ご主人様は、と〜ってもかっこいいですよね!臭いけど。[EOS] ご主人様は、と〜ってもかっこいいですよね!臭いけど。 ご主人様は、と〜ってもかっこいいですよね! 報酬モデル (AI) 報酬モデル (AI) 報酬モデル (AI) 報酬モデル (AI) ご主人様は、と〜ってもかっこいい ご主人様は、と〜っても 報酬:0 報酬:0 報酬:0 報酬:0 報酬:-1 文完成時だけ報酬計算することも多い 入力(LLMの出力) 出力

Slide 28

Slide 28 text

27 報酬モデルとは @asap2650 DeepSeek-R1-Zero 解説 報酬モデル (AI) ご主人様は、と〜ってもかっこいいですよね!臭いけど。[EOS] ご主人様は、と〜ってもかっこいいですよね!臭いけど。 ご主人様は、と〜ってもかっこいいですよね! 報酬モデル (AI) 報酬モデル (AI) 報酬モデル (AI) 報酬モデル (AI) ご主人様は、と〜ってもかっこいい ご主人様は、と〜っても 報酬:0 報酬:0 報酬:1 報酬:0 報酬:-1 区切りの良い箇所でプロセス報酬を与える場合もある (DeepSeek-R1では与えていない) 入力(LLMの出力) 出力

Slide 29

Slide 29 text

28 状態価値モデルとは @asap2650 強化学習では何万回とsampleを出力し学習 ある時点以降から獲得できる累積報酬の期待値を出力する DeepSeek-R1-Zero 解説 状態価値モデル (AI) ご主人様は、 ご主人様は、かっこいいですよね!臭いけど。[EOS] ご主人様は、と〜ってもかっこいいですよね! [EOS] ご主人様は、 それなりに面白いね![EOS] ご主人様は、 私が守るから!安心して。[EOS] ・・・ 報酬モデル (AI) 報酬モデル (AI) 報酬モデル (AI) 報酬モデル (AI) ・・・ LLMは 確率的に文を生成 報酬:-1.0 報酬:+1.0 報酬:+0.3 報酬:+1.2 期待値:+0.8 今回の例だと、期待値(+0.8)なので「ご主人様は、」で始まる文章は、だいたい良い文章になりそう → 報酬+0.3の文章って本当にいい文章? ご主人様は、 入力 (LLMの途中出力) 期待値を 反映するよう学習

Slide 30

Slide 30 text

29 Advantage とは @asap2650 報酬から期待値を引くこと(厳密には違う) で、 バイアスを除去し入力に依存せず、出力を評価できる DeepSeek-R1-Zero 解説 プロンプト 出力文章 報酬モデル (AI) 状態価値モデル (AI) 報酬 状態価値 (報酬の期待値) Advantage 状態価値:LLMが取得できる累積報酬の期待値 報酬:今回の出力文章での累積報酬 Advantage: 報酬と期待値との差 (正なら行動確率向上) LLM GAE Ex)(報酬: +0.3)-(期待値: +0.8)=(Advantage: -0.5)← tokenの出力確率は減少

Slide 31

Slide 31 text

30 従来手法:PPO(Proximal Policy Optimization) @asap2650 3つもAIモデルが必要→計算量が非常に多い DeepSeek-R1-Zero 解説 プロンプト 出力文章 報酬モデル (AI) 状態価値モデル (AI) 報酬 状態価値 (報酬の期待値) Advantage LLM 学習時にすべてGPUに載せて計算しないといけない GAE

Slide 32

Slide 32 text

31 提案手法:GRPO(Group Relative Policy Optimization) @asap2650 「報酬の期待値」→「報酬の平均」で近似し 状態価値モデルを削減し、計算効率を向上 DeepSeek-R1-Zero 解説 プロンプト 出力文章 報酬モデル (AI) 報酬 Advantage LLM 出力文章 出力文章 報酬 報酬 Advantage Advantage 平均計算 バイアス除去

Slide 33

Slide 33 text

32 提案手法:GRPO+ルールベース報酬 @asap2650 報酬をルールベースで与えるようにすることで 報酬モデルも削減し、AIモデルがLLMのみ DeepSeek-R1-Zero 解説 プロンプト 出力文章 報酬 Advantage LLM 出力文章 出力文章 報酬 報酬 Advantage Advantage 平均計算 バイアス除去 報酬付与 ルールベース

Slide 34

Slide 34 text

33 ルールベース報酬とは? フォーマット報酬 1 精度報酬 2 S A I R U DeepSeek-R1-Zero 解説 ・思考プロセスをとタグの間に置くことをモデルに強制する ・フォーマットに合っていれば報酬、合っていなければ罰を与える ・応答が正しいかどうかを評価する ・例えば数学の問題なら、最終的な答えとあっているかどうかで報酬を渡す

Slide 35

Slide 35 text

34 ルールベース報酬:フォーマット報酬 @asap2650 以下のシステムプロンプトに合わせた出力を強制 DeepSeek-R1-Zero 解説 訳) ユーザーとアシスタントの会話。ユーザーが質問し、アシスタントがそれを解決する。 アシスタントは、まず頭の中で思考プロセスを考え、それからユーザに答えを提供します。 思考過程と答えはそれぞれ タグと タグで囲まれます。 つまり、 思考過程はここ 答えはここです。ユーザー:プロンプト アシスタント:

Slide 36

Slide 36 text

35 ルールベース報酬:精度報酬 @asap2650 最終的な答えだけ見て、機械的に採点→報酬を与える AIモデルが不要 DeepSeek-R1-Zero 解説 まずは、未知数をxと定義する。 ここでは兄がもらったアメをx個と置く。 すると弟のもらったアメは「x+8」個になる。 したがって、x+(x+8)=30より、x=11である。 11個 Prompt: 30個のアメを兄と弟で分けたところ、 もらったアメの個数は 弟のほうが兄よりも8個多くなった。 兄のもらったアメは何個か。 結果だけを機械的に比較し「報酬」を与える 正解:11個 思考プロセスは「無視」 R1-Zeroのゴールは「問題を正解しているかどうか」(良い文章、悪い文章かは関係ない) 数学やプログラム問題を解かせる

Slide 37

Slide 37 text

36 ルールベース報酬:精度報酬 @asap2650 思考部分に対しての報酬設定無しで、思考能力が向上 DeepSeek-R1-Zero 解説 まずは、未知数をxと定義する。 ここでは兄がもらったアメをx個と置く。 すると弟のもらったアメは「x+8」個になる。 したがって、x+(x+8)=30より、x=11である。 11個 学習時は無視される 報酬が付与される箇所 報酬無しで思考能力が向上 思考の長さが増加 Aha Moment(モデル出力)

Slide 38

Slide 38 text

37 なぜ思考能力が向上するのか @asap2650 強化学習の枠組みで、正答するためには 「今、何のtokenを出力するべきか」が最適化されるから DeepSeek-R1-Zero 解説 token 出力 token 出力 token 出力 問題に正答 報酬 ・・・ ①tokenを出力するという「行動」をLLMが実施 ③今回の流れで選んだ「行動」の選択確率を上げる (文章完成から近い行動の方が強く更新される) ②正答したら報酬を与える まずは、未知数をxと定義する。 ここでは兄がもらったアメをx個と置く。 すると弟のもらったアメは 「x+8」個になる。 したがって、x+(x+8)=30より、 x=11である。 11個 問題の正答に近づくようなtokenを出力する能力 → ステップバイステップに問題を解く能力が磨かれる

Slide 39

Slide 39 text

PPO(従来手法) DPO(従来手法) 報酬モデルと状態価値モデルが必要 計算量が多すぎる 学習に 「良い回答」「悪い回答」の組が必要 使えるデータセットが少ない 38 著者らの執念 @asap2650 DeepSeek-R1-Zero 解説 いろんな文章で学習できる 学習量:増 報酬モデルと状態価値モデルが不要 計算量:少

Slide 40

Slide 40 text

PPO(従来手法) DPO(従来手法) 報酬モデルと状態価値モデルが必要 計算量が多すぎる 学習に 「良い回答」「悪い回答」の組が必要 使えるデータセットが少ない 39 著者らの執念 @asap2650 「学習データ量を減らさないこと」 「計算量を徹底的に削減すること」への強い執念 DeepSeek-R1-Zero 解説 GRPO+ルールベース報酬(提案手法) いろんな文章で学習できる 学習量:増 報酬モデルと状態価値モデルが不要 計算量:少 高性能と圧倒的に格安なAPI料金の両立を達成している理由か?

Slide 41

Slide 41 text

40 まとめ DeepSeek-R1のモデル構造はDeepSeek-V3と同じ 1 S A I R U DeepSeek-R1-Zero 解説 GRPO+ルールベース報酬で圧倒的な計算効率を達成 2 数学問題を解くことで高い問題解決能力を獲得 3

Slide 42

Slide 42 text

41 最後に まだ話せていないこといっぱいあります @asap2650 ぜひ読んで「いいね」してください! SFT+強化学習で「DeepSeek-R1」完成 既存の小型なオープンLLMへの蒸留検証 論文の他の主張 DeepSeekの面白い技術 Multi-head Latent Attention(DeepSeek-V2) DeepSeek MoE Multi Token Prediction (DeepSeek-V3)