自己進化型LLMによるコード連鎖思考: rStar-Mathの解説

9,715 文字

Code CoT w/ Self-Evolution LLM: rStar-Math Explained
Code CoT w/ Self-Evolution LLM: rStar-Math on Small Language Model (although no Phi-4 from Microsoft). DeepSeek 236B gen...

マイクロソフトの素晴らしい新しい論文について説明させていただきます。前回の動画で紹介したものですが、皆さんから詳しく説明してほしいとリクエストをいただきました。
マイクロソフトリサーチの「rStar-M: 小規模LLMが自己進化による深い思考で数学的推論をマスター」という論文を見てみましょう。しかし、アブストラクトには触れられていない依存関係や興味深い表現がいくつかあることにすぐ気付きます。
まず、マイクロソフトの論文の導入部を詳しく見ていきましょう。彼らは非常に的確に指摘していますが、LLMが単一の推論で完全な解答を生成する、いわゆるシステム1的思考は、迅速だが誤りを起こしやすい結果をもたらすと述べています。これは前回の動画で説明した通り、典型的なLLMの事前学習、教師あり微調整、強化学習、ベクトルストア、そしてデータベース内のプライベートデータを使用する方法です。これがシステム1的思考と呼ばれ、1秒以内に答えが生成されます。
次の文では、テスト時の計算がシステム2的思考へのパラダイムシフトを示唆していると述べています。これは人間の推論を模倣し、よりゆっくりと深い思考プロセスを経るものです。前回の動画で示したように、これはテスト時の計算で、システム2的思考を実現するためには2分から5-6分、場合によっては1時間かかることもあります。時間的制約がない場合、システムに考える時間を与えることで、例えば特定の薬理特性を持つ新しい分子化合物を発見できる可能性があります。
定期購読者の方はご存知かと思いますが、OpenAIのGPT-3のミニバージョンでは、すでに教師あり微調整と強化学習の段階で推論手法を最適化する必要がありました。システム1的思考を最適化することで、より良いシステム2的思考の結果を得られるようになったのです。つまり、強い依存関係があるということです。1と2を最適化すれば、より良い結果が得られるのは当然のことですね。
これはOpenAIだけの話だと思うかもしれませんが、前回の動画では、Googleによる新しい推論、教師あり微調整、強化学習についても見てきました。通常の教師あり微調整や古典的なDPO強化学習ではなく、推論最適化型の学習を行っています。
また、テスト時の計算における推論ポリシーが新しい強化学習を定義することも示しました。推論が強化学習の一環となるわけです。つまり、レベル2で何か新しいことが起きているのかと問われれば、基本的にはレベル1を再訓練してレベル2での良い結果を得ているということです。LLMに対して大規模な訓練の最適化を行っているのです。
マイクロソフトの導入部の3番目の文では、このパラダイムではLLMがポリシーモデルとして機能し、複数の数学的推論ステップを生成し、それらは別のLLMによって評価され、このLLMは報酬モデルとして機能すると述べています。これは数年前からOpenAIが行っていることです。
前回の動画の可視化で示したように、LLMはポリシーモデルとして複数の推論ステップを生成します。この論文では数学に特化していますが、一般的な推論ステップを生成し、どのステップが最良かを報酬モデルで評価するというのは既知の手法です。
面白いことに、これは前回の動画の内容と完全に互換性があります。テスト時の計算では推論ステップの連鎖があり、ツリー構造で進めていく場合、ポリシーモデルとしてのLLM(前回の動画でも今回の論文でも、LLM自体がポリシーモデルとして機能します)が複数の推論ステップを生成します。この新しい論文では、各ステップでポリシーモデルを継続的に微調整していきますが、基本的な考え方は同じです。
ステップ1、2、3、4というように、完璧な推論が行われる可能性のある選択肢が複数生成されます。ツリー構造や直線構造で進めていくことができます。論文によると、これらの推論ステップは報酬モデルとして機能する別のLLMによって評価されます。前回の動画では、LLM自体が、別の何かで定義された停止基準に基づいて評価を行っていましたが、この論文では古典的な報酬モデルを使用しています。ただし、これは全く古典的ではなく、ここにrStar数学モデルの美しさがあります。
導入部では、一般的に我々が従来から行っているような古典的なアプローチを踏襲していると述べられています。ポリシーモデルがあり、次のステップで報酬モデルがそれを評価し、最良のパスが勝利するというシンプルなものです。もちろん、これには多くの追加入力が必要です。
実装に関しては、既知の手順を踏襲しているだけだということを示したかったのです。ツリー構造を使用せずに、モンテカルロツリー探索を行う場合でも、決定論的探索アルゴリズムや任意の探索関数を使用することができます。これらは全て既知のことで、特に新しいものはありません。
では、なぜ数学に応用したのでしょうか。数学と数学的推論に焦点を当てているからです。その通りです。高品質な数学的推論データが既製品として入手困難であることは周知の事実です。誰もが数学を愛しているわけではありません。高品質な数学データの合成にはいくつかの課題があります。ポリシーモデルにとって、正しい推論ステップを区別することは本当に困難です。低品質なデータの排除も複雑です。他にも多くの理由があり、完璧な高度な数学的推論モデルのためのトレーニングデータが不足しています。
そして「自己進化」という用語が出てきます。自己進化という用語を見ると興味を引かれます。自己進化は何の創造を扱うのでしょうか?合成データの創造を扱っているのです。
VentureBeatの最新ニュースを見てみましょう。マイクロソフトの新しい5-4モデルのオープンソース化とも関連しています。Phi-4のリリースが高性能な小規模モデルへのアクセスを拡大する中、このrStar-Math手法は、小規模AIシステムを使用して数学的推論で最先端の結果を達成する専門的なアプローチを示しています。
マイクロソフトがこのPhi-4モデルとrStar-Mathモデルを同時に売り込んでいるのは偶然でしょうか。先日のコミュニティ投稿で示したように、HuggingFaceのオープン言語モデルリーダーボードでは、マイクロソフトのPhi-4は8位にとどまっています。このモデルがなぜそれほど素晴らしいのか、追加の説明が必要かもしれません。
そして偶然にも、マーケティングではrStar-Mathが今プッシュされています。小規模なAIシステムで大規模モデルと同等以上の性能を達成できるという主張です。rStar-Mathは小規模言語モデルを活用し、モナドリサーチで自己進化プロセスを確立します。小規模LLMの灰から不死鳥のように生まれ変わり、GPT-4と同等かそれ以上の力を持つようになるということですが、実際には反復的により高品質なトレーニングデータを生成しているのです。
つまり、自己進化は合成トレーニングデータの生成に焦点を当てているということがわかります。これが最初のステップかもしれませんが、他にも何か待ち受けているのでしょうか。
マイクロソフトによる3つのイノベーションを見てみましょう。各ステップで、より多くの言語モデルがポリシーモデルとして機能し、候補ノードをサンプリングします。各ノードは1ステップの思考の連鎖と対応するPythonコードを生成します。これは驚くべきことかもしれませんが、当チャンネルの購読者なら、2ヶ月前に示したように、数学に限らずあらゆる問題で、Python、Prolog、Eclipse、Scheme、C++などの関数呼び出しを使用して問題を解決できることをご存知でしょう。数学からコードへの変換は、それほど革新的ではないかもしれませんが、今日はマイクロソフトに友好的に接しましょう。
そしてマイクロソフトからのスクリーンショットを見ると、新規のコード拡張チェーン・オブ・ソート合成手法が示されています。これはマーケティング部門が頑張っているように聞こえますが、昨日の動画で示したように、LLMがポリシーモデルとして複数の推論ステップを生成し、各ステップが報酬モデルとして機能する別のLLMによって評価されるという内容です。最も成功した上位2候補がトレーニングデータセットを形成することになります。
これは既知の内容ですが、新しいマイクロソフトの手法ではモンテカルロツリー探索を使用しています。ポリシーモデルはモンテカルロ探索アルゴリズム内でノード生成器として機能します。各ステップで、ポリシーモデルが推論ステップを提案し、数学を扱うためにPython環境を使用して即座に解決策を見つけることができます。
このシンプルなモンテカルロ探索は、2年前からQ学習で知られている品質値を各ステップに提供し、正しい最終答えへの貢献を示します。各ステップを複数のラウンドで反復的に評価することでQ値を精緻化します。具体的なラウンド数については後ほど説明します。
ステップが正しい答えにつながる場合、つまり終端ノードが正しい答えにつながる場合、そのQ値は増加し、そうでない場合は減少します。これは正しい問題解決パターンを強化する単純な例です。
しかし、ここで重要なのは、もはや古典的な報酬モデルを使用していないということです。数学的問題に対する絶対的な報酬を計算することができないためです。代わりに、BERTから知られている選好ペアを使用します。ペアは良い解決策と悪い解決策で構成されます。
絶対的な報酬を4.7などの単一の報酬値として表現する代わりに、システムが「これは良い解決策で、これは悪い解決策」と学習できる複数のペアを持ちます。これを報酬モデルではなく選好モデルと呼び、良い選好と悪い選好があります。このペアはLLMがBERTを学習した際に遭遇したペアワイズランキング損失関数の学習に完璧に適合します。
既知の手順や考え方に常に立ち返ることは偶然ではありません。マイクロソフトには称賛を送らなければなりません。トレーニングプロセス自体には本質的な美しさがあると思います。既知の手順を使用しているかどうかに関係なく、トレーニングプロセスを設計する必要があり、彼らは本当に素晴らしい洞察を達成したと思います。
ラウンド1の初期化フェーズを見てみましょう。最初のポリシーモデルは小規模言語モデルです。この段階では、専用の数学推論ポリシーモデルはありません。それはどこから来るのでしょうか。
ラウンド1で、マイクロソフトは公開されている強力なオープンソースのDeepSeek Coder v2 instructモデルを使用することを決定しました。これは2360億のトレーニング可能なパラメータを持つコードLLMです。小規模モデルとは言えないかもしれませんが、それは細部の問題です。
マイクロソフトは、数学的問題あたりのモンテカルロツリー探索のロールアウト数を計算速度のために8に設定しました。トレーニングデータは非常に大規模なスケールで再現する必要があるためです。トレーニングデータセットについては後ほど説明しますが、ほぼ100万のデータがあります。
つまり、プロセスを開始するために2360億のDeepSeek Coderを使用しているのです。7Bの小規模言語モデルがゼロから始めるわけではありませんが、これは依存関係としてアブストラクトには言及されていません。しかし、モデルがどのように始まるかを知ることは、私たち、つまりあなたと私にとって重要だと思います。
コード拡張チェーン・オブ・ソートアプローチに進みましょう。各ステップで、すでに利用可能な新しいポリシーモデル(2360億パラメータのDeepSeekモデル)は2つのことを生成します。まず、思考の連鎖の推論パスを各ステップで生成します。これは多段階のチェーン・オブ・ソート解決策の自然言語による説明です。さらに、数学を扱っているので、数学的問題を実行するための実際のコードも生成します。
Pythonコードがあれば簡単です。Pythonコードを実行し、コードが正常に実行されれば、それが正しいステップとして追加されます。生成されたチェーン・オブ・ソートは、各ステップの生成された自然言語説明、2360億パラメータモデルによって生成されたPythonコード、そして実行出力(検証が成功したかどうか)で構成されるトレーニング例として機能します。
プロセス全体が、70万以上の数学的問題に対して自然言語による解決ステップの説明、完全なコード、そしてすべての評価を提供する巨大なコーディングLLMで始まるのです。
初期化フェーズでは、報酬モデルはありません。マイクロソフトの論文では、報酬モデルはポリシーモデルに新しいヘッドを追加したものだからです。まだ何もないため、マイクロソフトは端末誘導アノテーションという古典的な解決策を採用しました。これはモンテカルロ探索における初期報酬信号として、成功したトラジェクトリに+1、失敗したトラジェクトリに-1というQ値を割り当てるものです。
良い解決策が見つかれば、完全なツリーを通じてバックプロパゲーションを行う標準的な方程式があります。成功したところではノードのQ値を増加させ、そのエッジとノードがより重要になります。システムは、ツリー探索アルゴリズムにおいてこのパスとエッジ、ノードをたどれば、より高い確率で探索(exploitation)が可能だと認識します。
一方で、まだそれほど重要ではないが完璧な解決策をもたらす可能性のあるノードも探索(exploration)します。これには上限付きモンテカルロツリー探索式を使用します。このモンテカルロ探索は、探索空間における探索と活用のバランスを美しく取ります。
2024年8月、ハーバード大学とマイクロソフトが同じようなアイデアを持っていたことを示しました。彼らもそれをrStarと呼び、小規模LLMをより強力な問題解決者にすることを目指していました。しかし、彼らは推論を自己対戦とモンテカルロ探索に分離し、人間のような推論アクションの豊富なセットを使用していました。
新しいrStar-Mathでは、数学をPythonコードに変換し、そのコードを実行して解決策が正しいかどうかを確認できるため、合成データと合成推論アクション、モンテカルロツリー探索アルゴリズムにおける合成ノードとエッジ、そして検証可能なトラジェクトリを持つことができます。2024年8月にrStarがあり、2025年1月にはもはや人間のアノテーションに頼らない完全な合成データを使用するrStar-Mathがあるのです。
これがラウンド1のデータセット生成でした。次に最も重要な部分、ラウンド1で2360億パラメータのコードLLMによって生成された合成データを使用して、7B(70億パラメータ)の小規模言語モデルのトレーニングデータを得ます。
マイクロソフトが7Bモデルをゼロから訓練すると主張する場合、最初のステップが2360億の事前訓練可能なモデルを使用して解決策を提供し、その複数の解決策から最高のQ値を持つ上位2つのトラジェクトリ(数学的推論における最良の2つの多段階解決策)のみを選択することを忘れているということになります。このステップを忘れて、このデータと見つかったトラジェクトリで新しい小規模な7Bベースモデルを訓練するなら、ゼロからの訓練と言えるかもしれません。マーケティング部門がこの論文の公開に何か言うことがあったとは思いません。
科学チャンネルとして、結果に注目しましょう。結果は本当に興味深いと思います。表3は各ラウンドにおける結果として得られたポリシー小規模言語モデルの精度を示しています。様々なベンチマークがありますが、それほど重要ではありません。
論文の深部で、2360億パラメータのCodeLLMから始め、そのモデル自体がすべてのベンチマークで特定の性能を持っていることが示されています。これが最初の行です。そして興味深いことに、マイクロソフトはQwen 2.5 Math 7BとDeepSeekを、新しい方法論を実証するための最良のモデルとして選択しました。
ラウンド1でお見せした内容に続いて、DeepSeek Coder v2 instructによって生成されたトレーニングデータを使用して7Bの微調整を行いました。最初のベンチマークで69.6%の精度に達しました。元のモデルの性能から大きな飛躍を遂げました。DeepSeekの結果で事前訓練されていないベースのQwen 7Bは58%だったので、58%からほぼ70%まで飛躍したのです。
マイクロソフトが「ゼロから構築した」と言うのは、意味の細部の自由な解釈だと言えるでしょう。その後、ラウンド2、3、4と複数のラウンドがあり、ここで自己進化が起こります。
簡単に説明すると、各ステップで小規模言語モデル、ポリシーモデル、PPM(選好)モデルを、各ラウンドで得られる最良のデータで微調整します。モンテカルロ探索では16のロールアウトがあり、つまり各数学的問題に対して16の可能な解決策があります。正しい解決策に至る推論パスにわずかな違いしかないかもしれませんが、16の順列(最小順列)があれば、それらの中から最良の2つを選択することで、このプロセスを複数回続けることで性能を向上させることができます。
69%から73%、75%、そして78%へと向上し、最終的に元のベースモデルの性能(75.3%)を上回る78.4%に達しました。ただし、これは必ずしも起こるとは限りません。このベンチマークデータでは、マイクロソフトが開始したオリジジナルモデルは57.5%で、同じことを行っても元の性能に近づくことさえできませんでした。
また、ベースモデルが94.9%と非常に良い性能を示し、7Bベースモデルも91.6%と良好な性能を示すケースもありますが、この新しいrStar-Mathを適用しても、開始前の7Bベースモデルの性能にさえ近づけず、ブートストラップモデルのDeepSeek Coder v2 instructからはるかに遠い結果となることもあります。
これは、特定のベンチマークデータやベンチマーク方法論に応じて、公表される成功データがいかに敏感であるかを示しています。彼らは最終的な答えの正解ラベルが与えられた747,000の数学問題から始めました。
ラウンド1、2、3、4の各ラウンドでは、モンテカルロツリー探索を使用してステップバイステップで検証された推論トラジェクトリを生成します。Pythonコードを使用するため、Pythonが機能しているかどうかを正確に知ることができます。これらは新しいポリシー小規模言語モデルとPPMのトレーニングに使用されます。
ポリシーモデルと選好モデルは、異なるヘッドを持つ古典的な小規模言語モデルです。新しいモデルは次のラウンドで高品質なトレーニングデータを生成するために適用されます。この継続的な微調整により、トランスフォーマーの層の深部で実際に重みが変化し、学習が行われます。これはインコンテキスト学習やRAGとは無関係で、実際に微調整プロセスで起こっています。
これがこのモデルの美しさだと思います。7Bモデルの継続的な反復的な微調整が行われているのです。ただし、これには時間がかかります。特定のドメイン専門知識やドメイン知識に対してこのモデルを使用したい場合、かなりの時間がかかります。マイクロソフトが7Bモデルを選んだ理由が理解できます。
PPMも微調整されたポリシーモデルから初期化され、次のトークン予測ヘッドは、出力を-1から+1の範囲に制限するための線形層とtanhスーパープーリング関数で構成されるトランスフォーマー層のスカラー値ヘッドに置き換えられます。これにより、報酬モデル、選好モデルが実現されます。
なぜPhi-4のデータを使用せず、QwenとDeepSeekを選んだのかについては答えられません。Phi-4の性能とその向上を示すことはマイクロソフトにとってwin-winの状況だったはずですが、この方法を選ばなかった理由があったのでしょう。
複数のラウンドを通じた自己進化について、まだ興味深い点があります。4つのラウンドがありますが、ラウンド1、2、3、4を通じて特に変わったことは起こりません。PPMが整い、完璧なQ値アノテーションが行われると、システムを実行させ、動画の冒頭と中盤で説明した通り、モンテカルロ探索とPPMを使用したトレーニング方法を適用するだけです。
これを4回行います。もしかしたらもっと多くのラウンドを行うかもしれません。この方法論には長所と短所があります。
長所から見てみましょう:

