なぜ機能するのか
モデルの重みは単なる数値です。学習済みモデルは通常、16 ビット精度(FP16 または BF16)で公開されます — パラメータごとに 2 バイトです。量子化は、これらの数値をより少ないビットに丸めます。8 ビットはパラメータごとに 1 バイトを使用し、4 ビット(Q4)は約半分のバイト数を使用します。重みあたりのビット数が少なくなると、保存するデータ量が減り、生成されるトークンごとにメモリを通過するデータ量も減ります。これが、量子化されたモデルが小さくなるだけでなく、実行速度も速くなる理由です — 推論の仕組み で説明した通り、デコード速度は生のコア性能ではなく、重みがメモリを通過する速度によって制限されます。
トレードオフは精度の低下です。重みをより少ないビットに丸めると小さな誤差が生じ、モデルのレイヤー間で累積します。これは、積極的な量子化レベルでは出力品質に測定可能な影響を与える可能性があります。パラメータあたりの正確なバイト数と、これに基づくサイズ計算の詳細については、メモリとオフロード を参照してください。
GGUF 量子化名の読み方
続いて、llama.cpp ベースのバックエンド(Ollama や LM Studio など)で配布されるファイルは GGUF フォーマットを使用し、量子化されたバリエーションは llama.cpp quantize README および GGUF フォーマット仕様 に記載された命名規則に従います。典型的なファイル名は Qwen3-8B-Instruct-Q4_K_M.gguf のようになります — .gguf の直前の最後のセグメントが量子化を示します。
量子化名は、Q2_K(最小、品質最低)から Q8_0(最大、ほぼロスレス)まで幅広く存在します:
したがって、
Q4_K_M は以下のように解釈されます:4 ビット、K-クアンツファミリー、中規模バリエーション。GGUF Q4_K_M は混合精度であり、実際にはパラメータあたり約 0.5–0.56 バイトに相当します — すべてのテンソルに対して一律 4 ビットというわけではありません。
この
Q の後の数字が大きいほど、あらゆる面で常に「良い」というわけではありません — これはサイズと品質の調整ダイヤルです。Q8_0 は Q2_K よりも元の 16 ビット重みに近いですが、ファイルサイズはおよそ四倍になります。サイズと品質のトレードオフ
量子化を一段階下げるごとに、メモリが節約され、多くの場合速度が少し向上しますが、出力品質には一定のコストがかかります。この関係は線形ではありません — 品質は 4 ビット程度までよく維持され、それ以下になるとより顕著に低下します:Q8_0: フル 16 ビット品質に非常に近い。VRAM に余裕があり、最も安全な品質マージンを求める場合に使用します。Q4_K_M: 一般的なデフォルト。ほとんどの一般的な用途において、サイズと品質のバランスが良い。Q2_K–Q3_K: 最小で VRAM に最も優しいが、品質は明らかに低い — 他の選択肢が全く収まらない場合にのみ使用します。
どの量子化を選ぶべきか?
経験則として:まずQ4_K_M をお試しください。これは、ほとんどのモデルリポジトリが推奨するデフォルトです — 理由としては、コンシューマーハードウェアに快適に収まりながら、ほとんどのタスクにおいてフル精度の出力品質に近づいているためです。
そこから:
- より高い精度(
Q5_K_M、Q6_K、Q8_0)へ:ターゲットのコンテキスト長における KV キャッシュを考慮した後、VRAM に余裕がある場合。 - より低い精度(
Q3_K、Q2_K)へ:Q4_K_Mが本当に収まらず、他に選択肢がない場合のみ — 特に思考(reasoning)やコーディングを伴うタスクにおいて、品質の顕著な低下を予想してください。
量子化対応学習(QAT)
上記のすべては 学習後量子化(PTQ) を説明しています — 完成したモデルを一度に量子化することです。量子化対応学習(QAT) は、代わりに学習中に低精度をシミュレートし、重みが丸め誤差に耐え、同じビット幅でより良い品質を維持するように学習します。Google は Gemma の QAT チェックポイントを-it-qat タグで提供しています — 例えば ollama run gemma4:12b-it-qat — これは BF16 VRAM のおよそ四分の一で、フル精度の品質に近い状態を維持します。QAT チェックポイントは依然として GGUF として提供されます:QAT は 重みが作成された方法 であり、異なるフォーマットではありません。
量子化対応学習の解説
QAT が PTQ や GGUF とどのように異なるか、実行すべき Gemma QAT チェックポイント、および Unsloth を使用した独自のファインチューニングについて。
さらに深く学ぶ
モデルカードを読む
モデルリポジトリが実際に提供する量子化バリエーションを見つける。
メモリとオフロード
精度別パラメータあたりのバイト数を含む、完全なサイズ計算式。
量子化とハードウェア
重みフォーマット(GGUF、NVFP4、MXFP4、AWQ、GPTQ、MLX)をハードウェアにマッチさせる。
量子化を選択し、実行した後
量子化を選択することで、モデルはハードウェアに収まり、適切に実行されるようになります。ローカルでリクエストに応答し始めたら、次のステップは、その一台の機械以外からアクセスすることです。安定したエンドポイントを付与する
Tokios はモデルを選択、ホスティング、またはファインチューニングしません — ローカルで実行された後、Tokios はそれをどこからでも呼び出せる安定した認証済みエンドポイントに変換します。