強化学習は不要!Apple チームの「シンプル自己蒸留」でコーディングモデルが自己進化

アイキャッチ画像

現在、AI 大規模言語モデルのコード生成能力の向上は、高品質な人手によるデータの枯渇、教師モデルの能力限界、そして強化学習(RL)手法におけるプロセスの複雑さや不安定性など、複数の要因によって制約を受けています。

こうした中、Apple の研究チームは先日、「シンプル自己蒸留(Simple Self-Distillation: SSD)」と名付ける新手法を提案しました。この手法は、モデル自身から特定の温度パラメータと打ち切り設定を用いて解決策をサンプリングし、検証されていないこれらのサンプルをそのまま標準的な教師あり微調整(SFT)に直接使用するものです。

実験の結果、この手法は Qwen シリーズや Llama シリーズの複数のモデルにおいて、一貫した性能向上をもたらすことが確認されました。コード生成ベンチマークである「LiveCodeBench v6」において、Qwen3-30B-Instruct モデルの pass@1(初回試行成功率)は 42.4% から 55.3% へ向上。特に困難な問題における飛躍が顕著でした。SSD は、大規模言語モデル(LLM)のコード生成能力を高めるための、補完的なトレーニング後(post-training)のアプローチとして注目されています。

研究の概要図

論文リンク:https://arxiv.org/abs/2604.01193

RL を不要にした「シンプル自己蒸留」とは

1. SSD の仕組み

SSD の実装プロセスは、主に 3 つのステップで構成されます。まず第 1 にデータ合成です。研究者は基盤モデルから比較的高い温度設定と特定の打ち切り構成を用いてコード解決策をサンプリングします。この際、各問題あたり 1 つの解のみを生成します。次にトレーニング段階です。ここでは、検証されていない生の出力をそのまま正解ラベル(ターゲット)として使用し、標準的な教師あり微調整を行います。最後に、微調整済みのモデルを用い、特定のデコードパラメータ設定下で評価テストを実施します。

この手法には際立った特長があります。プロセス全体を通じて、コードの実行環境やテストケースによる正解の検証を一切必要としません。また、より強力な教師モデルを導入する必要も、複雑な強化学習アルゴリズムも不要です。データ合成段階において誤った解をフィルタリングする処理も省かれ、モデルが生成したすべての生出力がそのままトレーニングに使用されます。

SSD プロセス図

図 | SSD は極めてシンプルでありながら、2 つのシリーズ、3 種類の規模、計 5 つのモデルにおいて、指示従順型(Instruct)および思考型(Thinking)のいずれの変種においても、LiveCodeBench v6 で顕著な性能向上をもたらしました。基盤モデルからの SSD 用サンプルは、トレーニング段階でデコード温度 $T_{train}$ を用いて生成され、その生出力データに基づいて微調整が行われます。評価段階では $T_{eval}$ を用いてデコードされます。本モデルは、強化学習、検証器、教師モデル、コード実行環境のいずれも使用していません。

2. 実験結果

SSD を適用した結果、LiveCodeBench v6 ベンチマークにおいて、Qwen3-30B-Instruct モデルの pass@1 は 42.4% から 55.3% へ向上し、相対的に 30.4% の改善となりました。より規模の大きな LCB v5 ベンチマークにおいても、同モデルの pass@1 は 45.8% から 54.3% へ上昇し、8.5 ポイントの増加を記録しました。

LiveCodeBench v6 における性能比較グラフ

図 | LiveCodeBench v6 における Qwen3-4B-Instruct および Qwen3-30B-Instruct モデルの、全体・中難度・高難度テストセットでの性能を示しています(オレンジは 4B データセット、ブルーは 30B データセット。斜線はベースライン、実線は SSD 適用後)。下部の注釈が示す通り、評価対象の全 5 モデルで進歩が見られ、特に Qwen3-30B-Instruct では相対的な通過率が 30% 向上し、その最大の効果は高難度タスクにおいて確認されました。

この向上は普遍的な現象です。本手法は Qwen シリーズだけでなく、Llama シリーズのモデルにおいても良好な結果を示しました。実験は 4B、8B、30B と異なる規模のモデルを網羅しています。Instruct バージョン、Thinking バージョンのいずれにおいても、SSD の適用により性能向上が確認されています。

さらに研究により、いくつかの重要な傾向も明らかになりました。性能向上は主に中難度および高難度の問題に集中しています。高難度の問題においては、Pass@1 が 15.3 ポイント向上しました。特筆すべきは、Pass@1 以上に Pass@5(5 回試行時の成功率)の向上幅が大きかった点です。これは、SSD がモデルの出力を単一化・硬直化させるのではなく、むしろモデルの探索能力を強化していることを示唆しています。

難易度別およびモデル別の性能向上内訳

