量子化とは何か:Q4・Q8などの表記を読み、PCに合うファイルを選ぶ
AIを使いこなすClaudeで執筆し、GPTで自動校閲・修正しています。

量子化とは、モデルの重み(数値の集まり)を少ないビット数で持ち直して、ファイルサイズとメモリ使用量を減らす処理です。「Q4_K_M」は、おおまかに「4ビット系で、K-quantという方式の中間的な配合」と読みます。軽くなる代わりに、元のモデルとの誤差が増えます。 迷ったら、まず Q4_K_M を試し、メモリに余裕があれば Q5_K_M → Q6_K → Q8_0 と上げるのが入口として無難です。LM Studioの公式ドキュメントも、マシンに余力があれば4ビット以上を選ぶよう案内しています(LM Studio: Download an LLM)。以下では表記の読み方、メモリ別の最初の候補、品質の見比べ方を順に示します。
表記の読み方早見表
量子化タイプの名前は、おおむね「Q+ビット数+方式+配合」の並びです。Hugging FaceのGGUFの説明には、各タイプの方式とbits per weight(1つの重みあたりの平均ビット数)が載っています。
- Q8_0、読み方:8ビット系。末尾の0は旧来のブロック方式、補足:元のF16に近い品質を狙う側。サイズは大きい
- Q6_K、読み方:6ビット系のK-quant、補足:約6.6bit/重み
- Q5_K_M、読み方:5ビット系のK-quant、M配合、補足:約5.7bit/重み
- Q4_K_M、読み方:4ビット系のK-quant、M配合、補足:約4.9bit/重み。入口の標準候補
- Q3_K_M / Q2_K、読み方:3・2ビット系、補足:小さいが、劣化を確かめる前提で使う
- IQ4_XS、IQ3_Mなど、読み方:IQはimportance matrix(重要度行列)を使う系統、補足:低ビットで品質を保つ工夫。数が多く、最初は後回しでよい
- F16 / BF16、読み方:16ビット浮動小数点、補足:量子化していない元に近い形
読み方のポイントは3つです。
- 数字は名目のビット数です。 Q4_K_Mの実際の平均は約4.9ビットなので、「4ビットだから元の4分の1」ではありません。llama.cppの量子化READMEでは、Llama-3.1-8Bで F16が14.96 GiB、Q8_0が7.95 GiB、Q4_K_Mが4.58 GiB、Q2_Kが2.95 GiBです。Q4_K_MはF16の約3割になります。
- 「K」付きが現在の主流です。 Hugging Faceの表では、Q4_0・Q5_0・Q8_0などの方式が「legacy(旧来)」に分類されています。
- 末尾のS/M/Lは同系統の別配合です。 迷う段階ではMを基準にして構いません。
軽くなる代わりに何が落ちるか
llama.cppのREADMEは、量子化で精度が下がること、その差をperplexityやKLダイバージェンスで測ることを説明しています。適切なimatrixを使うと劣化を抑えられるとも書かれています。また、画像などを扱うマルチモーダル部分は、速度やメモリへの影響が小さい割に品質への影響が大きいため、bf16やQ8のまま残すことが推奨されています。
公式資料は、「どのタスクでどれだけ落ちるか」までは一律に示していません。そのため、数字の大小ではなく自分の用途で見比べるのが確実です。見るべき観点は次のとおりです。
- 日本語の言い回しが不自然になっていないか
- 指定した形式(箇条書き、JSONなど)を守れているか
- 数値や固有名詞を取り違えていないか
- 長い入力で、前半の指示を忘れていないか
搭載メモリ別:最初に試す候補の判断表
ファイルサイズの概算は「パラメータ数(B)×bits per weight÷8」で出せます。8Bの場合、Q4_K_Mは約4.9GBで、Ollamaのライブラリ(llama3.1)に載っているq4_K_Mの4.9GBと一致します。同ページの70B q4_K_Mは43GBです。
実行には、ファイルに加えて設定した文脈の長さ(コンテキスト長)に応じた作業領域とOSの分が必要です。Ollamaの公式資料も、コンテキスト長を増やすと必要メモリが増えると説明しています。ここでは編集上の目安として「ファイルサイズの約1.5倍が、モデルに回せるメモリに収まること」を基準にしました。実測ではなく概算による提案で、動作を保証する基準ではありません。
「メモリ」は、GPU実行ならVRAM、統合メモリのマシンならモデルに回せる分、CPU実行ならRAMのことです。
- 8GB、最初に試す候補:7〜8B級のQ4_K_M(約4.6〜4.9GB)、余裕があれば次に試す候補:3〜4B級のQ6_K〜Q8_0
- 16GB、最初に試す候補:8B級のQ6_K(約6.6GB)。または14B級のQ4_K_M(概算約8.6GB)、余裕があれば次に試す候補:8B級のQ8_0(約8〜8.5GB)
- 32GB、最初に試す候補:14B級のQ6_K〜Q8_0(概算約11.5〜14.9GB)。または30B台のQ4_K_M、余裕があれば次に試す候補:32B級のQ4_K_M(概算約19.6GB)
- 64GB、最初に試す候補:32B級のQ8_0(概算約34GB)、余裕があれば次に試す候補:70B級のQ4_K_M(約43GB)。1.5倍の目安には収まらないため、短い文脈で動作を確かめる
14B・32B級の値は上の計算式による概算で、モデルごとにずれます。実際のファイルサイズは、ダウンロード画面かモデルページで確認してください。
同じ容量なら「大きいモデルを低ビット」か「小さいモデルを高ビット」か
この比較は用途で変わります。表は「同じモデルを選んだとして、どの量子化から入るか」を決めるためのものです。大きいモデルの低ビット版と、小さいモデルの高ビット版のどちらが自分の用途に合うかは、次の節の手順で両方を見比べてください。
実際に取得して見比べる手順
Hugging Face上のGGUFは、Ollamaなら量子化名をタグとして付けて指定できます。量子化を指定しない場合は、リポジトリにQ4_K_Mがあればそれが選ばれ、なければリポジトリ内の妥当そうなタイプが選ばれます(Hugging FaceのOllama連携)。
# 以下はドキュメントにある書式の例です(本記事では実行して検証していません)
ollama run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF:Q8_0
ollama run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF:IQ3_MLM Studioなら、モデル検索で出てくる複数のファイルから、表のとおりQ4_K_Mなどを選んでダウンロードします。
見比べは次の手順で行います。
- 同じモデルで、Q4_K_Mと、メモリに収まる最も上のタイプ(Q6_KやQ8_0など)の2つを取得する。
- 下の依頼文を、同じ順番で両方に入力する。
- 前節の4観点で、人が目で比べる。違いがほとんどなければ軽い方を採用し、差が出たら一段上げる。
入力例(説明用の例。架空の社内メモです)
次のメモを、200字以内の要約と、決定事項の箇条書き(最大3つ)にしてください。
日付と金額は原文のまま残してください。
メモ:
10月3日の定例で、備品購入の予算を12万5千円から15万円に増やすことになった。
発注は10月10日までに総務の佐藤さんが行う。納品は月末を希望。
ただし、見積もりが再提出された場合は再度検討する。この例なら「日付と金額が原文のままか」「決定事項が3つ以内か」を機械的にチェックできます。実際の仕事の文書を使う場合は、社名・個人名・金額を置き換えてから入力してください。結果は使うモデルとツールで変わるため、この記事では出力例を載せていません。
つまずきやすい点
- Ollamaは、取り込み時にGGUFを量子化しません。 自分で量子化したい場合は、llama.cppのllama-quantizeなどで事前に済ませます。通常は、すでに量子化済みの配布ファイルを選べば足ります。
- サイズが近くても同じ品質とは限りません。 同じビット数帯でも、配合やimatrixの有無、配布者によって差が出ます。
- 実行時には、ファイル以外にもメモリを使います。 メモリ不足で動作が重いときは、一段下の量子化にするより先に、文脈の長さ(コンテキスト長)を短くして確認してください。

