目次
ローカルLLMを動かそうとHugging Faceを開いたら、同じモデルに Q4_K_M・Q5_K_S・GPTQ・AWQ・IQ3_M… と大量のファイルが並んでいて固まった——多くの人が最初にぶつかる壁だ。本記事は、「どの量子化ファイルをダウンロードすれば動くのか」を実践目線で解く。量子化とは何か(概念)は別記事に譲り、ここではフォーマットの選び方に絞る。
扱うのは、フォーマットが実行環境で決まる理由・GGUFの命名規則(Q4_K_M)・4フォーマット比較・ビット数の選び方・探し方。先に要点。① フォーマットは「どのエンジンで動かすか」でほぼ決まる(GGUF=llama.cpp/Ollama、GPTQ/AWQ=vLLM等GPU)。② Q4_K_M は「4bit・K-quant・Mサイズ」の意味で、多くの場合の“定番の落としどころ”。③ 迷ったらまず Q4_K_M、VRAMに余裕があれば Q5/Q6 へ。
フォーマットは「実行環境」で決まる
— まず動かすエンジンを決めれば、選ぶファイルは絞れる
GGUF
llama.cpp / Ollama / LM Studio = CPU・Mac・GPU一部載せもOK(唯一のCPU向け)
GPTQ
vLLM / TGI / ExLlama = GPU向け(要キャリブレーション)
AWQ
vLLM / TGI = GPU向け(活性化を見て重要な重みを保護)
EXL2
ExLlamaV2 = GPU向け(ビット幅を細かく調整可)
だから最初の問いは「どのエンジンで動かすか」。ローカルでCPU/MacならGGUF、GPUサーバで速度重視ならGPTQ/AWQ。
1. なぜ量子化ファイルで迷うのか
量子化とは、モデルの重みを低いビット数に丸めてサイズと必要メモリを減らす技術だ(詳しくは量子化とは)。問題は、その「丸め方」に複数の方式(フォーマット)があり、さらに各方式にビット数や粒度の違うバリエーションが大量にあること。結果、Hugging Faceの1モデルに20個以上のファイルが並ぶ。
だが安心してほしい。選択は2段階に分けると一気に簡単になる。①どのフォーマットか(=どのエンジンで動かすか)、次に②その中でどのビット数のファイルか。この順で考える。
2. 結論:フォーマットは「実行環境」で決まる
最重要の事実:量子化ファイルは、その形式に対応したエンジンでしか動かない。だから「使うエンジン」を先に決めれば、フォーマットはほぼ自動的に決まる。
| フォーマット | 主なエンジン | ハード | キャリブレーション |
|---|---|---|---|
| GGUF | llama.cpp / Ollama / LM Studio / KoboldCpp | CPU・Mac・GPU一部載せ(混在可) | 任意(imatrix) |
| GPTQ | GPTQModel(旧AutoGPTQ)/ vLLM / TGI / ExLlama | GPU | 必要 |
| AWQ | AutoAWQ / vLLM / TGI | GPU | 必要 |
| EXL2 / EXL3 | ExLlamaV2 / ExLlamaV3 | GPU | 必要 |
| bitsandbytes(NF4/INT8) | Transformers(ロード時に即時量子化) | GPU | 不要(データ不要) |
覚えるべきは1点:GGUFだけがCPU/Mac/GPU一部載せに対応した“ローカル万能形式”で、それ以外(GPTQ/AWQ/EXL2)は基本GPU前提だ。だから——
- 手元のPC・Mac・CPUで動かす(OllamaやLM Studio)→ GGUF一択。
- GPUサーバで高スループット(vLLM/TGIで複数リクエストを捌く)→ GPTQ か AWQ。
- 単一GPUでビット幅を細かく詰めたい → EXL2/EXL3。
- 手軽にTransformersで試す(事前量子化ファイル不要)→ bitsandbytes(NF4)。
3. GGUFの命名を読み解く(Q4_K_M)
ローカル利用で最も出会うGGUFは、ファイル名の“暗号”さえ読めれば怖くない。Q4_K_M は3つの部分でできている。
Q4_K_M
つまり Q4_K_M =「4bitのK-quant・中サイズ(一部テンソルを格上げして品質を確保)」。実効ビットは表記より少し多い(例:Q4_K≈4.5bpw)。
もう2つの用語も知っておくと迷わない。
- IQ系(IQ2_XS, IQ3_M 等)=I-quant:コードブック方式で同じビットでもさらに小さくできる新しめの一族。ただし推論時の計算が重めで、後述のimatrixがほぼ必須。「VRAMにどうしても収めたい」時の切り札。
- imatrix(重要度行列):キャリブレーション用テキストを流して「どの重みが効いているか」を測り、低ビットでも効く重みを優先的に保護する仕組み。K-quantでは任意、I-quantでは実質必須。imatrix付きで作られたGGUFは低ビットでも品質が崩れにくい。
4. 4フォーマット比較(GGUF/GPTQ/AWQ/EXL2)
GPU向けも含めた主要フォーマットの性格を整理する。
CPU/Mac/混在で動く唯一の形式。llama.cpp系の定番。K-quant/I-quant/imatrixで柔軟。ローカル個人利用の第一候補。
GPU向けの定番4bit。キャリブレーションで層ごとの誤差を最小化。vLLM/TGIで高速。現在はGPTQModelが後継。
活性化を見て“効く重み”を保護(activation-aware)。GPU向け・重み専用4bit。vLLM/TGIで広く使われる。
ビット幅を小数で自由に設定できる(例4.5bpw)。ExLlama専用・GPU向け。EXL3は新しめのQTIP系で発展途上。
💡 GPTQとAWQの違い(ざっくり):GPTQは「層ごとに再構成誤差を最小化」、AWQは「活性化の分布を見て“重要な1%の重み”を保護する」という発想。どちらが上かはモデル・ビット幅・実装で変わるため、「どちらが常に優秀」とは言えない。まずは使うエンジンが対応する方を選べばよい。
5. どのファイル・ビット数を選ぶか
フォーマットが決まったら、次はビット数。GGUFを例に、迷ったらこう選ぶという実践ラダーを示す(数値は目安で、モデルやビルドで変わる)。
| ファイル | 位置づけ | いつ選ぶ |
|---|---|---|
| Q4_K_M | 定番の落としどころ(Ollamaの多くの既定) | 迷ったらこれ。サイズと品質のバランス最良の目安 |
| Q5_K_M / Q6_K | ほぼフル品質寄り | VRAMに余裕があり、もう一段品質を上げたい |
| Q8_0 | ほぼ無損失だが非推奨 | 基本不要(メモリ大・速度低下の割に品質差が僅少) |
| IQ2 / IQ3(I-quant) | 超低ビットで詰め込む | 大きいモデルをVRAMにどうしても収めたい時のみ |
目安として、1重みあたり約4.5〜5ビット(Q4_K〜Q5_K)が“おいしい”帯とよく言われる(経験則)。Q6より上は品質の伸びが鈍く、Q8_0やFP16はメモリと速度の代償が大きい割に差が小さい——というのが実運用の相場観だ。まずはQ4_K_Mで動かし、物足りなければQ5/Q6へ、収まらなければIQへ、と動かしながら調整するのが早い。必要VRAMの見積もりはローカルLLMの必要スペックを参照。
6. 実践:HuggingFaceとOllamaでの探し方
Hugging Faceでは、GGUFは library=gguf でフィルタするか、量子化の配布者のリポジトリを見るのが早い。執筆時点では bartowski や mradermacher が精力的にGGUF(imatrix付き含む)を公開している(配布者の活動状況は変わるので、最新のアップロード日を確認すること。かつて定番だったTheBlokeのリポジトリは残るが新規は概ね止まっている)。自分で変換したい場合は公式の gguf-my-repo スペースが使える。
Ollamaでは、タグが モデル:サイズ-種別-量子化 の形になっている。
# タグ無し = 既定(多くのモデルで Q4_K_M)
ollama pull llama3.1
# 量子化を明示して選ぶ
ollama pull llama3.1:8b-instruct-q5_K_M
ollama pull qwen2.5-coder:7b-instruct-q8_0
# 利用可能なタグは ollama.com/library/<モデル名>/tags で確認
つまり実務は「使うエンジンを決める→対応フォーマットに絞る→VRAMに合うビット数のファイルを選ぶ」の3手。これさえ押さえれば、20個並んだファイルにもう迷わない。実際に動かす手順は ローカルLLMの始め方やOllama完全ガイドへ。
まとめ
量子化フォーマット選びは2段階。まず①どのエンジンで動かすか——ローカルのCPU/MacならGGUF、GPUサーバで高速化ならGPTQ/AWQ、単一GPUで細かく詰めるならEXL2、手軽にTransformersならbitsandbytes。フォーマットは対応エンジンでしか動かないのが最重要ルールだ。
次に②ビット数。GGUFの Q4_K_M は「4bit・K-quant・中サイズ」で、多くの場合の定番。迷ったらQ4_K_M→(余裕があれば)Q5/Q6→(収まらなければ)IQ。約4.5〜5bpwが“おいしい帯”という経験則を軸に、動かしながら詰める。imatrix付きは低ビットに強い。関連:量子化とは、ローカルLLMの始め方、必要スペック、おすすめモデル比較、Ollama完全ガイド。
FAQ
Q. 結局どのファイルを選べばいいですか?
A. まず「どのエンジンで動かすか」を決めてください。手元のPCやMac(Ollama/LM Studio)ならGGUF、GPUサーバ(vLLM/TGI)ならGPTQかAWQです。次にビット数は、迷ったら Q4_K_M(サイズと品質のバランスが良く、Ollamaの多くの既定)。VRAMに余裕があれば Q5_K_M/Q6_K、大きいモデルをどうしても収めたい時だけ IQ2/IQ3 を検討します。
Q. Q4_K_M の記号は何を意味しますか?
A. 3つの部分です。Q4=4bitの目安(数字が大きいほど高品質・大サイズ)、K=K-quant(超ブロック単位で賢く量子化する方式。無印や _0/_1 は旧方式)、M=中サイズ(S/M/L で、一部の重要テンソルを高ビットに格上げする度合い)。実効ビットは表記より少し多め(Q4_Kで約4.5bpw)です。
Q. GGUFとGPTQ/AWQは何が違うのですか?
A. 対応する実行環境(ハード)が違います。GGUFはCPU・Mac・GPU一部載せで動く唯一の“ローカル万能形式”で、llama.cpp/Ollama向け。GPTQ・AWQはGPU前提で、vLLM/TGIなどで高スループットに向きます。GPTQは層ごとに誤差を最小化、AWQは活性化を見て重要な重みを保護、という作り方の違いもありますが、どちらが常に優秀とは言えません。まずは使うエンジンが対応する方を選べば十分です。
Q. IQ(I-quant)は普通のQ4などと何が違う?
A. 同じビット数でもさらに小さくできる新しめの方式です(コードブック方式)。その代わり推論時の計算がやや重く、品質を保つには imatrix(重要度行列)付きがほぼ必須です。用途は「大きいモデルをVRAMにどうしても収めたい」時の切り札。普通に収まるなら、素直に Q4_K_M など K-quant の方が扱いやすいです。
Q. Q8_0やFP16の方が高品質では?なぜ非推奨なのですか?
A. 確かにほぼ無損失ですが、メモリを大きく食い、速度も落ちる割に、Q5/Q6との品質差が僅少だからです。llama.cpp界隈でも通常用途では推奨されていません。実運用では約4.5〜5bpw(Q4_K〜Q5_K)が“おいしい帯”で、そこから必要に応じて上下させるのが効率的です(数値はモデル・ビルドで変わる目安)。