
5,698 文字

デープシークR1の論文について、どのように作られたのか、なぜブレイクスルーとなったのかを説明していきたいと思います。そのために、シンプルなワークフローを作成しました。高解像度の画像が必要な方はコメント欄でお知らせください。このワークフローでは、DeepseekR1だけでなく、R1ゼロや蒸留モデルなどがどのように作られたのかを説明します。
まず最初に、これはポストトレーニングと呼ばれるものだけであることを理解する必要があります。他のLLMとは異なり、これはポストトレーニングのみです。ポストトレーニングに馴染みがない方のために説明すると、LLMを作成する際には一般的に、プレトレーニングとポストトレーニングがあります。プレトレーニングではベースモデルを作成し、ポストトレーニングではその後にチャットモデルやインストラクトモデルを作成します。
DeepseekR1の場合、なぜポストトレーニングだけなのでしょうか。それは、DeepseekV3のおかげで作られたからです。DeepseekV3がベースモデルとして機能し、これは私たちが「MoE」と呼ぶモデルです。MoEは「mixture of experts(専門家の混合)」の略です。通常、大規模言語モデルではすべてがトークンとして処理され、トークンは密なトランスフォーマーモデルと呼ばれる全ニューラルネットワークで処理されます。しかし、現在非常に人気のある小さな変種があり、それがMoEです。
ニューラルネットワークにはこれらの層がすべてありますが、特定のトークンに対しては一連の層だけが活性化されます。これを「エキスパート」と呼び、すべてのトークンがエキスパートのセットを通過します。これが簡単な言葉で説明するMoEの仕組みです。
DeepseekV3は実際にMoEモデルであり、すでにプレトレーニングされており、強化学習やR1、R10とは何の関係もありません。Deepseekチームが行ったのは、DeepseekV3をベースモデルとして使用し、このビデオで説明するその他すべてのことはDeepseekV3から始まります。
この演習から得られる出力は3つあります。このポストトレーニングは、1つ目がDeepseekR1モデル、2つ目が誰もが話題にしているDeepseekR10モデル、そして3つ目が、ローカルコンピュータで使用できる方法について複数のチュートリアルを作成した蒸留モデルです。
これは非常に巨大なモデルになり、DeepseekR10やDeepseekR1は、あなたのコンピュータで実行することは不可能な本当に巨大なモデルです。完全な量子化されたものを実行する方法について、別のチュートリアルを用意しています。DeepseekR1蒸留モデルは、ローカルコンピュータで実行できるものですが、そのプロセスは全く異なります。
DeepseekR1に関して、R1は彼らが最初に作成したモデルではありませんでした。ご覧の通り、DeepseekR10がこのポストトレーニングプロセスで最初に作成されたモデルでした。DeepseekR1とは何か?彼らはV3をベースモデルとして使用し、現時点で非常に人気のある強化学習アルゴリズムであるGRPO(Group Relative Policy Optimization)を使用しました。
これもDeepseekからのイノベーションですが、DeepseekV3やDeepseekR1からではなく、Deepseek数学論文から来ています。GRPOについて初めて読む場合、Deepseek数学は以前の論文で、そこでDeepseekチームはGRPOを探求しました。
GRPOの重要な点は何でしょうか。強化学習を行うたびに、批評モデル(Critic model)と呼ばれるものが必要です。批評モデルは実際に価値やスコアを見て、映画評論家のように出力を見てスコアを付け、批評します。しかしGRPOは、計算能力を節約し強化学習を改善できるように、批評モデルの必要性を取り除きます。
彼らはGRPOを使用し、教師あり微調整のためのトレーニングデータはありません。コールドスタートや教師あり微調整は必要ありません。10,000ステップの強化学習を使用してDeepseekR10を作成しました。正直に言って、この全体でDeepseekR10が最大のブレイクスルーであり、多くの人々が話題にしていないことです。
なぜそれが最大のブレイクスルーなのでしょうか。彼らは文字通りベースモデルを取り、最近あまり使用されていない強化学習を使用しました。人々は最近、OpenAIによって普及したヒューマンフィードバックからの強化学習(RLHF)として知られるアライメントのために強化学習を使用していますが、最近まで大きな研究所はトレーニングには使用していませんでした。
誰もが行っている教師あり微調整はなく、そのプロセスの中で、推論スキルが自己進化していることが分かりました。Deepseek論文が話題にしている「アハ体験」などは、モデルに明示的に教えることなく、この強化学習の過程で生まれました。
昨日私が作成した、任意のLLMからミニDeepseekを作成するチュートリアルでも、モデルに明示的に推論者になるように指示しませんが、モデルは与えられたトレーニングデータから学習し、そうなっていきます。10,000ステップの強化学習のみを使用し、AIM 2024ベンチマークで1回のパスだけで既に71%のスコアを達成しており、これは本当に素晴らしいブレイクスルーです。
この全体のセットアップにおける最大のブレイクスルーはDeepseekR10であり、これが彼らが最初に作成したモデルです。では、なぜDeepseekR10を使用しなかったのでしょうか?問題は、DeepseekR10は非常に優れたモデルではありますが、思考があり、その思考が終わってから最終的に答えを出すという特徴があります。
R10には思考プロセスの過程で問題があります。思考プロセスの途中で、R10は1つの言語で始まり、突然他の言語に切り替わります。例えば、私の言語であるタミル語を書くとすると、タミル語には行きませんが、英語から別の言語(おそらく中国語)に切り替わり、その後英語に戻ります。言語の使用に大きな一貫性の欠如があり、読みやすさにも問題があります。
この理由により、DeepseekR10の一貫性の欠如がチームを導き、この一貫性の問題を持たない別のモデルを作成することになりました。しかし、最も重要なことは、論文で気付いたかもしれませんが、DeepseekR10が真の推論モデルだということです。DeepseekR10の推論能力は本当に優れており、R1モデルを作成する際にある程度抑制されています。
R10は優れていますが一貫性がなく、R1を作成する必要がありました。R1はR10ほど優れた推論能力は持っていませんが、人々が望むものを作成するのに役立つでしょう。しかし、多くの人々がR10を探求し、そこから何か新しいものが生まれるのを近い将来見ることになるでしょう。
その話は終わり、DeepseekR10はオープンソース化されましたが、誰も注目していません。さて、誰もが話題にしている実際のモデルはR1モデルです。これはどのように作られたのでしょうか。同じ話から始まり、DeepseekV3をベースモデルとして使用し、最初に強化学習に直接進むのではなく、コールドスタートデータを与えています。
機械学習における典型的なコールドスタート問題は、新しいNetflixアカウントを作成した時のようなものです。新しいアカウントを作成した時、Netflixはあなたが何を好むのか分からないため、コールドスタート問題があり、何を推薦すべきか分かりません。
彼らは、アルゴリズムのウォームアップのために、シンプルなコールドスタートデータセットを与えています。彼らは数千のCoT(Chain of Thought:思考の連鎖)の例を使用しています。これは、モデルを思考モデルとして作るための人気のある方法です。
8,000サンプルでモデルをトレーニングし、教師あり微調整を行い、最後に10,000ステップの選好学習による強化学習を行いました。これが最終的にDeepseekR1モデルを生み出し、これが、より小さな予算でOpenAIのowやその他の大手研究所のモデルを上回ると言われている最終モデルです。
このように、10,000ステップの強化学習から最終モデルが作成されました。DeepseekR10はAIMで71%のスコアを達成し、ゼロ無しのDeepseekR1、つまり直接的な強化学習ではないものは79.8%を達成し、OpenAIのo1 mini(最新のものではなく古いモデル)を上回る性能を示しました。
この時点で、2つのモデルがあります。1つはDeepseekR10、2つ目はDeepseekR1のゼロモデルです。DeepseekR1は純粋な強化学習トレーニングモデルであり、教師あり微調整はありません。正確にこのように答えるように指示するのではなく、質問と答えを与えて、報酬に基づいて最適な答え方を見つけ出させます。ここで、ポリシー最適化やGRPOなどが重要になってきます。
ここでもう1つのトラックがあります。それはDeepseekR1トラックです。DeepseekR10には、読みやすさ、言語の切り替え、安定性の問題などがありました。Deepseekチームは、人々を混乱させないものを作ることを決定しました。彼らは別のトラックのトレーニングパイプライン、ポストトレーニングパイプラインを作成しました。
これも再びV3から始まり、これはMoEモデルですが、今度はコールドスタートデータを与え、それから教師あり微調整を行い、その後強化学習を行い、最終的にDeepseekR1モデルが完成しました。これは現時点で、単純な言葉で言えば、少なくともAIM 2024という特定のベンチマークにおいて、DeepseekR10よりも9パーセントポイント優れています。
これが2つのモデルファミリーです。3つ目は、Deepseekチームが私たちがローカルコンピュータでこれらのモデルを使用できるように作成したもので、蒸留モデルと呼ばれています。簡単な言葉で説明すると、蒸留プロセスは次のようなものです。
教師モデルと生徒モデルがあり、生徒モデルが教師モデルから学習することを期待します。生徒モデルは出力を生成し、教師モデルも出力を生成しますが、教師モデルやその他のLLMが出力を生成する方法は対数確率を使用します。生徒モデルは教師モデルの対数確率にアクセスできるので、生徒モデルは教師モデルが作成するのと同じ分布を模倣しようとします。
ある意味で、大学に行ってCS(コンピュータサイエンス)エンジニアになるのではなく、YouTubeを見て優れたCSエンジニアの真似をし、同じ分布で働こうとして出力を作成するようなものです。これは蒸留が行っていることの非常に不完全な定義ですが、蒸留は本当に大きなモデル、非常に高品質なモデルからの出力を使用し、より小さなモデルをトレーニングして、あらゆる面で大きなモデルを模倣するようにするプロセスです。
Deepseekチームは、この時点で安定しているDeepseekR1を取り、蒸留プロセスを行うことを決定しました。彼らは蒸留プロセスを使用して、推論スキルを小さなモデルに転送しました。2つのモデルファミリー、1つはQwen、2つ目はLlamaを使用し、ベンチマーク演習中に、DeepseekR1に基づく蒸留モデルは、7ビリオンパラメータモデルのような小さなサイズのモデルでも、元の32ビリオンパラメータモデルを簡単に上回ることが分かりました。
蒸留は、パラメータ数が少なく、サイズが小さいにもかかわらず、モデルの性能を向上させたようです。最終的に、1.5ビリオンから70ビリオンパラメータモデルまでの異なるサイズの蒸留モデルができました。これらは効率的で、ローカルコンピュータで実行できます。
3つのポストトレーニングトラックがあります。1つは完全に独立したDeepseekR10で、他の2つのトラックは線形的なものです。DeepseekR1を作成し、その後蒸留モデルを作成します。このようにして、誰もが熱狂している一連のDeepseekモデルが誕生しました。
なぜこれが大きな出来事なのでしょうか。まず第一に、純粋な強化学習トレーニングで、不安定性の問題を別にすれば、本当に高品質なモデルを構築できることが分かったからです。これは高品質な推論モデルであり、コールドスタートを導入し、教師あり微調整を行うだけで問題が解決されました。
問題が解決されたと言っていますが、おそらく私たちが理解できない、あるいは人間が理解できないという理由だけで、異なる言語での内部モノローグを持つことをモデルから抑制してしまった可能性があります。これが1つ目の点です。
2つ目は、DeepseekはV3モデルという非常に優れた、本当に素晴らしいベースモデルも作成しており、それ自体が大きな成果です。R1モデルやR1ゼロモデルだけでなく、V3ベースモデル自体が大きな成果であり、私たちが研究を始めるべきものです。
最後に、この段階での蒸留が推論モデルでも非常にうまく機能することが分かり始め、そのため、これは私たち全員が理解すべき非常に優れた論文です。
これがシンプルな説明だったかどうか教えてください。平均的な視聴者を念頭に置いて、彼らが知らないであろうことすべてを説明しようと試みました。それでもまだ理解できない点や質問がある場合は、コメント欄でお知らせください。
また別の動画でお会いしましょう。ハッピープロンプティング!
コメント