Zenn
Closed16

Reasoning LLMs

takupistatakupista
  1. LLMを設計する
  2. 大規模データで基盤モデルを作る <= これが事前学習(Pre-training)の段階
  3. チューニングする <= これは微調整(Post-training/Fine-tuning)の段階
    • 教師あり微調整(SFT)
    • 強化学習による人間フィードバック(RLHF)
  4. モデルをさらに特化させる (マルチモーダル LLMs、Reasoning LLMs、RAGs、Agents)
takupistatakupista

Reasoning LLMs といえば、DeepSeek R1
限られた予算や開発環境で強い推論モデルを開発したので話題に

takupistatakupista

Reasoning LLMs は、
中間ステップ(思考過程)を獲得させて、回答性能を高めたモデル
当たり前だが、LLMのレスポンスに思考過程が入った状態となる

takupistatakupista

OpenAI's o1 は、思考過程を全てを明示的にユーザに示すことはしておらず、
アンサーの一部となる思考過程のみを示してから、メインのアンサーを出している

takupistatakupista

OpenAI's o1 や DeepSeek R1 は高度な数学問題やチャレンジなコーディングに向いているが、推論時間が長くなることから、単純かつ早いレスポンスを求めるケースには向かない。
単純な質問に考えすぎてしまったり、日本の首都は?のような知識ベースの質問にハルシネーションを引き起こしたりする。

takupistatakupista

DeepSeek R1 を作る以前に、以下のモデルは存在した。

  • DeepSeek-V3: 論文で比較基準とした既存モデル。
    • MoE (Mixture of Experts) アーキテクチャを採用
    • 総パラメータ数は671B、実際に活性化されるパラメータは37B。
  • DeepSeek-V3-Base: DeepSeek-R1シリーズの開発の出発点として使用されたモデル。
    • DeepSeek-V3 の基盤となるベースモデル
takupistatakupista

DeepSeek R1 が誕生するまでの流れ

  • DeepSeek-R1-Zero: 教師あり微調整(SFT)を事前ステップとして使わず、純粋に強化学習(RL)のみでDeepSeek-V3-Baseから訓練された実験的モデル。

    • 目的:教師あり学習なしで、純粋に強化学習によってLLMが推論能力を発達させることが可能かを探求するため
    • 報酬システム:主に2種類の報酬を使用
      • 正確性報酬:回答が正しいかどうかを評価(数学問題の最終解答や、コードのコンパイル結果など規則ベースで検証可能な正解)
      • 形式報酬:モデルが思考過程を<think>と</think>タグの間に配置することを促進
    • 発現した能力:自分の解答を検証する能力(自己検証)、解答を振り返って改善する能力(リフレクション)、数百から数千の推論トークンを生成する能力
    • AIME 2024数学テストでは正解率が15.6%から71.0%へと大幅に向上
    • 課題点:出力テキストの可読性が低く、複数言語が混在するなどの問題
  • DeepSeek-R1: DeepSeek-R1-Zeroの課題を解決し、推論性能をさらに向上させるために開発された主要モデル。以下の多段階プロセスで訓練:

    • Cold Start(初期データによる教師あり微調整):数千のChain-of-Thought(CoT)例を集めて、DeepSeek-V3-Baseを教師あり学習(SFT)により初期微調整。このCoTデータの収集方法として以下を使用:
      • 研究者たちがGPT-4などの高性能モデルに詳細な解答例を示し、その後質問に回答させる少数ショット学習法
      • 研究者たちがDeepSeek-V3に「詳細な回答と自己検証を含めてください」と直接プロンプトで指示する方法
      • 研究者たちがDeepSeek-R1-Zeroが生成した解答を人間のアノテーターが編集して読みやすくする方法
    • 推論特化型強化学習:数学、コーディング、科学、論理的推論などに対して強化学習を適用。言語一貫性の報酬も導入し、CoT内のターゲット言語の単語割合を計算して回答の可読性を向上
    • 選別データによる教師あり微調整:推論特化型強化学習が収束した時点で、その結果得られたモデルを使用して新たな教師あり微調整のためのデータを収集。具体的には:
      • 推論データ:数学問題、コーディング課題、科学的質問など「正解が明確に存在する問題解決型のタスク」のデータ。強化学習で訓練されたモデルにこれらの問題を解かせ、例えば「この方程式を解け」というプロンプトに対して複数の解答を生成。各解答には問題を解く思考過程(Chain-of-Thought)と最終的な答えの両方が含まれ、正確な解答のみを選別して保持。こうして約60万件の推論サンプルを収集。
      • 非推論データ:文章作成、事実に基づく質問応答、AIの自己認識(「あなたは何ができますか?」などの質問への対応)、翻訳など「正解が一つとは限らない創造的・対話的なタスク」のデータ。これらについては、DeepSeek-V3の開発時に使用した教師あり微調整データセットから約20万件を選んで再利用。複雑なクエリには思考過程も含めているが、「こんにちは」のような単純な質問には直接回答するデータを使用。
      • これら合計約80万サンプルを使用してDeepSeek-V3-Baseを2エポック微調整。この段階でモデルは複雑な問題を解く能力と、自然な対話や創造的な文章作成能力の両方を備えるようになる。
    • 全シナリオに対する強化学習:人間の好みに合わせるための第二段階の強化学習。
      • 推論データの訓練:数学、コーディング、論理問題など推論タスクでは、DeepSeek-R1-Zeroと同様のルールベース報酬を使用して学習プロセスを導く
      • 一般データの訓練:文章作成や質問応答など複雑で微妙なシナリオでは、人間の好みを捉える報酬モデルを使用
      • 有用性評価:ユーザーへの応答の有用性と関連性を重視するため、最終要約部分に焦点を当て、基礎となる推論プロセスへの干渉を最小化
      • 安全性評価:潜在的なリスク、バイアス、有害なコンテンツを特定・軽減するため、推論プロセスと要約の両方を含む応答全体を評価
