量子化(Quantization)
この記事は約6分で読めます
AIモデルの数値を低い精度で表して、主にメモリ使用量や計算コストを減らす技術。効果と品質の変化が方式・ハードウェアで異なる点も解説します。
ざっくり言うと
オープンソースのLLM(Llama など)を自分のPCで動かそうとすると、「4bit版」「8bit版」みたいな表記をよく見かけます。あれが量子化の結果物です。
イメージ
正確には
AIモデル(特にニューラルネットワーク)の中身は、何十億個もの「重み(パラメータ)」と呼ばれる数値で出来ています。普通、この数値は 32ビット浮動小数点数(FP32) や 16ビット浮動小数点数(FP16) という、細かい小数まで表現できる形式で保存されています。
量子化は、この数値をもっとビット数の少ない形式に変換する処理のことです。IBM の解説によると、量子化は「ニューラルネットワークの重みや活性化を、より低い精度の数値表現に変換することで、メモリ使用量と計算コストを削減する技術」と説明されています。
よく使われる精度
| 形式 | ビット数 | ざっくりの特徴 |
|---|---|---|
| FP32 | 32ビット | 広い範囲の値を細かく表せる |
| FP16 / BF16 | 16ビット | 学習・推論で広く使われる低精度形式 |
| INT8 | 8ビット | 重みや活性化の量子化で使われる代表的な形式 |
| INT4 / 4bit | 4ビット | メモリ削減をさらに重視する形式 |
Hugging Face のドキュメントでも、LLM を一般的なハードウェアで動かす際の主要な手段として、8ビットや4ビットへの量子化が紹介されています。
なぜサイズと速度が変わるのか
重み本体だけを単純計算すると、32ビットから8ビットなら必要量は4分の1、16ビットから4ビットなら4分の1です。ただし実際のファイルや実行時メモリには、量子化用の尺度、モデル構造、キャッシュなども含まれるため、その比率どおりになるとは限りません。
対応する低精度演算をハードウェアと実装が効率よく処理できれば、速度や消費電力も改善できます。対応が弱い環境では、変換処理の負担などで期待ほど速くならない場合があります。
品質への影響は検証が必要
量子化の主な種類
ざっくり2つに分けられます。
- PTQ(Post-Training Quantization / 学習後量子化): 学習済みモデルへ後から適用する方式
- QAT(Quantization-Aware Training / 量子化対応学習): 量子化による誤差を学習中に考慮する方式
配布名で見かける「4bit」「GPTQ」「AWQ」は量子化方式や設定を示します。一方、GGUFはファイル形式なので、GGUFという名前だけで量子化精度は決まりません。
よくある勘違い
どんなときに使う?
逆に「精度が最優先」のタスク(医療診断の補助、法律文書の正確な解釈など)では、量子化前のフルサイズモデルを使うか、慎重に検証してから採用するのが安全です。
確認のコツ
関連用語
- パラメータとは — 量子化が圧縮する対象。モデルの「中身の数値」のこと
- 推論(Inference)とは — 量子化が速度・コスト面で効いてくるフェーズ
- 蒸留(Distillation)とは — 量子化とは別アプローチの軽量化技術。大きいモデルから小さいモデルを学習させる方法
量子化と蒸留はどちらも「モデルを軽くする」技術ですが、やり方が違う仲間です。量子化が「数値の精度を落とす」のに対し、蒸留は「先生モデルの真似ができる小さい弟子モデルを作る」イメージです。
やってみよう
「自分のPCで AI を動かしてみたい」と思ったら、量子化は避けて通れない概念です。逆に言えば、量子化を知っているだけで、ローカルLLMの世界に一歩入る準備ができているということでもあります。
公開 更新 ✓ 公式情報と照合:
参考ソース
あわせて読みたい
続きは生徒プランで
サイト内検索、図書館の資料、実習室の実践記事、学習キットのWeb版が使えます。学習の記録とバッジも残ります。