JA EN
体系蒸留と圧縮
·★ 会員·論文·11分で読めます

蒸留データの設計 — 教師に何を答えさせるか

蒸留で生徒の性能を決めるのは、教師の賢さより「教師に何を問うたか」です。合成データの作り方、カバレッジの設計、難問へ偏らせる理由、正しさのフィルタ、そしてDeepSeek-R1の蒸留がなぜ効いたのかを、前提知識ゼロから解説します。

対象textタスクtraining

DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning


良い先生を雇っても、問題集が薄ければ伸びない

家庭教師を雇うところを想像してください。指導力の高い先生を見つけられたとします。それでも生徒の点数を最後に決めるのは、その先生に何を解かせて、その解答を生徒がどれだけ見たかです。先生が微分積分を極めていても、渡した問題集に一問も微分が載っていなければ、その知識は生徒に一切伝わりません。逆に、生徒がもう完璧に解ける計算ドリルを100枚やらせても、時間を使うだけで何も増えません。

知識蒸留(Knowledge Distillation)でも事情はまったく同じです。知識蒸留を1からで見たとおり、蒸留の中身は「教師モデルの出す確率分布に、生徒モデルの確率分布を近づける」ことでした。損失関数も温度も、そこで説明したものがそのまま使えます。ところが実際に生徒の出来を左右するのは、損失関数の細部ではなく、近づける作業をどの入力の上で行ったかのほうです。

この記事はその「入力の集合」——蒸留データ——の設計の話です。

そもそも、いま蒸留されているのは何か

古典的な蒸留では、教師のロジット(softmaxに入る前の生の出力値)をそのまま取り出して使えました。教師も生徒も自分の手元にあるからです。

ところが現代のLLM蒸留では、教師がAPI越しの巨大モデルだったり、教師と生徒で語彙(トークンの種類)が違ったりします。この場合、確率の表そのものは手に入りません。手に入るのは教師が生成したテキストだけです。

そこで主流になったのが系列レベル蒸留(Sequence-Level Knowledge Distillation)です。教師に問題を解かせ、その出力文をそのまま正解ラベルとみなして、生徒を普通の教師あり学習で訓練します。Kim と Rush が2016年に機械翻訳で示した方法で、いまのLLM蒸留はほぼこの形です。

ここで何が起きたかというと、蒸留という問題が丸ごとデータ作りの問題に変わったということです。損失関数は通常の言語モデル学習と変わりません。設計の自由度は、どんな入力を集め、教師に何回・どんな温度で答えさせ、どの答えを残すか、に移りました。この記事の残りは全部その話です。

仕組み: 生徒が縛られるのは「引いた問題の上」だけ

数式でひとこと押さえておきます。蒸留の損失は、おおまかにこう書けます。

L(θ)=Exq[KL(pT(x)    pS(x;θ))]\mathcal{L}(\theta) = \mathbb{E}_{x \sim q}\Big[\, \mathrm{KL}\big(p_T(\cdot \mid x) \;\|\; p_S(\cdot \mid x; \theta)\big) \Big]
(1)

記号の意味は順に、xx が入力(プロンプト)、qq蒸留データを作るときに入力を引いてくる分布pTp_T が教師の出す確率、pSp_S が生徒の出す確率、θ\theta が生徒のパラメータ、KL\mathrm{KL} が2つの確率分布のズレを測る量(KLダイバージェンス)です。

平易に言い換えると、この式は qq が選んだ問題の上でだけ、教師と生徒の答え方のズレを小さくしなさい」 と言っています。裏を返すと、qq が一度も選ばなかった入力について、この式は生徒に何も要求していません。そこで生徒が何を答えるかは、訓練の外側にある偶然の産物です。

これが蒸留データ設計の出発点です。教師の賢さは pTp_T の質を決めますが、qq を決めるのは私たちです。そして生徒の弱点は、ほぼ qq の穴の形をしています。

FIG 1教師に答えさせるときの温度。温度を下げると教師は毎回ほぼ同じ答えを返し(データが重複する)、上げると裾の候補まで拾って多様になる代わりに間違いも混ざる。蒸留データ生成はこのつまみの上のトレードオフです

「たくさん集めれば良い」ではありません。softmaxと交差エントロピーを使う場合、生徒のロジット に対する損失の勾配は、驚くほど単純な形になります。

この先にあるもの

§

ここから先は会員限定です

解説記事371本・教科書26章・学生モード48単元・論文精読6本が、月額¥490ですべて読み放題になります。新しい解説は毎日3本ずつ増えます。いつでも解約でき、解約後も期間の終わりまで読めます。

会員の方はログインすると続きが表示されます

参考文献

  1. DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning. arXiv:2501.12948論文ページ·PDF
  2. Sequence-Level Knowledge Distillation. arXiv:1606.07947論文ページ·PDF
  3. The False Promise of Imitating Proprietary LLMs. arXiv:2305.15717論文ページ·PDF
  4. Self-Instruct: Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560論文ページ·PDF
  5. STaR: Bootstrapping Reasoning With Reasoning. arXiv:2203.14465論文ページ·PDF

本記事は上記論文の本文にもとづいて執筆しています。数値・主張は原典を優先してください。

コメント

コメントにはログインが必要です