DeepSeek-R1論文読んだ印象
微妙に時系列悩んだけど DeepSeek LLM => R1-Zero => R1 という流れなのかな。最初に公式ページから見つけたリポジトリが DeepSeek LLM の方で、そっちの論文は古かったんだよな。以下は DeepSeek-R1 についての雑感メモ。
ステップ | 目的 | 手法 | 結果 |
---|---|---|---|
Step 1: 事前学習 | 言語知識を獲得 | 大規模コーパスで学習 | 言語理解は可能だが推論能力は未熟 |
Step 2: Cold Start SFT | 回答フォーマットと可読性の向上 | 高品質な少量データでSFT | RLの初期学習がスムーズに進む |
Step 3: GRPO | 推論能力を強化 | 強化学習(RL)+ 報酬関数 | 数学・論理推論・コーディング能力が向上 |
Step 4: Rejection Sampling & SFT | モデルの最終調整 | 高品質な解答を選択して再SFT | 安定性と一貫性が向上 |
こんな感じ。強化学習(RL)だけでやってるわけではなく、その前後でSFTしてますね。ただしこれはSFTがないと完結しないということを意味するのではなく、「効率よくするならSFTあると良いよね」ぐらいの位置づけにも感じます。
強化学習だけでやってみたモデルが DeepSeek R1-Zero で、それだと「推論は向上するけど出力が読みにくい」とか使いづらいモデルになったらしい。それはそれで面白い。
強化学習中心にしている理由というか問題意識は、「CoTだと基本的には長さを増やすことで推論能力向上させようとするけども、増やせば増やすほど良い訳でもなく、増やすことで逆に間違った論理をとることもある」というところに焦点を当てているらしい。SFTだと模倣に近い学習になっちゃう(PPOやRLHFは模倣じゃないけど)ので、「妥当な推論」を如何に自然にさせるかという点で前述した step 1〜4 の多段階学習に辿り着いたらしい。
- step 1は、従来の事前学習。
- step 2は、高品質な少量データで模倣学習的に「どういう出力様式で返すと良いか」を軽く学習させる。(難度の低い学習)
- step 3は、think => answer という形式を守りつつ、どうthinkすると適切なanswerに辿り着けるかという推論方法自体に注力させる。(難度の高い学習)
- step 4は、出力を安定させるために微調整する。
step 3でも難易度順に分けて学習させるとより効果的みたいな話(Curriculum Learning)はありそう。
R1でも「強化学習が主役」なのはその通りだけども、人間の好みを利用していないかというとそれは違う。
R1でも教師データを用意する(step 2, 4)という点では好みを利用している。ただしそこではSFTによる微調整レベルで用いている。強化学習の step 3 では好み無関係(と言うわけでもない)に「推論能力向上」に注力していて、そのための目的関数設計(ここで好みが反映)がうまく機能しているという主張らしい。工夫部分は (1) 従来の正解チェックだけではなく、(2) フォーマットチェック(推論後に回答してるかを出力タグで確認)、(3) 言語一貫性(英語で回答するなら英語だけで回答する)を盛り込んだとのこと。
これだけで推論向上するのか疑問ではあるけども、R1-Zeroでも向上したとは述べているのだよな。R1だとstep2時点で回答フォーマットを模倣するように学習済みで、それを踏まえたstep3では「以下に推論すると良いか」に注力しやすくなっているという多段階学習を取っていることがうまく機能しているということなのかな。ただしうまくいっているという根拠は「学習ステップ進むにツイれて出力トークン長が長くなること」、「ベンチマークのスコア向上」の2点なので、ケース分析してみないと良く分からないというのが実態ではないのかな。と思いつつ、どんどん「それどうやって評価すんの」という領域が増えていくのも面白そう。
関連リンク
- 公式: [ DeepSeek-R1 Release | GitHub | paper ]
- 【論文瞬読】大規模言語モデルの新潮流:Mixture of Experts (MoE) の可能性と課題 by AI Nestさん, 2024/7/12
- DeepSeek R1が何故OSSとして発表されたか by kei_1010さん, 2025/1/29
- DeepSeek R1 Dynamic 1.58-bit の概要 by npakaさん, 2025/1/30
- DeepSeek推しのローカルLLM勢から見るDeepSeek by Holy_foxさん, 2025/1/30
- deepseek使ってみた by ie-ryukyu
- UnslothのGoogle Colabノートブックで手軽にLLMの蒸留ができる by shi3zさん, 2025/2/2