Model Compression Techniques(モデル圧縮)
量子化 (PTQ/QAT, GPTQ/AWQ/SmoothQuant/BitNet, FP8/MXFP4, KV cache), プルーニング (SparseGPT/Wanda, 2:4), 蒸留, 低ランク (LoRA/QLoRA) と組合せパイプラインを俯瞰。
article technology ja 量子化 (PTQ/QAT, GPTQ/AWQ/SmoothQuant/BitNet, FP8/MXFP4, KV cache), プルーニング (SparseGPT/Wanda, 2:4), 蒸留, 低ランク (LoRA/QLoRA) と組合せパイプラインを俯瞰。Model Compression Techniques(モデル圧縮)
モデル圧縮は 推論コスト・VRAM・レイテンシ・電力 を削減する技術群。中核は 量子化 (PTQ/QAT)、プルーニング (N:M)、知識蒸留 (Hinton 2015)、低ランク分解 (LoRA/QLoRA)、組合せパイプライン。LLM では bit 幅削減 (FP16→INT4→1.58-bit) と KV cache 量子化が主戦場。推論は tech-46、運用は tech-64。confidence: medium は訓練データ (~2025-08) 依存。
モデル圧縮の動機
LLM 推論は メモリ帯域幅 + VRAM に律速。FP16 で Llama-3-8B=16 GB、70B=140 GB、405B=810 GB。INT4 化で 70B が 約 35 GB に縮み A100/H100 80GB 1 枚で動作可能 (KV 別)。エッジは Apple Silicon (MLX) と CPU (llama.cpp GGUF Q4_K_M) が INT4 を実用上限。Pareto frontier: INT8 PTQ で PPL / MMLU 、INT4 PTQ で PPL / MMLU 、sub-4-bit は急劣化で専用手法必要。INT4 は FP16 比 4-8× 省電力 [要確認]。動機は TCO・TPOT・デバイス展開・電力。
量子化の基礎分類
PTQ は 128-1024 サンプルキャリブで事後量子化、コスト低・損失中。QAT は fake-quant で量子化を模擬しつつ学習、コスト高・損失小。Weight-only vs +Activation: W8A16 (LLM.int8())、W4A16 (GPTQ/AWQ — 最普及)、W8A8 (SmoothQuant)、W4A8 (QuaRot)、W1.58A8 (BitNet)。Granularity: per-tensor / per-channel (重み標準) / per-group (=32/64/128, W4 標準) / per-token (活性化動的)。Symmetric vs Asymmetric (ReLU 後有利)。LLM では W4A16 + =128 + symmetric が de facto。
PTQ アルゴリズム
GPTQ (arXiv:2210.17323) は OBQ 派生 Hessian-aware: を Cholesky で逆 Hessian 計算し層を逐次量子化、=128 W4A16 で Llama-2-70B PPL (FP16 比 [要確認])、AutoGPTQ。AWQ (arXiv:2306.00978) は活性化 salience で重み 0.1% を保護スケーリング、AutoAWQ + vLLM/TensorRT-LLM 統合、GPTQ より低キャリブ + HW 効率高傾向。SmoothQuant (arXiv:2211.10438) は 活性化外れ値 を重みに移動 () で W8A8 実現、A100 で 1.56× [要確認]。LLM.int8() (arXiv:2208.07339) は vector-wise + outlier 行/列 FP16 fallback、bitsandbytes。SpQR (arXiv:2306.03078) は外れ値疎行列 FP16 + 残り W3-4。HQQ は L1 最適化でキャリブ不要 [要確認]。外れ値特徴 は特定次元に集中 () し、対処が PTQ の中心課題。
Sub-4-bit 量子化フロンティア
QuIP (arXiv:2307.13304) / QuIP# (arXiv:2402.04396) は Hadamard 回転で等方化 + lattice codebook の 2-bit 量子化、QuIP# は E8 lattice で SOTA [要確認]。AQLM (arXiv:2401.06118) は Additive Quantization で 2-bit で GPTQ 3-bit 超え [要確認]。BitNet b1.58 (arXiv:2402.17764) は重み (-bit) + 活性化 INT8、GEMM が 加算のみ に縮退。学習段階から 1.58-bit 前提の QAT で 70B で FP16 匹敵を主張 [要確認 — 商用規模ベンチ待ち]。BitNet a4.8 は活性化も 4-bit。Sub-4-bit は カスタムカーネル必須 (BitBLAS, T-MAC) で採用障壁。
新フォーマット (FP8 / MXFP4 / KV cache)
FP8: E4M3 (, 重み/活性化) と E5M2 (, 勾配)。H100/Hopper が Tensor Core で HW サポート、vLLM 0.4+ / TensorRT-LLM が FP8 PTQ [要確認]、FP16 比 2× スループット / 50% メモリ。MXFP (OCP Microscaling 2023) は MXFP4/6/8 がグループ (=32) ごとに shared exponent、Blackwell B200 ネイティブ対応 [要確認 — 出荷]、MXFP4 は FP8 比 2× 密度。KV cache 量子化 は長 context で KV が VRAM 大半を占有 (70B 32K で GB [要確認]) する問題に対処: KIVI (arXiv:2402.02750) は Key per-channel + Value per-token INT2/INT4、KVQuant (arXiv:2401.18079) は per-channel Key + outlier-aware Value で 3-bit 以下。tech-46 の FlashAttention/PagedAttention と組合せ。
プルーニング
Unstructured Magnitude は をゼロ化。Lottery Ticket (arXiv:1803.03635) はランダム初期化に独立学習可能な「当たりくじ」存在を主張。OBD/OBS (LeCun 1989/Hassibi 1993) は Hessian で削除損失最小化、LLM 規模困難。SparseGPT (arXiv:2301.00774) は OBS を LLM に拡張、175B を 20-30 分で 50% sparsity、PPL [要確認]、量子化と同時可。Wanda (arXiv:2306.11695) は スコア、128 サンプルで SparseGPT 相当 + 実装単純。構造的: head 剪定、layer dropping、LLM-Pruner (arXiv:2305.11627) は gradient-based importance + post-LoRA で LLaMA-7B 20% 削減 / 1-3% 低下 [要確認]、Sheared LLaMA (arXiv:2310.06694) は structured pruning + 継続学習で LLaMA-2-7B → 2.7B 実現 [要確認 — トークン数]。N:M sparsity: 2:4 は Ampere/Hopper Sparse Tensor Core で加速、理論 2× (memory-bound では限定的)、TensorRT-LLM/DeepSpeed 対応。Movement Pruning (arXiv:2005.07683) は fine-tune 中の重み変化方向でスコア、抽象タスクで magnitude を上回る。
知識蒸留
Hinton 2015 (arXiv:1503.02531) は soft targets ( 軟化) + dark knowledge 転移、。BERT 系: DistilBERT (arXiv:1910.01108) は / 推論 60% 高速 / GLUE 97% 保持、TinyBERT は attention map + 隠れ状態 MSE、MiniLM (arXiv:2002.10957) は self-attention 関係を最終層から転移、BERT-base の 99% GLUE。LLM 時代: Alpaca/Vicuna は GPT-3.5/4 出力で LLaMA SFT (Vicuna-13B ChatGPT [要確認])、Orca (arXiv:2306.02707) は GPT-4 CoT 説明、Zephyr (arXiv:2310.16944) は dDPO、MiniLLM (arXiv:2306.08543) は reverse KL で mode-averaging 回避、GKD (arXiv:2306.13649) は on-policy で分布シフト緩和。DeepSeek-R1 蒸留 (arXiv:2501.12948) は長 CoT を Qwen-7B/14B/32B, Llama-8B/70B に SFT、RL なしで推論能力の大部分転移 [要確認 — 評価詳細]。
低ランク分解と PEFT
古典は SVD ( truncated)、Tucker/CP — Conv に有効だが Transformer は精度損失大。LoRA (arXiv:2106.09685) は () で 基底凍結 + 低ランク更新、=8-64 典型、0.1-1% パラメータで full fine-tune 同等、推論時 merge 可でコスト増ゼロ。適用は Q/K/V/O + Gate/Up/Down。QLoRA (arXiv:2305.14314) は NF4 (正規分布最適 4-bit) + Double Quantization + Paged Optimizers で 65B を 48GB 単一 GPU で fine-tune、FP16 LoRA 比 0.1% 損失 (Guanaco)。派生: DoRA (arXiv:2402.09353) は magnitude+direction 分解で FP16 fine-tune 級、AdaLoRA は rank 動的調整、PiSSA (arXiv:2404.02948) は SVD 主成分初期化、LoftQ (arXiv:2310.08659) は量子化誤差を LoRA 補正、VeRA は共有ランダム行列 + スケールのみ学習。境界: LoRA は fine-tune 効率化が主、QLoRA は fine-tuned + compressed を同時達成、merge 後の通常量子化で展開。
組合せパイプラインと運用
標準スタック: 学習 (BF16) → 蒸留 (任意) → PTQ (GPTQ/AWQ W4A16) → デプロイ (vLLM/TensorRT-LLM/llama.cpp)。最高圧縮 は TensorRT-Model-Optimizer の 2:4 + INT4 で理論 8× (実効果 [要確認])。QAT サブ-INT4 は BitNet 系 + BitBLAS/T-MAC カーネル。QLoRA パス: FP16 → QLoRA → merge → GPTQ/AWQ INT4 → vLLM。フォーマット: GGUF K-quants (Q4_K_M: =32, 4/6-bit mixed — FP16 比 25% / PPL [要確認])、EXL2、safetensors+AutoGPTQ/AutoAWQ、bitsandbytes NF4、MLX、AQLM HF 公開。ライブラリ: bitsandbytes, AutoGPTQ, AutoAWQ (vLLM), llama.cpp (CPU/GGUF), TensorRT-LLM, vLLM (Marlin INT4 — GPTQ 2× [要確認])。落とし穴: (1) tokenizer ドリフト (必テスト), (2) キャリブドメインミスマッチ (C4 → 医療 QA 劣化 → 再キャリブ), (3) post-quant LoRA fine-tune で精度回復, (4) GPTQ 再現性 (実装差で PPL ブレ [要確認])。運用は tech-64、最適化は tech-46。
トレードオフと未確認事項
精度劣化典型値 (FP16 比, タスク依存ブレ大):
| 手法 | MMLU 低下 | PPL 増加 |
|---|---|---|
INT8 PTQ (LLM.int8()) | ||
| INT4 PTQ (GPTQ W4A16) | ||
| INT4 PTQ (AWQ) | ||
| 2-bit (QuIP#/AQLM) | ||
| 50% unstructured pruning | ||
| 20% structured + LoRA 回復 | ||
| 7B ← 70B 蒸留 | — |
HW ギャップ: FP8 は H100/Hopper+ のみ HW (A100/4090 は SW)、MXFP4 は Blackwell B200+ [要確認]、2:4 は Ampere+、BitNet 1.58 はカスタムカーネル必須。キャリブ感度: 128-1024 サンプル依存、ドメインミスマッチが劣化主因。アンチパターン: (a) 量子化前評価省略、(b) tokenizer 特殊トークン未テスト、(c) BitNet を本番実用と誇張、(d) 2:4 を memory-bound で向上期待、(e) calibration ドメイン未調整、(f) QLoRA 後の re-quantize 省略。
未確認事項 (2026-05): (1) BitNet b1.58 商用規模ベンチ (70B+), (2) MXFP4 Blackwell B200 出荷, (3) QuIP#/AQLM 最新 SOTA, (4) vLLM 量子化マトリクス, (5) llama.cpp K-quants 命名改訂, (6) DeepSeek-R1 distill 評価, (7) Sheared LLaMA トークン数, (8) TensorRT-Model-Optimizer 2:4+INT4 統合, (9) KV cache 量子化 production 採用, (10) PiSSA/DoRA 比較研究。high 昇格時は要再検証。
See also
- tech-46 Inference Acceleration — FlashAttention/PagedAttention/Marlin
- tech-64 Scaling and Operations — SLO/オートスケール/コスト
- tech-65 Reinforcement Learning — 蒸留先の整合 (RLHF/DPO/GRPO)
- tech-50 Training Hyperparameters — QAT 学習率設定
- tech-51 Training Optimization — QLoRA Paged Optimizer
Backlinks
- related Edge Inference(エッジ推論)
- related ML Model Deployment
- related ML Learning Methods(機械学習手法の分類)
- related Model Compression and Optimization(モデル圧縮と最適化)