AI・機械学習
上級

QuIP#(非整合性処理量子化)(クイップシャープ)

Cornell大学発の2ビットLLM量子化手法。ランダムアダマール変換で重みの相関(コヒーレンス)を除去してからスカラー量子化することで、2bitでFP16に近い品質を実現する。AQLM・GPTQ比で2bit量子化の最高精度クラス。

0 回閲覧
0 いいね
2026/5/25 更新
関連タグ
QuIP#
非整合性処理
ランダムアダマール変換
2ビット量子化
E8格子
Cornell大学
Lattice Codebook
LLM圧縮

QuIP#とは

QuIP#(Quantization with Incoherence Processing)は2024年4月にCornell大学が発表した先進的なLLM量子化手法です。論文「QuIP#: Even Better LLM Quantization with Hadamard Incoherence and Lattice Codebooks」はICML 2024に採択されています。

2ビット量子化という極端な圧縮において、前世代のQuIP・GPTQ・AWQを大幅に上回る品質を達成し、AQLMと並んで2026年現在の最高精度2bit量子化手法として位置づけられています。

非整合性処理(Incoherence Processing)の仕組み

Activation外れ値問題

LLMの重みは特定方向に相関(コヒーレンス)を持ちます。少数の要素だけが非常に大きく、残りは小さいという外れ値分布が生じ、スカラー量子化で丸め誤差が集中します。

Randomized Hadamard Transform(RHT)

W_incoherent = R_right × W × R_left

  • アダマール行列: ウォルシュ・アダマール変換でエネルギーを全次元に均等分散
  • ランダム符号(±1): 行列の符号をランダム化して特定の非ゼロパターンを壊す
  • 変換後の重みはほぼガウス分布(正規分布)に近づき、外れ値が消失

E8格子コードブック(Lattice Codebook)

変換後の重みを量子化するコードブックとして、数学的に最適なE8格子(8次元の稠密パッキング格子)を採用しています。

コードブック次元エントリ数2bit時の有効精度
Round(単純丸め)14低
AQLM865536高
E8格子(QuIP#)8256高
E8P格子(拡張版)865536最高

perplexityベンチマーク(WikiText-2)

Llama 2 70B

手法ビット幅PerplexityFP16比劣化
FP16165.520%
QuIP# E8P27.21+31%
AQLM 2bit26.90+25%
GPTQ RTN 2bit211.68+112%
QuIP(前世代)28.48+54%

Llama 2 7B

手法ビット幅Perplexity
FP16165.47
QuIP# E8P 2bit28.07
AQLM 2bit26.82
GPTQ 4bit45.63

7Bモデルではやや異なる傾向がありますが、70B以上の大型モデルではQuIP#が競争力を持ちます。

VRAM使用量(Llama 2 70B)

形式VRAM必要GPU
FP16140 GBH100×2
QuIP# 2bit17.5 GBRTX 4090×1
GPTQ 4bit35 GBRTX 4090×2

インストール・使用方法

git clone https://github.com/Cornell-RelaxML/quip-sharp
cd quip-sharp && pip install -e .
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained(
    "relaxml/Llama-2-70b-E8P-2Bit",
    device_map="auto",
    torch_dtype="auto"
)

AQLMとの比較

観点AQLMQuIP#
主な手法加算型コードブック量子化アダマール変換 + E8格子
強み7B〜70Bで全般的に優秀70B以上の大型モデルで競争力
推論速度中程度やや遅い(変換コストあり)
エコシステムHuggingFace公式統合Cornell独自実装(移植中)

よくある質問(FAQ)

Q1: QuIP#とAQLMは同じ用途ですか? A: 目的は同じ(極低ビット量子化)ですが技術が異なります。小〜中型モデル(7〜30B)ではAQLMが優位な傾向、大型モデル(70B+)ではQuIP#と互角かそれ以上の場合があります。

Q2: 推論速度はFP16と比べてどうですか? A: デコードスピードはほぼ同等かやや遅め。VRAM節約によりバッチサイズを上げられるため、総合スループットはむしろ改善するケースもあります。

Q3: Windows・llama.cppとの互換性は? A: QuIP#はPyTorch+CUDA依存の実装のため、llama.cppネイティブでは使えません。WSL2上でPyTorchを使う必要があります。

まとめ

  • ランダムアダマール変換で重みの外れ値問題を根本解決
  • E8格子という数学的最適コードブックで2bit量子化の精度を最大化
  • Llama 2 70Bを2bitでRTX 4090 1枚に収めながら実用的な品質を維持
  • AQLMと並び2026年現在の最高精度2bit量子化手法の一つ
この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/5/25