【もでるあっしゅく】

モデル圧縮 とは?

最終更新:
💡 AIを身軽にして、使う場所に合わせる

AIモデルの保存容量、必要メモリや計算の負担を減らす技術の総称。量子化、プルーニング、知識蒸留などがある。小ささと予測品質、実行速度のバランスを、用途と機器で確認する。

📌 このページのポイント
モデル圧縮 — 軽くする3つの方法量子化プルーニング知識蒸留32ビット8ビット表現を少なく不要な重みをゼロにする等教師モデル生徒を学習小ささ・実際の速さ・答えの品質使う機器と仕事に合わせて確かめる
方法は組み合わせることもできる。量子化のビット数の例は、モデル全体の容量比を示すものではない。
ひよこ ひよこ
AIモデルは、なぜ圧縮するの?
ペンギン先生 ペンギン先生
保存容量、メモリ、計算時間や電力の負担を減らしたいからだよ。スマホなどの限られた機器で使うためにも、クラウドのコストを抑えるためにも役立つ。すべてのAIが巨大なGPUを必要とするわけではなく、モデルと用途に合った軽量化を考えるんだ。
ひよこ ひよこ
量子化とプルーニングは、何が違うの?
ペンギン先生 ペンギン先生
量子化は、重みなどを少ないビット数で表す方法だよ。たとえば32ビットの値を8ビットで表せば、値そのものの保存に使うビット数は4分の1になる。ただしモデル全体や実行時メモリが必ず4分の1になるわけではない。プルーニングは重みをゼロにしたり、構造の一部を減らしたりして軽くする方法だね。
ひよこ ひよこ
知識蒸留は、ファイルを縮めること?
ペンギン先生 ペンギン先生
教師モデルの出力などを手掛かりに、生徒となる小さなモデルを学習させる方法だよ。元のファイルをZIPのように圧縮し、解凍して完全に同じモデルへ戻す話ではない。より小さなモデルで、必要な仕事ができるように学習するんだ。
ひよこ ひよこ
小さくすれば、必ず速くなる?
ペンギン先生 ペンギン先生
実行する機器とソフトの対応にもよるよ。たとえばゼロにした重みの計算を省ける仕組みがなければ、プルーニングしても期待した速度向上につながらないことがある。量子化でも、使う数値形式を機器が効率よく扱えるかが大切。容量だけでなく、実際の速度も測ろう。
ひよこ ひよこ
答えの品質は、どう確かめるの?
ペンギン先生 ペンギン先生
圧縮前と後を、実際に使う仕事に近いデータで比べるよ。正解率などの指標だけでなく、困る間違いが増えていないかも確認する。必要な品質が保てないなら、圧縮の方法や強さを見直そう。「4ビットならいつも95%以上の精度」といった共通の保証はないんだ。
もっと詳しく知りたい人へ

BitNetの「1ビット」は、重みが2種類だけということ?

方式によります。2024年のBitNet b1.58論文では、線形層の重みを-1・0・+1の3値にして、初めから学習する方式を説明しています。「1ビット系」という呼び方だけで2値と決めつけたり、既存のモデルを後から変換する量子化と同じに考えたりしないことが大切です。速度や品質の結果も、論文のモデル・学習・実行条件での結果です。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「モデル圧縮」って出てきたら「AIモデルを小さく軽くして使いやすくする技術」と思えばだいたいOK!
📖 おまけ:英語の意味
「Model Compression」 = モデルの圧縮
💬 compressionは圧縮。モデルを小さく軽くするという意味で、ZIPのように解凍して元へ戻す方法とは限らないよ。

参考資料

← 用語集にもどる