概要
大規模モデルは多くの場合、タスクに対して十分な性能を発揮しますが、大規模に実行するには遅すぎるか、コストがかかりすぎます。Distillation(蒸留)は、対象のタスクにおける大規模モデルの処理を、はるかに小規模なモデルに転移させます。大規模なモデルをteacher(教師)、小規模なモデルをstudent(生徒)と呼び、生徒モデルは人間が書いた回答の代わりに、あるいはそれと並行して、教師モデルの出力を用いてトレーニングされます。
このアイデアは言語モデルよりも前から存在します。Hinton、Vinyals、Deanによる2015年の論文「Distilling the Knowledge in a Neural Network」では、小規模なネットワークは、正解ラベルのみからよりも、彼らがsoft targets(ソフトターゲット)と呼んだ大規模モデルの完全な出力確率から、はるかに多くを学習することが示されました。
教師モデルの確率がより多くを教える理由
正解ラベルは、どの回答が正しかったかを示すだけです。教師モデルの確率は、それぞれの誤答がどの程度間違っていたかも示します。Hintonの例を挙げると、BMWの画像がゴミ収集車と間違われる可能性はごくわずかかもしれませんが、それでもニンジンと間違われる可能性よりは何倍も高いのです。このようなニアミスのパターンは、教師モデルが問題をどのように捉えているかを表しており、それを学習した生徒モデルは、より少ない例からより良く汎化します。
言語モデルの場合、同じことがすべてのトークンに当てはまります。「請求書は…として添付されています」に続く言葉として、教師モデルはPDFに86%、CSVに7%、ファイルに4%の確率を与えるかもしれません。教師モデルのテキストでトレーニングすると、「PDF」のみが保持されます。その分布でトレーニングすると、CSVが妥当な代替案であったこと、そして他のほとんどの単語はそうではなかったことも教えることができます。
Temperature(温度)は、その詳細がどの程度残るかを制御します。確率は、モデルの生のスコア(ロジット)に対するソフトマックスから得られます。ロジットを1より大きい温度Tで割ると分布が平坦になり、順位を保ちながら、小さな確率をトレーニングに影響を与えるほど大きくします。Hintonらは、教師モデルと生徒モデルに同じ高い温度を使用し、Tが上昇するにつれて勾配が1/T²に縮小するため、ソフトターゲットの損失にT²を掛けました。
p_i = exp(z_i / T) / Σ_j exp(z_j / T) # z = the model's raw scores (logits)
T = 1 PDF 0.86 CSV 0.07 file 0.04 link 0.02 zip 0.01
T = 3 PDF 0.43 CSV 0.19 file 0.16 link 0.12 zip 0.10 # same order, softer言語モデルを蒸留する2つの方法
言語モデルには2つの実用的なルートがあり、生徒モデルが誰の回答から学習するかが異なります。
任意のモデルファミリー。テキストのみが引き継がれます。教師ありファインチューニングとまったく同じように学習します。
同じトークナイザーが必要なため、通常、教師は同じファミリーのより大きなモデルになります。自らの間違いから学習します。
| 項目 | オフポリシー(シーケンスレベル) | オンポリシー(トークンレベル) |
|---|---|---|
| 回答の作成者 | 教師モデル(訓練前に1回) | 生徒モデル(ステップごとに新規作成) |
| 引き継がれる内容 | 完成したテキスト | 生徒モデルの回答の各トークンに対する教師モデルの確率 |
| 教師モデルと生徒モデル | 任意のファミリー(テキストのみ共有) | 同一の語彙(トークナイザー)、通常は同一ファミリー |
| 訓練 | プロンプト → 教師モデルの回答に基づく通常の教師ありファインチューニング | トークンごとの生徒モデルと教師モデル間のダイバージェンス |
| プロンプトごとのシグナル | 模倣すべき1つの回答 | 生徒モデルが記述した各トークンに対する修正 |
オフポリシー蒸留は、DeepSeekが小規模なR1モデルを構築した方法です。DeepSeek-R1で生成された約80万のサンプルを使用し、RLなしの教師あり学習のみでQwenとLlamaモデルをファインチューニングしました。彼らの蒸留された32Bモデルは、大規模なRLで直接トレーニングされた同じベースモデルを明らかに上回りました。強力な教師モデルが存在する場合、小規模なモデルに試行錯誤ですべてを発見させるよりも、それをコピーする方が計算リソースの有効活用になることがよくあります。
使用するタイミング
- 特定のトピックにおいて、大規模モデルのように回答する、より安価で高速なモデルを求めている場合。
- 多くの質問があるものの、適切に記述された回答が少ない場合。この場合、教師モデルが回答を提供します。
- 大規模モデルがすでにタスクを適切に処理しているが、規模を拡大するとコストやレイテンシが高すぎる場合。
また、使用すべきでない場合もあります。自社の製品や内部知識に依存しているため、どんなに大規模なモデルでも質問にうまく回答できない場合、蒸留によって転移できるものはありません。まずは自社の返答でトレーニングを行ってください。
- ホストされている大規模モデルはサポートの質問にうまく回答しますが、小規模なオープンモデルに比べてトークンあたりのコストが何倍もかかります。
- ステップ1:除外しておいた質問で、教師モデルと生徒モデルを評価します。教師が明らかに勝っている場合は蒸留する意味がありますが、ほぼ引き分けの場合は意味がありません。
- ステップ2:蒸留を行い、蒸留された生徒モデルを通常の生徒モデルと比較評価します。有用な結果とは、「教師より優れている」ことではなく、生徒の価格で「教師に近い」ことです。
- ステップ3:回答は正しいものの、自社チームらしいトーンではない場合、蒸留されたモデルから継続して、自社の返答を用いた教師あり学習を実行します。
よくある間違い
- 自社の質問で評価していない教師モデルから蒸留すること。その間違いも学習されてしまいます。
- 生徒モデルが教師モデルを上回ることを期待すること。
- 自社のスタイルを期待すること。どちらのルートも教師モデルのスタイルを教えるものであり、自社の返答はせいぜい教師モデルにとっての例にすぎません。
- 教師モデルと生徒モデルがすでにほぼ同等に回答できる場合に蒸留すること。転移できるものはほとんどありません。
- オフポリシールートで数十個のプロンプトを使用すること。その程度の教師テキストでは、モデルの傾向が変わることはめったにありません。
参考文献および関連資料
外部ソースは新しいタブで開きます。
- 01Distilling the Knowledge in a Neural NetworkHinton, Vinyals & Dean, 2015 · arXiv · arxiv.org蒸留を命名した論文:ソフトターゲット、温度、およびT²係数。
- 02Sequence-Level Knowledge DistillationKim & Rush, 2016 · arXiv · arxiv.orgオフポリシー蒸留の基礎となる、教師モデルが生成したシーケンスでのトレーニングによる蒸留。
- 03DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement LearningDeepSeek-AI, 2025 · arXiv · arxiv.org教師あり学習のみでR1から蒸留された小規模モデルと、同じベースでのRLとの比較。
- 04Does Reinforcement Learning Really Incentivize Reasoning Capacity in LLMs Beyond the Base Model?Yue et al., 2025 · arXiv · arxiv.org蒸留は、強化学習(RL)とは異なり、真に新しい推論パターンをモデルにもたらすことができることを発見しています。