図 | SSD は評価対象の全モデルにおいて性能を向上させ、特に中難度および高難度の問題でその効果が顕著でした。結果は LCB v6 および LCB v5 データセットに基づき、難易度別および推論スタイル(思考型と指示型)別にグループ化されています。各モデルペアの上段が基盤モデル、下段が SSD 適用後のモデルです。セルの網掛け色は基盤モデルからの相対変化を示しており、緑が改善、赤が悪化を意味します。

なぜこれほど単純な手法が有効なのか?

研究によると、SSD の有効性は、モデル内部の確率分布を再形成(リシェイプ)し、コード生成において「精度」と「探索」のニーズの間で生じる対立を解決した点に起因します。

コード生成のプロセスには、2 つの特定の状況(コンテキスト)が存在します。1 つ目はロック(lock)と呼ばれる状況で、確率分布が鋭いピークを示す箇所です。ここではごく少数のトークンが確率質量の大部分を占め、長い干渉の尾部が残りを持ちます。ここには「精度」が求められます。2 つ目はフォーク(fork)と呼ばれる状況で、複数の妥当なトークンにまたがって確率が分布する箇所です。ここでは下流の継続に大きな差を生む可能性があり、「探索」が必要とされます。

ロックとフォークにおけるトークン分布の概念図

図 | 低い $T_{eval}$ と高い $T_{eval}$ の各条件下における、2 種類のコンテキストタイプ(ロックとフォーク)でのトークン分布状況。頭部の品質分布特性が明確に示されています。低い $T_{eval}$ 条件はロックの精度を維持しますが、フォークの有効な頭部(探索能力)を弱めてしまいます。一方、高い $T_{eval}$ 条件はフォークの探索能力を回復させますが、ロックの干渉する尾部を再活性化させ(精度低下)、ノイズを増やしてしまいます。

SSD は、高温サンプリングと打ち切り操作を組み合わせることで、モデル内部の確率分布を再形成します。この手法は、ロックにおける低確率の干渉項を抑制しつつ、フォークにおける複数の妥当な可能性を保持します。これにより、モデルは推論段階でより高い温度を用いて探索を行いつつも、ロックの安定性を損なうことが可能になります。

SSD による分布変化の模式図

図 | SSD はフォークを「プラトー(台地)状態」へ、ロックを「シャープなピーク状態」へと変化させます。斜線入りの棒グラフと破線は基盤モデルを、塗りつぶされた棒グラフと実線は SSD 最適化後のモデルをそれぞれ示します。赤い破線は、SSD プロセスで保持されたサポート閾値を示しています。(a) フォーク状態:拡散した尾部が剪定されますが、複数のトップクラスの継続構造は保持され、重み分布がより均質化されることで、実行可能な分岐の上に幅広いプラトーが形成されます。(b) ロック状態:同様の規則により尾部がより積極的に剪定され、質量が支配的なトークンに集中することで、より鋭いピーク形状が形成されます。

研究者たちは、このメカニズムを検証するための極端な実験を行いました。トレーニング温度を 2.0 に設定し、データの打ち切りを一切行わなかったのです。その結果、生成されたデータの 62% が有効なコードとして抽出できない状態となりました。これほどトレーニングデータの質が極端に低い状況下であっても、SSD はモデル性能を向上させ、Pass@1 を 5.7% 向上させました。この結果は、SSD の有効性が生成されたコードの正しさ依存するものではなく、確率分布の再形成という本質的な作用に由来することを証明しています。

極端な条件下での実験結果

図 | (a) トレーニング温度 $T_{train}=2.0$ かつデータ打ち切りなしの場合、代表的なサンプルは無意味な列へと退化します。出力の約 62% が有効なコードとして抽出不可能でした。(b) それにもかかわらず、微調整済みモデルは基盤モデルの pass@1/pass@5(それぞれ 42.4%/53.5%)を上回り、それぞれ 48.1%、64.0% を達成しました。

示唆されること

本研究は、モデルが「自らの生の出力」のみでトレーニングを行うことにより、コード生成能力を向上可能であることを実証しました。5 つの異なるモデルにおいて、SSD は一貫して LiveCodeBench 上のパフォーマンスを向上させ、その恩恵は特に難度の高い問題に集中していました。

コード生成は、「精度が制約となるロック(precision-bound locks)」と「探索が制約となるフォーク(exploration-bound forks)」の組み合わせです。SSD はトークン分布を再形成することで、デコードプロセスが有用な分岐を探索することを可能にしつつ、不要なノイズの導入を回避します。これらの発見は、現在の強力なコードモデルの内部には、まだ利用されていない潜在能力が秘められており、検証器、教師モデル、強化学習に依存することなく、シンプルな手法によってその能力を「解放(アンロック)」できることを示唆しています。

著者:王躍然

転載または投稿をご希望の場合は、本記事のコメント欄より直接ご連絡ください。

フッター画像
関連記事

分享網址
AINews·AI 新聞聚合平台
© 2026 AINews. All rights reserved.