大規模言語モデルを小型化するには、ほとんどの場合、何らかの代償が伴います。現在、高効率なデプロイでは通常、次のような方法が採用されています。まず、層、アテンションヘッド、ニューロンを削除してパラメータ数を減らし、アーキテクチャを圧縮します。次に、残った重みをさらに 4 bit まで量子化し、メモリと計算のオーバーヘッドを削減します。どちらの手順でも大幅な節約が可能ですが、両者を組み合わせると、人々が本当に重視する能力、すなわち推論、数学問題の解決、コード生成が体系的に損なわれます。そのため、モデルを本番環境に投入する前に、堅牢なデプロイプロセスでは通常、「修復(healing)」と呼ばれる回復ステップを追加します。最近公開されたオープンウェイトモデル、たとえば gpt-oss、NVIDIA の Nemotron シリーズ、そして私たちが開発した Hypernova 60B は、いずれも何らかの「圧縮してから修復する」アプローチを採用しています。
私たちの最新論文 量子化を考慮した修復:圧縮された 4 bit LLM を回復するための実践的手法(Quantization-Aware Healing: A Practical Recipe for Recovering Compressed, 4-Bit LLMs) では、この分野で長らく未解決だった問題を検討しています。モデルが量子化されているだけでなく、すでに構造圧縮も施されている場合、この回復ステップにはどの程度の効果があり、どのように実施するのが正しいのでしょうか。私たちは、量子化を考慮した修復(Quantization-Aware Healing、QAH)を提案します。これを、圧縮によってパラメータ数を 120B から 60B に削減し、MXFP4 に量子化した GPT-OSS 120B モデルに適用したところ、9 つのベンチマークのうち 7 つで、元のモデル自身のフル精度(bfloat16)版を上回りました。この 4 bit モデルはサイズが小さく、運用コストも低いだけでなく、量子化に使用した元のチェックポイントよりも高い精度を実現しました。これは、4 bit モデルと、その元となった 16 bit モデルの間に通常存在する関係を覆す結果です。
なぜ従来の修復手法はここではうまく機能しないのか
ほとんどの効率化プロセスは、同じ 3 つのステップに従います。アーキテクチャを圧縮し、圧縮後の重みを量子化し、そこから生じた損失を修復します。手法ごとの違いは、完全に最後のステップに現れます。
現在主流の修復手法は、量子化認識トレーニング(quantization-aware training、QAT)です。QAT では、フォワードパスに擬似量子化演算子を挿入し、タスク損失を使ってモデルのファインチューニングを続けることで、重みが低精度表現に適応するよう学習させます。実際には、これは本来すでに非常に高コストな多段階のポストトレーニング、すなわち教師ありファインチューニング、RLHF、エージェント調整を、よりノイズが多く、精度の低いフォワードパスで再実行することを意味します。この方法は高コストです。また、私たちの結果が示すように、最適点に達した後もトレーニングを長く続けると、不安定になる可能性があります。
もう一つの方法が、量子化認識蒸留(quantization-aware distillation、QAD)です。QAD は、それまでのトレーニング過程を再実行する必要がありません。タスク損失を使う代わりに、出力 logits 上で KL ダイバージェンス損失を計算し、凍結したフル精度の教師モデルから量子化された学生モデルへ直接蒸留します。唯一の変更が量子化である場合、この手法は非常に効果的です。この場合、教師モデルとして利用できる、完全に同一のモデルのフル精度版が実際に存在するためです。
しかし、モデルが構造圧縮、つまり bit 数を減らすだけでなく、層、アテンションヘッド、ニューロンの削減を経ている場合、この前提は成り立ちません。小型化されたアーキテクチャには、独立してトレーニングされたフル精度版が存在しないからです。利用可能な唯一の教師候補は、修復後の bfloat16 チェックポイントですが、これはそれ自体が元のモデルを蒸留した近似版です。これを教師として蒸留すると、量子化された学生モデルは、すでに劣化した目標によって制約され、その精度上限が修復後のチェックポイント自身の水準に固定されてしまいます。
したがって、構造圧縮と量子化の両方を経たモデルをどのように修復するかは、今なお真に開かれた問題です。
私たちの手法
QAH は、蒸留元を変更することでこの上限を取り除きます。修復後のモデルから蒸留するのではなく、圧縮前の元のモデルから直接蒸留するのです。教師モデルと学生モデルは、同じアーキテクチャさえ共有していません。教師モデルは完全な規模を持つフル精度モデルである一方、学生モデルの規模はその半分で、MXFP4 で動作します。教師モデルの出力分布はアーキテクチャに依存しないため、モデルの規模や形状が一致していなくても、知識の移行を妨げることはありません。学生モデルが参照するのはハードラベルではなく、教師モデルの出力分布だけです。そして logits 上の KL ダイバージェンスによって、その分布に適合するよう学習します。
これにより、量子化の役割が再定義されます。QAH では、量子化は修復完了後に行う損失の大きい後処理ではありません。元の教師モデルを対象とした、2 回目の完全な蒸留なのです。これは、bfloat16 チェックポイントがこれまで受けていなかった教師信号に相当します。4 bit の学生モデルは、量子化によって失われた情報を埋め合わせているのではありません。時間やデータの不足により、以前の修復段階で移行できなかった情報を獲得しているのです。
この損失関数自体にも、安定性上の利点があります。KL 蒸留では学生モデルが固定された教師分布に結び付けられるため、学生モデルが教師モデルに追いついた後、それ以上のずれを促す圧力はかかりません。一方、クロスエントロピーのタスク損失は、学生モデルをハードラベルへ近づけ続けるため、自動的に停止することがありません。この違いは精度とトレーニングの安定性の両方にとって重要であり、以下の比較結果がそのことを示しています。
QAH が長文脈のシナリオに対応できるようにするため、修復用コーパスに含まれる最長 32k token のドキュメントを処理できるよう、関連論文で提案した効率的な蒸留手法における、メモリ効率の高い分割 KL ダイバージェンス損失を再利用しました。この損失は、シーケンスを分割しながら KL ダイバージェンスを順次計算します。また、「語彙 × シーケンス」の完全なグリッドをメモリ上に展開しないため、固定された GPU メモリ予算内で 32k token の修復処理を実行できます。この損失の具体的な仕組みについては、以前の記事で紹介しています。
QAH の概要。構造圧縮と量子化によって、モデルの能力は大幅に低下します。QAH では、修復後のチェックポイントからではなく、元のモデルから蒸留します。元のモデルを凍結した教師モデルとして使用し、その logits は事前にオフラインで計算します。出典:論文 Figure 1。
結果
QAH を GPT-OSS 120B モデルに適用しました。まず 60B パラメータまで圧縮し、bfloat16 で修復した後、QAH の過程で MXFP4 に再量子化しました。最も自然な比較対象は、同じ 60B モデルの bfloat16 チェックポイントです。これは、このアーキテクチャにおける既存のフル精度モデルとして最良のものです。QAH モデルは、9 つのベンチマークのうち 7 つでより良い結果を達成しました。
| ベンチマーク | 120B 教師モデル(MXFP4) | 60B BF16(修復後) | 60B MXFP4(QAH) | QAH 対 BF16 |
|---|---|---|---|---|
| AA-LCR(長文脈推論) | 50.0 | 35.3 | 42.7 | +7.4 |
| AIME 2025(数学) | 80.0 | 70.7 | 76.3 | +5.6 |
| Aider(エージェント・プログラミング) | 45.3 | 38.2 | 40.9 | +2.7 |
| τ²-bench(ツール利用) | 68.4 | 59.4 | 61.7 | +2.3 |
| GPQA Diamond(科学) | 69.0 | 65.7 | 67.4 | +1.7 |
| IFBench(指示追従) | 63.3 | 58.4 | 59.9 | +1.5 |
| LiveCodeBench(プログラミング) | 66.0 | 65.5 | 66.5 | +1.0 |
| MMLU-Pro(知識) | 78.0 | 74.0 | 73.8 | −0.2 |
| SciCode(科学プログラミング) | 37.5 | 35.6 | 34.2 | −1.4 |
QAH が下回った 2 つのベンチマークは MMLU-Pro と SciCode で、差はそれぞれ 1 ポイント未満と 1.5 ポイントでした。それ以外のすべてのテストで、この 4 bit モデルは自身の 16 bit のベースモデルを上回りました。特に大きな改善が見られたのは、構造圧縮による損失が通常最も大きい能力です。長文脈推論(AA-LCR で 7.4 ポイント向上)と数学能力(AIME 2025 で 5.6 ポイント向上)でした。
元の 120B 教師モデルとの比較も、同様に示唆に富んでいます。QAH モデルは教師モデルの半分のパラメータ数で、重みのメモリ使用量も約 4 分の 1 であるにもかかわらず、LiveCodeBench ではフルサイズの教師モデルを上回りました(66.5 対 66.0)。また、GPQA Diamond でも差はわずか 1.6 ポイントでした(67.4 対 69.0)。教師モデルとの差が最も大きく残ったのは AA-LCR です。これは極端な長文脈ベンチマークであり、圧縮によってモデルが失った容量が、ここで最も大きく影響します。
