量子化の中心的な目標は単純です。サイズを小さくし、メモリ使用量を減らし、推論速度を速くする代わりに、精度の損失を小さくすることです。
ローカル展開ユーザーにとって、多くの場合、盲目的に大きなパラメータを追求するよりも、適切な定量的バージョンを選択することの方が重要です。
定量化とは何ですか
量子化とは、モデル パラメーターを高精度形式 (FP16 など) からより低いビット幅形式 (Q8、Q4 など) に圧縮することを指します。
それは次のように理解できます。
- オリジナルモデル: 高精度の写真のように鮮明ですが、ファイルサイズが大きくなります。
- 量子化モデル: 圧縮された写真と同様に、細部はわずかに失われますが、軽量かつ高速です。
一般的な定量バージョンの比較
| 量化版本 | 精度/位宽 | 体积 | 质量损失 | 推荐场景 |
|---|---|---|---|---|
| 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 |
最初から最大のモデルを追求するのではなく、安定して動作するバージョンから始めて、徐々に精度を向上させることをお勧めします。
実践的な提案
- デフォルトでは、
Q4_K_Mから開始され、最初に実際のタスクの効果を確認します。 - 回答の品質が十分でない場合は、
Q5_K_MまたはQ8_0にアップグレードしてください。 - 主なボトルネックがビデオ メモリまたは速度である場合は、
Q3_K_Mにドロップします。 - 定量化バージョンに切り替えるたびに、同じバッチのテスト問題を比較に使用してください。
llama-quantize で量子化 GGUF を作成する
入力には FP16、BF16、または F32 の GGUF を優先してください。すでに強く量子化されたファイルを再量子化すると、--allow-requantize によって品質がさらに低下する可能性があります。
|
|
Windows では通常、次の実行ファイルを使います。
|
|
量子化後のサイズとハッシュを記録します。
|
|
ビット幅だけでは VRAM を見積もれない理由
推論では重みのほかに、KV cache、計算バッファ、マルチモーダル projector、デスクトップ、バックエンドのオーバーヘッドが必要です。重みが 8GB 近くても、8GB GPU に必ず収まるわけではありません。10〜20%程度の余裕を確保し、バックエンドログで GPU offload を確認してください。
比較可能な受け入れテスト
モデル系統、バックエンド、コンテキスト、プロンプトを揃えて比較します。
|
|
| 項目 | 記録する内容 |
|---|---|
| モデル | 完全なファイル名とハッシュ |
| バックエンド | 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。
モデル選択の本質は、「大きいほど良い」ではなく、「ハードウェア条件下で最も安定して使用可能な効果を実現する」ことです。