大規模モデルの定量化の詳細な説明: FP16、Q8、Q5、Q4 ~ Q2 を選択するにはどうすればよいですか?

このシステムは、大規模モデルの定量化、一般的なバージョンの違い、およびビデオ メモリに基づく選択方法の中心的な概念を説明し、効果、速度、リソース コストの最適なバランスを見つけるのに役立ちます。

量子化の中心的な目標は単純です。サイズを小さくし、メモリ使用量を減らし、推論速度を速くする代わりに、精度の損失を小さくすることです。
ローカル展開ユーザーにとって、多くの場合、盲目的に大きなパラメータを追求するよりも、適切な定量的バージョンを選択することの方が重要です。

定量化とは何ですか

量子化とは、モデル パラメーターを高精度形式 (FP16 など) からより低いビット幅形式 (Q8Q4 など) に圧縮することを指します。

それは次のように理解できます。

  • オリジナルモデル: 高精度の写真のように鮮明ですが、ファイルサイズが大きくなります。
  • 量子化モデル: 圧縮された写真と同様に、細部はわずかに失われますが、軽量かつ高速です。

一般的な定量バージョンの比較

量化版本 精度/位宽 体积 质量损失 推荐场景
FP16 16 位浮点 最大 几乎无损 研究、评测、追求极致质量
Q8_0 8 位整数 较大 几乎无损 高配电脑,兼顾质量与性能
Q5_K_M 5 位混合 中等 轻微损失 日常主力,平衡方案
Q4_K_M 4 位混合 较小 可接受损失 通用默认,性价比高
Q3_K_M 3 位混合 很小 明显损失 低配设备,能跑优先
Q2_K 2 位混合 最小 较大损失 极限资源场景,临时可用

定量的な命名規則

gemma-4:4b-q4_k_m を例として取り上げます。

  • gemma-4:4b: モデル名とパラメータスケール。
  • q4: 4 ビット量子化。
  • k: K-quants (改良された量子化方法)。
  • m:中(中レベル、s/小、l/大が共通)。

ビデオメモリに基づいてモデルを素早く選択する方法

内存/显存 推荐量化
4 GB Q3_K_M / Q2_K
8 GB Q4_K_M
16 GB Q5_K_M / Q8_0
32 GB+ FP16 / Q8_0

最初から最大のモデルを追求するのではなく、安定して動作するバージョンから始めて、徐々に精度を向上させることをお勧めします。

実践的な提案

  1. デフォルトでは、Q4_K_M から開始され、最初に実際のタスクの効果を確認します。
  2. 回答の品質が十分でない場合は、Q5_K_M または Q8_0 にアップグレードしてください。
  3. 主なボトルネックがビデオ メモリまたは速度である場合は、Q3_K_M にドロップします。
  4. 定量化バージョンに切り替えるたびに、同じバッチのテスト問題を比較に使用してください。

llama-quantize で量子化 GGUF を作成する

入力には FP16、BF16、または F32 の GGUF を優先してください。すでに強く量子化されたファイルを再量子化すると、--allow-requantize によって品質がさらに低下する可能性があります。

1
2
3
4
./build/bin/llama-quantize \
  model-bf16.gguf \
  model-Q4_K_M.gguf \
  Q4_K_M

Windows では通常、次の実行ファイルを使います。

1
2
3
4
.\build\bin\Release\llama-quantize.exe `
  .\model-bf16.gguf `
  .\model-Q4_K_M.gguf `
  Q4_K_M

量子化後のサイズとハッシュを記録します。

1
2
ls -lh model-bf16.gguf model-Q4_K_M.gguf
sha256sum model-Q4_K_M.gguf

ビット幅だけでは VRAM を見積もれない理由

推論では重みのほかに、KV cache、計算バッファ、マルチモーダル projector、デスクトップ、バックエンドのオーバーヘッドが必要です。重みが 8GB 近くても、8GB GPU に必ず収まるわけではありません。10〜20%程度の余裕を確保し、バックエンドログで GPU offload を確認してください。

比較可能な受け入れテスト

モデル系統、バックエンド、コンテキスト、プロンプトを揃えて比較します。

1
2
llama-cli -m model-Q4_K_M.gguf -c 4096 -n 128 \
  -p "Summarize the trade-offs of model quantization."
項目 記録する内容
モデル 完全なファイル名とハッシュ
バックエンド CUDA、ROCm、Metal、Vulkan、CPU
コンテキスト -c と実際の prompt token 数
メモリ RAM/VRAM のピークと部分 offload の有無
速度 prompt processing と generation token/s
品質 固定問題での誤り、形式崩れ、欠落

コード、数学、長いコンテキスト、構造化出力は量子化の影響を受けやすいため、1回のチャットだけで「ほぼ無劣化」と判断しないでください。

結論

  • 品質第一: FP16 または Q8_0
  • バランス優先度: Q5_K_M
  • 共通のデフォルト: Q4_K_M
  • ローエンドポケット: Q3_K_M または Q2_K

モデル選択の本質は、「大きいほど良い」ではなく、「ハードウェア条件下で最も安定して使用可能な効果を実現する」ことです。