AI・機械学習
中級

GGUFインポータンスマトリクス量子化(ジージーユーエフインポータンスマトリクスりょうしか)

llama.cppのGGUFフォーマットにおける文脈考慮型量子化手法。キャリブレーションデータを使い重みの「重要度」を計測し、重要な重みほど高精度で量子化することで、同じビット数でも通常量子化より高い品質を実現する。IQ2_XXS・IQ4_XS等のIQシリーズで採用される。

0 回閲覧
0 いいね
2026/5/25 更新
関連タグ
GGUFimatrix
インポータンスマトリクス
llama.cpp
IQシリーズ
K-Quant
キャリブレーション量子化
IQ2_XXS
IQ4_XS

GGUFインポータンスマトリクス量子化とは

GGUF Importance Matrix(imatrix)量子化は、2024年初頭にllama.cppコミュニティが開発した革新的な量子化手法です。従来の均一量子化(Q4_0・Q8_0)やK-Quant(Q4_K_M・Q5_K_S等)に比べ、同じビット幅でも大幅に高いperplexityを達成することができます。

llama.cppの主要開発者Georgi Gerganovが2024年1〜2月にコードをマージし、同年中にHuggingFace Hub上の量子化モデル(Unsloth・bartowski等のリポジトリ)の主流フォーマットとなりました。

仕組み:なぜ「重要度」が量子化精度を上げるのか

従来の均一量子化の問題

通常の量子化(Q4_0等)では全ての重みを同一の量子化グリッドにマッピングします。しかし実際のTransformerモデルでは、一部の重みが推論に極めて重要で、残りは微小な寄与しか持ちません。均一に精度を落とすと重要な重みも劣化します。

imatrixの動作フロー

  1. キャリブレーションデータ準備(多様なテキスト100〜500件、合計512K〜2Mトークン)
  2. FP16モデルで順伝播 → 各重み行列の活性化寄与度を記録(imatrix.dat)
  3. 量子化実行時にimatrix.datを参照:
    • スコアが高い重み:より多くのビット・細かい量子化ビン
    • スコアが低い重み:少ないビット・粗い量子化ビン

IQシリーズの構造

量子化名実効bpw特徴対象GPU VRAM(7B)
IQ1_S1.56最極小サイズ・品質低め2 GB
IQ1_M1.74IQ1_S改良版2 GB
IQ2_XXS2.062bit相当で最高品質3 GB
IQ2_XS2.31IQ2_XXS改良3 GB
IQ2_M2.53Q2_K相当の品質3.5 GB
IQ3_XXS3.063bit高精度4 GB
IQ4_XS4.25Q4_K_S比で高品質5 GB
IQ4_NL4.50Non-linear quant5 GB

perplexityベンチマーク(WikiText-2、Llama 3 8B)

量子化bpwPerplexityVRAMサイズ
FP16166.1416 GB
Q8_08.56.178.5 GB
Q5_K_M5.336.285.3 GB
Q4_K_M4.586.394.6 GB
IQ4_XS4.256.364.3 GB
Q3_K_M3.356.703.5 GB
IQ2_XXS2.067.122.1 GB
Q2_K2.638.542.7 GB

IQ2_XXSはQ2_K(より多くのメモリを使う)よりperplexityが大幅に改善。IQ4_XSはQ4_K_Mより少ないVRAMで同等以上の精度を達成しています。

imatrixの生成方法

# キャリブレーションテキスト準備(wikitext等)
wget https://huggingface.co/datasets/wikitext/resolve/main/wikitext-103-v1/wiki.test.tokens \
  -O calibration.txt

# imatrix.datを生成(FP16モデルが必要)
./llama-imatrix \
  -m ./Meta-Llama-3.1-8B-F16.gguf \
  -f calibration.txt \
  -o imatrix.dat \
  --chunks 128

# imatrixを使った量子化
./llama-quantize \
  --imatrix imatrix.dat \
  ./Meta-Llama-3.1-8B-F16.gguf \
  ./Meta-Llama-3.1-8B-IQ4_XS.gguf \
  IQ4_XS

Ollamaでの利用

OllamaはGGUFモデルを内部で使用しており、bartowskiやUnslothが公開するIQ系量子化モデルをHuggingFace経由で利用できます。

ollama run hf.co/bartowski/Meta-Llama-3.1-8B-Instruct-GGUF:IQ4_XS

自作PCでのVRAM別推奨量子化

搭載VRAM7B推奨8B推奨70B推奨
6 GBIQ4_XSIQ3_XXSNG
8 GBQ8_0Q5_K_MNG
16 GBQ8_0Q8_0IQ2_XXS
24 GBQ8_0Q8_0IQ4_XS

よくある質問(FAQ)

Q1: imatrixなしのQ4_K_MとIQ4_XSではどちらが良いですか? A: VRAM消費が4.6 GB vs 4.3 GBでIQ4_XSの方が少なく、perplexityも同等かわずかに良好です。ただしimatrix生成にFP16モデルとGPU時間が必要なため、事前生成済みのIQファイルを使うのが実用的です。

Q2: imatrix生成に必要な時間・ハードウェアは? A: RTX 4090で7Bモデルのimatrix生成(512K〜2Mトークン)は10〜30分程度。FP16モデル(7B: 約14GB)が読み込めるGPUが必要です。

Q3: 日本語コンテンツで使う場合キャリブレーションは日本語にすべきですか? A: 原則として英語キャリブレーションで問題なし(重みの重要度は言語非依存で決まる傾向あり)。ただし日本語特化モデルでは日本語キャリブレーションデータ追加で若干の改善が報告されています。

まとめ

  • キャリブレーションデータで重みの重要度を計測し量子化精度を最適化
  • IQ2_XXS〜IQ4_XSはQ2_K〜Q4_K_Mより低VRAM・高品質を両立
  • bartowski・Unslothらが主要モデルのIQ量子化版をHuggingFace Hubで公開中
  • 自分でimatrix生成するならFP16モデルとGPU計算時間が必要
この記事について
カテゴリーAI・機械学習
難易度中級
作成日2026/5/25