AI・機械学習
上級

Weight-Only Quantization(ウェイトオンリークオンタイゼーション)

Weight-Only Quantization(重みのみ量子化)とは、LLMの重みパラメータのみを低ビット精度(INT4/INT8)に量子化し、アクティベーション(中間計算結果)はFP16/BF16のまま保持する量子化手法である。GPTQ・AWQ・GGUFの大多数がこの方式を採用しており、メモリ削減と推論品質のバランスに優れる。

0 回閲覧
0 いいね

Weight-Only Quantization(W-only、重みのみ量子化)は、2026年現在のLLM量子化で最も広く採用されている手法カテゴリである。モデルの重みパラメータを低ビット整数(INT4/INT8)に変換する一方、推論時のアクティベーション計算はFP16/BF16精度で実行する。この方式により、モデルの保存サイズとメモリフットプリントを大幅に削減しつつ、出力品質の劣化を最小限に抑えることができる。

Weight-Only vs Weight-Activation 量子化の原理

LLMの推論は行列積 Y = X * W が基本演算である(X: アクティベーション、W: 重み)。量子化のアプローチは大きく2つに分かれる。

Weight-Only Quantization (W4A16 / W8A16)

重みWのみをINT4/INT8に量子化し、アクティベーションXはFP16のまま保持する。推論時に重みをデクォンタイズ(FP16に復元)してから行列積を計算する。

  • メリット: メモリ帯域のボトルネック(memory-bound)を解消。重みのロード量が1/4-1/2に削減
  • デメリット: デクォンタイズのオーバーヘッド。計算自体はFP16で実行するためcompute-boundな改善は限定的
  • 代表手法: GPTQ、AWQ、GGUF Q系、BitsAndBytes NF4

Weight-Activation Quantization (W8A8 / W4A4)

重みとアクティベーションの両方を量子化する。INT8同士の整数行列積を実行できるため、計算量も大幅に削減される。

  • メリット: 推論スループットが2-4倍向上(INT8 Tensor Coreの活用)
  • デメリット: アクティベーションの外れ値(outlier)により精度劣化が大きい。特にLLMでは顕著
  • 代表手法: SmoothQuant、QSERVE、Atom、QuaRot

なぜWeight-Onlyが主流なのか

LLMの推論は多くの場合 memory-bound(メモリ帯域がボトルネック)である。特にバッチサイズ1のインタラクティブ推論では、GPU演算ユニットの大部分がアイドル状態で、重みデータのロード待ちが支配的となる。Weight-Only Quantizationはこの重みのロード量を直接削減するため、memory-boundな推論で最大の効果を発揮する。

推論パターンボトルネックWeight-Only効果W-A量子化効果
バッチ1生成メモリ帯域高(2-4x高速化)中(帯域+演算改善)
バッチ32以上演算量低(帯域は余裕)高(INT8演算が効く)
プリフィル(長文入力)演算量低高
デコード(トークン生成)メモリ帯域高中-高

バッチサイズが大きい大規模サービング環境ではW8A8(SmoothQuant)が有効だが、ローカル推論やインタラクティブなチャットアプリケーションではWeight-Onlyが最適解となる。

主要なWeight-Only手法の比較

手法ビット数グループサイズ校正精度速度特徴
RTN (Round-to-Nearest)4-8-不要低高最も単純。各重みを最近整数に丸め
GPTQ2-832-128必要高高Hessian情報で量子化誤差を最小化
AWQ4128必要最高最高活性化分布から重要チャネルを保護
SpQR3-416必要高中外れ値を高精度で保持
QuIP2-4-必要最高(2bit)低格子量子化による理論最適
HQQ464不要高高GPTQの高速代替(校正不要)

グループ量子化(Group Quantization)

Weight-Only Quantizationの精度を高める鍵がグループ量子化である。重み行列をg個(通常32-128個)の要素からなるグループに分割し、各グループに独自のスケールファクターとゼロポイントを割り当てる。

  • g=128(GPTQ/AWQのデフォルト): 各128要素に1つのFP16スケール。追加メモリはわずか0.125bit/weight
  • g=32: より細かい粒度でスケーリング。精度向上するが追加メモリ0.5bit/weight
  • g=channel-wise: チャネル全体で1つのスケール。追加メモリ最小だが精度劣化大
  • 2026年のトレンド: g=128が標準。g=32は低ビット(Q2/Q3)での精度回復に使用

GPTQの量子化アルゴリズム

GPTQ(Generative Pre-trained Transformer Quantization)は、OBS(Optimal Brain Surgeon)に基づく二次近似手法である。

  1. 校正データ(128サンプル程度)でアクティベーションの統計を収集
  2. 各重み列に対してHessian行列(二次導関数)を計算
  3. 量子化誤差を他の未量子化重みに分散(lazy batch更新)
  4. 列順序を重要度の低い順に処理(Act-Order)

この手法により、単純なRTN量子化と比べてPerplexityの劣化を50-70%削減できる。70Bモデルの4ビットGPTQ量子化はA100 80GBで約4時間を要する。

AWQの活性化意識量子化

AWQ(Activation-aware Weight Quantization)は、アクティベーションの分布を分析して「重要な重みチャネル」を特定し、それらを保護する手法である。

  • 全重みの1%未満が出力に支配的な影響を持つことを発見
  • 重要チャネルをスケールアップしてから量子化し、推論時にスケールダウン
  • GPTQより高速(校正データの処理が軽い)かつ同等以上の精度
  • vLLMやTensorRT-LLMのINT4カーネルに最適化され、推論速度が最速

よくある質問(FAQ)

Q1: Weight-Only Quantizationで推論速度はどのくらい向上しますか? A: バッチ1のトークン生成では、FP16比で1.5-3倍の速度向上が得られる。これは主にメモリ帯域の節約による効果で、4ビット量子化で重みのロード量が1/4になるため、VRAM帯域がボトルネックの場合に最大効果を発揮する。RTX 4090(1TB/s帯域)では、70B Q4モデルで20-35 tok/sが典型的。

Q2: Weight-Only QuantizationはTransformerの全層に適用すべきですか? A: 一般的にはEmbedding層とLM Head(出力層)はFP16のまま保持し、Attention層とMLP層のみを量子化する。Embedding層は語彙全体の意味表現を担うため量子化の影響が大きく、LM Headは出力確率分布に直結するため精度を維持する必要がある。

Q3: 量子化モデルをさらにファインチューニングできますか? A: BitsAndBytes NF4で量子化したモデルにはQLoRAアダプタを追加してファインチューニングが可能。ただしGPTQ/AWQで量子化済みのモデルに対するファインチューニングは一般的ではない。ファインチューニング→量子化の順序が推奨される。

まとめ

  • Weight-Only QuantizationはLLMの重みのみを低ビット化し、アクティベーションはFP16で維持する手法
  • memory-boundなLLM推論(バッチ1生成)で1.5-3倍の速度向上を実現
  • GPTQ・AWQ・GGUFが主要な実装で、4ビット量子化が2026年の標準
  • バッチサイズが大きいサービング環境ではWeight-Activation(W8A8)も検討すべき