この論文は、小さな言語モデルが大きな教師モデルを模倣して学ぶ「オンポリシー蒸留(On-Policy Distillation, OPD)」の過程で、生徒の応答が異常に長くなり生成予算(長さの上限)を使い切ってしまう現象の原因を掘り下げている。著者らは、その中心的な原因の一つが、生徒と教師とで文を終える際に異なる「終了トークン(EOS)」へ確率を集中させている点、すなわち終了トークンの不一致(termination-token mismatch)であることを明らかにした。そして、表面上宣言された終了トークンの集合を揃えるだけでは不十分であり、機能的に同じ役割を果たすEOS同士を「一つの意味的な終了行動」として扱うと、Qwen3・Llama・Gemmaの三系統すべてで長さインフレが大きく減ることを示した。
言語モデルをより小さく速くする代表的な方法が「蒸留(distillation)」である。大きなモデル(教師)が下す判断を、小さなモデル(生徒)が真似るように学習させるのだ。なかでもオンポリシー蒸留(OPD)は、生徒が自分で文を生成してみて、その生成過程で「教師ならどうしたか」をリアルタイムに比較しながら学ぶ方式である。生徒を自分の足で歩かせつつ、傍らで教師が修正してくれるようなものだ。
ところが、ここで奇妙なことが起こる。生徒の回答がどんどん長くなるのだ。短く終えてよい答えを延々と書き続け、ついには定められた最大長(生成予算)を使い切ってしまう場合まで出てくる。これがこの論文の扱う「長さインフレ(length inflation)」である。
たとえるとこうだ。話を終えるとき、ある人は句点を打ち、ある人は「以上です」と言って締めくくる。どちらも「文を終える」という同じ機能を果たすが、表に出る合図は異なる。教師は「以上です」で終える癖があるのに対し、生徒はもともと句点で終える癖があったとしよう。OPDは生徒に「お前が好きな句点での締めくくりは抑えろ」という合図を送るが、だからといって教師の好む「以上です」という締めくくりを確実に受け継がせてくれるわけでもない。結果として生徒は「どう終えればよいか」を見失い、話し続けてしまうことになる。
従来、こうした問題は長さペナルティやハイパーパラメータ調整といった大まかな手当てで扱われてきたが、この論文は問題の根を「締めくくり方(終了トークン)の不一致」という具体的なメカニズムとして突き止めた点が異なる。
著者らが見いだした核心的な事実はこうだ。生徒(事前学習のみを済ませたbaseモデル)と教師(追加の後続学習を経たpost-trainedモデル)は、たとえ表面上「宣言した終了トークンの集合(stopping set、文を終えるのに使うと定めた特殊トークン群)」が完全に同じ場合であっても、実際に確率を集中させるEOSトークンが互いに異なりうる、ということだ。Qwen3・Llama・Gemmaの三系統すべてでこの現象が観測された。
この不一致がなぜ問題なのか。OPDは、生徒がもともと好んでいた終了行動を抑え込む。ところが、教師が好む代替の終了トークンは生徒へ安定して伝わらない。つまり「終える」という行動そのものが二つのモデルの間で滑り落ち、生徒は文をいつ終えるべきかの合図をまともに受け取れなくなり、答えが間延びしてしまう。
ここで著者らが投げかける問いが重要だ。「では、終了トークンの集合さえ互いに揃えてやれば(align the decoding stopping set)よいのではないか?」実験の結果は「それだけでは不十分(insufficient)」だった。リストを揃えたからといって、二つのモデルが実際に同じトークンへ確率を乗せるわけではないからである。
そこで提案した方法が、「機能的に同じEOSトークン同士を一つの共有された意味的な終了行動(shared semantic stopping action)として扱う」ことだ。先のたとえに戻れば、句点であれ「以上です」であれ「文を終える」という同じ意味の行動としてまとめ、生徒がどの方式で終えようとも「終える」という意図が教師と生徒の間で正しく伝わるようにしたのである。見た目(どのトークンか)ではなく機能(何をするか)を基準に揃えたわけだ。
このアプローチは、三系統すべてで不一致による長さインフレを相当程度(substantially)緩和した。
アブストラクトが示す成果は大きく三つある(具体的な数値はアブストラクトに提示されていないため、定性的に整理する)。
| 試み | 結果 |
|---|---|
| 終了トークンの集合だけを揃える | 不十分 — 不一致が残る |
| 機能的に同じEOSを共有終了行動として扱う | Qwen3・Llama・Gemma全般で長さインフレを相当緩和 |
| K2-Horizonの段階別OPD分析 | 終了選好が学習中に大きく移動、後半に別の長さインフレが残存 |
さらに著者らは、終了行動が学習過程でどう変化するかを見るために、K2-Horizonという複数の学習段階にわたってOPDを分析した。この段階別分析から二つのことが明らかになった。第一に、終了選好(termination preference)は学習が進むあいだに大きく移動しうる。すなわち「いつ終えるか」についてのモデルの癖は固定されたものではなく、学習中に変わり続ける。第二に、OPDの後半には、終了の整合を取っても消えない(persists beyond termination alignment)別の長さインフレが存在する。
この二つめの発見が、この論文を誠実なものにしている。著者らは、終了不一致が長さ問題の「重要な原因ではあるが、すべてではない(important, but not exhaustive)」と明言する。自分たちが見つけた原因では説明できない部分が確かに残っていると認めたのだ。そして、提案した終了処理の補正を反映した実装(implementation)を公開したと述べている。
ONTLEはAIプロジェクトマネージャーを派遣するSaaSとして、複数の言語モデルを実際の製品パイプラインに載せて運用している。この論文は、「大きなモデルを小さくしてコストを下げる」蒸留作業でよく出くわす実戦的な落とし穴を的確に突いている。
第一に、応答長のインフレはそのままコストと遅延になる。AI PMが議事録を要約したりタスクを分類したりする際に、答えが不必要に長くなればトークンコストが増え、応答が遅くなり、最悪の場合は長さの上限に引っかかって答えが途切れる。この論文は、その原因がプロンプトの品質ではなく「モデルが文を終える合図の不一致」という、見落としやすい層にありうることを教えてくれる。
第二に、「表面上揃えたこと」と「実際に揃ったこと」は別物だ。終了トークンのリストを同じように宣言しても、実際の確率分布はずれうるという発見は、製品の観点から「設定値を揃えたからもう大丈夫」という油断を戒めてくれる。ファインチューニングや蒸留の後は、宣言した設定ではなく、実際の出力挙動(応答がきちんと終わるか)を観測して検証しなければならない。
第三に、学習段階ごとに挙動が移動する。終了選好が学習中に大きく変わるという観察は、モデルを一度学習して終わりにするのではなく、段階ごとに出力特性をモニタリングすべきことを示唆している。ONTLEのように複数のモデルをロールアウトする環境では、「蒸留・ファインチューニング後の応答長分布の点検」を配備前のチェックリストに入れる価値がある。
まとめると、この研究は華やかな性能向上よりも、「なぜ小さなモデルはなかなか話を終えられないのか」という実務的な悩みの種の根を誠実に掘り下げた仕事である。製品にモデルを直接載せるチームなら、コストと品質を左右する終了行動に目を向けるべきだという実用的な教訓を与えてくれる。
通常の蒸留は、教師モデルがあらかじめ作っておいた答えを生徒が真似て学ぶ方式に近いです。一方、オンポリシー蒸留は、生徒が自分で文を生成してみて、その生成過程で「教師ならどう判断したか」をリアルタイムに比較しながら学ぶ方式です。生徒自身が作り出した文について修正を受けるため、生徒自身の癖(たとえば文の終え方)が学習に大きく影響します。
OPDは、生徒がもともと好んでいた終了方式を抑え込みます。ところが、教師が好む代替の終了トークンが生徒へ安定して伝わらないと、生徒は「どう終えればよいか」についての合図を失います。終える行動が抑え込まれるだけで代替の行動は入ってこないので、生徒は文を書き続けてしまい、結局は長さの上限まで使い切ってしまうのです。
アブストラクトによれば、それだけでは不十分です。二つのモデルが宣言した終了トークンの集合が完全に同じでも、実際に確率を集中させるトークンは互いに異なりうるからです。そのため著者らは、リストを揃える代わりに、機能的に同じ役割を果たすEOS同士を「一つの意味的な終了行動」としてまとめて扱う方式を提案し、これが三系統のモデルで効果を見せました。
いいえ。著者らは、終了不一致が重要な原因ではあるがすべてではないと明確に述べています。OPD学習の後半には、終了の整合を取っても消えない別の長さインフレが残っており、その原因はこの論文では完全には解明されていない未解決の問題です。