takupistatakupista

DeepSeek-R1 が出来たので、蒸留して計算効率の良い小型モデルで高度な推論能力を実現。

  • DeepSeek-R1の蒸留モデル: DeepSeek-R1の推論能力を小型モデルに移植:
    • 目的:計算効率の良い小型モデルで高度な推論能力を実現するため
    • 方法:DeepSeek-R1で生成した約80万の訓練サンプルを使用して小型モデルを教師あり微調整
    • 対象モデル:Qwen2.5シリーズ(1.5B、7B、14B、32B)とLlamaシリーズ(8B、70B)
    • 成果:例えばDeepSeek-R1-Distill-Qwen-7B(7Bパラメータ)がQwQ-32B-Preview(32Bパラメータ)を上回るなど
    • 発見:Qwen2.5-32Bに直接強化学習を適用した場合と比較して、DeepSeek-R1からの蒸留の方が優れた性能を示した。これは大型モデルが発見した推論パターンの重要性を示唆
takupistatakupista

DeepSeek-R1のベンチマーク評価

  • OpenAI-o1-1217と同等の性能を達成し、多様な分野で優れた成績を出す
  • 数学(AIME 2024で79.8%、MATH-500で97.3%)
  • コーディング(Codeforcesで上位3.7%に相当する2,029 Eloレーティング)
  • 知識テスト(MMMLUで90.8%)
takupistatakupista

DeepSeek R1の論文だと、一般的な推論時スケーリング手法(プロセス報酬モデルベースやモンテカルロツリー検索など)を「失敗した試み」と分類したそう。つまり、DeepSeekの開発者たちは、これらの技術を明示的にR1モデル自体に組み込むことが効果的でないと判断した。

takupistatakupista

推論時スケーリング技術とは、モデル自体のパラメータサイズを変えることなく、推論(回答生成)の過程でより多くの計算リソースを投入することで、回答の質を向上させる手法の総称。
主にアプリケーションレベルで実装されることが多く、一般ユーザーには見えないバックエンド処理として行われることがある。

主な特徴は:

  • 計算リソースの増加:
    • より多くのGPUメモリやCPU時間を使用
    • 複数の可能性を並行して計算
    • 同じモデルで複数回の推論を実行
  • 具体的な手法:
    • 多数決投票: 同じ質問に対して複数回回答させ、最も多い回答を採用
      • 同じ質問に対して複数の回答を生成
      • それらの回答の中で最も多く出現する答えを「正解」として採用
      • 例:数学の問題で3回解かせて、2回「42」と1回「38」という答えが出たら、「42」を最終回答
    • ビーム検索: 各トークン生成時に複数の候補を維持し、最も可能性の高い経路を選択
      • 文章を生成する際、各ステップで複数の可能性(トークン)を並行して追跡
      • それぞれの可能性に対して「良さ」のスコアを計算
      • 最も有望な経路のみを残して計算を続ける
      • これにより、文全体の最適な生成経路を見つけ出す
    • Lookahead Search
      • ビーム検索の応用版で、先を見据えて判断
      • 現在のステップだけでなく、将来の潜在的な結果も考慮
      • 必要に応じて以前のステップに戻る(ロールバック)機能を持つ
    • Best-of-N: 複数の完全な回答を生成し、検証モデルで最良のものを選択
      • 複数の完全な回答(N個)を別々に生成
      • 別の「検証モデル」を使って、それらの回答の中から最良のものを選ぶ
    • サンプリング戦略の調整: 温度や上位k値などの設定を調整して多様な回答を得る
  • モデル構造との関係:
    • モデル自体は変更せず、使い方を工夫する
    • モデルの訓練方法(例:DeepSeek R1のCoT訓練)とは別の概念
    • 基本的に「同じモデルからどうやってより良い回答を引き出すか」という手法
takupistatakupista

モデル自体に内蔵されたCoT能力は、推論時スケーリングではなく「モデルの基本能力」と見なして、これがDeepSeek R1の開発者が推論時スケーリングを「別もの」として考えていた理由かもしれない。

takupistatakupista

推論時スケーリング技術は、人間が難しい問題に対して考える時間をもっと取ると、より良い解決策を思いつくのと似ている。

takupistatakupista

CoTと推論時スケーリング技術は「より良い推論結果を得る」という目的では同じだけど、CoTは「モデルの推論能力自体の向上」を目指して、推論時スケーリング技術は計算リソースを多く投下し回答の質を向上させるのを目指している。

このスクラップは8日前にクローズされました
作成者以外のコメントは許可されていません