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

蒸留・量子化・枝刈りの使い分け — 小さくする3つの道

モデルを小さくする道は3本あります。数値の目盛りを粗くする量子化、重みそのものを間引く枝刈り、小さいモデルに作り直す蒸留。圧縮率・精度・実装コストの三軸で正面から比べ、「訓練を伴うものを先に、量子化を最後に」という組み合わせ順序の理由まで、前提知識ゼロから。

対象textタスクinference

Distilling the Knowledge in a Neural Network

一次資料 — この記事の根拠

この解説の公開 2026-08-29

Distilling the Knowledge in a Neural NetworkarXiv:1503.02531論文ページ·PDF
Learning both Weights and Connections for Efficient Neural NetworksarXiv:1506.02626論文ページ·PDF
Deep Compression: Compressing Deep Neural Networks with Pruning"arXiv:1510.00149論文ページ·PDF
https://arxiv.org/abs/1510.00149"Trained Quantization and Huffman Coding
DistilBERT"arXiv:1910.01108論文ページ·PDF
a distilled version of BERT: smallera distilled version of BERT: smaller
fasterfaster
https://arxiv.org/abs/1910.01108"cheaper and lighter
GPTQ: Accurate Post-Training Quantization for Generative Pre-trained TransformersarXiv:2210.17323論文ページ·PDF
SparseGPT: Massive Language Models Can Be Accurately Pruned in One-ShotarXiv:2301.00774論文ページ·PDF

荷物を軽くするには、三つのやり方がある

引っ越しでダンボールの数を減らしたいとします。手は3つあります。

1つめは、記録の精度を落とすこと。アルバムの写真を1枚ずつ粗い解像度で保存し直せば、枚数はそのままで容量だけ減ります。2つめは、使っていない物を捨てること。3年触っていない鍋を処分すれば、その分だけ物理的に減ります。3つめは、中身を見た上で作り直すこと。全部の荷物を並べて「結局この暮らしに要るものはこれだけだ」と判断し、最初から小さい一式を組み直す。

ニューラルネットワークを小さくする技術も、驚くほどこの3つに対応しています。順に量子化枝刈り蒸留です。この記事は、この3つを同じ土俵に載せて比べます。どれか1つを深掘りするのではなく、「いま自分の状況ではどれを使うべきか」「複数使うならどの順で並べるか」に答えを出すのが目的です。

3つの正体を、一行ずつ

まず言葉を揃えます。3つは削っているものが違います。

量子化(quantization) は、重みや活性値を表す数値のビット幅を下げます。1個の重みを16ビット(fp16)で持っていたのを4ビットで持つ。パラメータの個数は1つも減らず、モデルの形も変わりません。減るのは1個あたりのバイト数だけです。

枝刈り(pruning) は、重みの一部を消して0にするか、ヘッド・チャネル・層といった単位ごと取り除きます。残った重みの表現精度はそのままで、本数が減ります。

蒸留(distillation) は、大きいモデル(教師)の出力を手本にして、別の小さいモデル(生徒)を訓練し直すことです。層の数も隠れ次元も語彙も、なんならアーキテクチャそのものも自由に変えられます。元のモデルを加工するのではなく、作り直すのが蒸留です。

一行でまとめると、量子化は「精度を削る」、枝刈りは「本数を削る」、蒸留は「作り直す」。この違いが、そのまま次の三軸の差になります。

三軸で正面から比べる

量子化 枝刈り 蒸留
削るもの 1重みあたりのビット幅 重みの本数 モデルそのもの
典型的な圧縮率 2〜4倍(16→8/4ビット) 手法と許容劣化しだい(非構造化のほうが高く取れる) 任意(生徒の設計で決まる)
精度の落ち方 じわじわ。ある桁数を割ると急落 疎にするほど落ちる。構造化のほうが厳しい 生徒の容量しだい。設計を誤ると大きく落ちる
必要なデータ 校正用に数百サンプル(PTQ) 校正用〜再学習用 大量。教師に生成させる場合もある
必要な計算 GPU数分〜数時間 数時間〜再学習ぶん 訓練そのもの。最も重い
速くなるか 効くことが多い(帯域律速のとき特に) ハードウェア次第。ここが最大の落とし穴 確実に速い(本当に小さいモデルだから)
形を変えられるか 不可 部分的に可(層・ヘッド単位なら) 自由

この表の中で、最初に目を止めるべき行は「速くなるか」です。「小さくなる」と「速くなる」は同じ意味ではありません。 量子化はメモリに載る量が減り、読み出すバイト数も減るので、メモリ帯域が支配的な生成フェーズでは素直に速くなります。枝刈りは、後で述べるとおり、消した重みを「消したまま計算をスキップできる」形になっていなければ1秒も速くなりません。ここを取り違えたまま提案書を書くと、実装が終わってから何も改善していないことに気づきます。

まず、いちばん想像しにくい「目盛りを粗くすると何が起きるか」を、画像で体感しておきましょう。仕組みはJPEGの量子化とほぼ同じ発想です。

FIG 1Q値を下げると、保持する係数が減って容量は小さくなる。しばらくは見た目がほとんど変わらず、ある点を境に急にブロックが崩れる — 重みの量子化でも同じ形の曲線が現れる

滑らかに劣化するのではなく、ある点まで粘って、そこから急に落ちる。この形を覚えておいてください。3つの手法すべてに共通する挙動です。

量子化 — 一番安く、一番先に試すべき手

量子化の中身は、実数の範囲を等間隔の格子に写す割り算と丸め算です。もっとも単純な対称量子化なら、こう書けます。

s=maxiwi2b11,w^i=sround ⁣(wis)s = \frac{\max_i |w_i|}{2^{b-1}-1}, \qquad \hat{w}_i = s \cdot \mathrm{round}\!\left(\frac{w_i}{s}\right)
(1)

wiw_i が元の重み、bb が使えるビット数、ss が「目盛りの幅(スケール)」です。式(1)は「そのグループで一番大きい重みが、ちょうど表せる最大の整数になるように目盛り幅を決め、あとは全部その目盛りに丸める」と言っているだけです。保存するのは丸めた整数と、グループごとの ss ひとつ。

実装コストが3つの中で圧倒的に低いのは、訓練が要らないからです。学習済みの重みに対して後からかける手法(PTQ, 訓練後量子化)が成熟していて、GPTQ のように数百サンプルの校正データだけで層ごとに丸め方を最適化する方式なら、大きなモデルでもGPU数時間で終わります。データセットを用意する必要も、学習率を調整する必要もありません。

この先にあるもの

§

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

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

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

参考文献

  1. Distilling the Knowledge in a Neural Network. arXiv:1503.02531論文ページ·PDF
  2. Learning both Weights and Connections for Efficient Neural Networks. arXiv:1506.02626論文ページ·PDF
  3. Deep Compression: Compressing Deep Neural Networks with Pruning. "arXiv:1510.00149論文ページ·PDF
  4. https://arxiv.org/abs/1510.00149". Trained Quantization and Huffman Coding
  5. DistilBERT. "arXiv:1910.01108論文ページ·PDF
  6. a distilled version of BERT: smaller. a distilled version of BERT: smaller
  7. faster. faster
  8. https://arxiv.org/abs/1910.01108". cheaper and lighter
  9. GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers. arXiv:2210.17323論文ページ·PDF
  10. SparseGPT: Massive Language Models Can Be Accurately Pruned in One-Shot. arXiv:2301.00774論文ページ·PDF

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

コメント

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