データ品質への焦点:モンテカルロツリー探索とバックプロパゲーション、品質値の修正により、常に最良の推論トラジェクトリを見つけ、非常に高品質なトレーニングデータを生成しようとします。
数学的議論において合成データを使用できます。
スケーラビリティ、商用化の可能性、性能、一般化可能性に優れています。

Pythonコードとその生成に大きく依存しています。自然言語の定式化からPythonコードを生成する能力が高いほど、システムの品質も向上します。反復的な継続的な微調整があり、マイクロソフトも認めているように計算コストがかかる可能性があります。
初期ポリシーモデルの強さに強く依存します。この初期ポリシーモデルは2360億の事前訓練可能なパラメータを持つモデルです。DeepSeekが優れている分野では素晴らしいですが、DeepSeekに問題やバイアスがある場合、それらのバイアスはすぐに他のモデルに転移します。
バイアスの制限もあります。モデルは幾何学、特に視覚的理解に問題を示します。視覚的なコンテンツや3D幾何学をPythonでどのようにエンコードするかという課題があります。数学的問題には効果的ですが、幾何学的または視覚的理解については現在も研究が必要です。
rStar-MathのDeepSeek 230Bモデルへの依存性について、そしてこれを取り除いて小規模言語モデルが本当に大規模モデルを上回る性能を発揮できるようにできないかについて、多くの考察を行いました。
最初に233Bモデルによるモンテカルロツリー探索パス、Pythonコード、各数学的クエリの推論パスにおける全ての中間ステップの実行検証があります。この2360億パラメータのモデルが、各中間自然言語推論ステップを生成し、これらの中間ステップはSP終端RO関数によって評価されますが、正しいコードとコードで検証された中間ステップ、そして正しい答えを含むデータの選択された部分のみがトレーニングに使用されます。
4つの正しい解決策があれば、有効な解決策の中から上位2つのみが選択されます。前述の通り、16の順列があれば、最良の上位2つの順列のみを選択することで、最良のものに焦点を当てることができます。
このプロセスを何度も繰り返すことで、最終的に7Bモデルが2360億パラメータのモデルを1-2パーセントポイント上回る性能に達することができるというのが全体的な考え方です。
以上が、rStar数学の詳細な説明です。いくつかの依存関係や細かな工夫はありますが、それ以外は本当に興味深い論文です。テスト時の計算を最適化し、小規模言語モデルでも数学的性能を向上させることができます。
小規模言語モデルに興味がある方は、ぜひチャンネルを購読してください。次回の動画で驚きの内容をお届けします。

コメント

タイトルとURLをコピーしました