ローカルAIを動かすと必ず出てくるのが量子化(Q4_K_M、Q8_0、fp16…)。これは「重みを何ビットで持つか」の選択で、メモリ・精度・速度のトレードオフを決めます。結論から言えば、迷ったら Q4_K_M が標準。ただし用途によってはQ8_0が向きます。本記事は当サイトのA6000実測と、メモリの理論値で整理します。

量子化とは(ビットを削ってメモリを減らす)

モデルの重みは元々fp16(16bit)。これを8bit(Q8_0)や4bit(Q4_K_M)に圧縮すると、メモリ使用量がほぼビット比で減ります。代わりに数値の精度がわずかに落ちる——この「どこまで削ってよいか」が量子化選びです。

精度への影響は「思ったより小さい」

「4bitに削ると賢さが半減するのでは」と思われがちですが、実測は違います。Qwen2.5 7B(A6000)で、function callingの正答率と構造化出力の崩れを量子化別に測りました。

量子化を強めても「構造化出力の“形”」は崩れない(Qwen2.5 7B・A6000実測)
量子化単発
正答
JSON崩れ
bad_json
ツール誤
wrong_tool
引数誤
bad_args
未呼出
no_call
連鎖
成功
fp16(無圧縮)100%000067%
Q8_094%002056%
Q4_K_M(標準)90%000467%

要点: 壊れたJSON・誤ったツール選択は全量子化で0件(単発144試行中0)。量子化で落ちるのは僅かな判断(呼ぶ/呼ばない・引数の正しさ)だけで、構造化出力の“形”はQ4でも保たれる。連鎖は67/56/67%で単調劣化は出ず(9試行=小サンプル)。単発48試行/モデル・temp0.7・要検証(追試で確度を上げる)。

fp16→Q4_K_Mで単発正答は100%→90%とわずかに下がるものの、壊れたJSON・ツール誤選択は全量子化で0件。出力の「形」は崩れません。これはモデル族を問わず成立します。

量子化↑で正答↑は「モデル族を問わず」成立。ただし“地力”の差は桁違い(A6000実測)
量子化Qwen2.5 7BLlama3.1 8B
Q4(標準)90%38%
Q894%46%
fp16(無圧縮)100%50%
共通の頑健性: 壊れたJSON・ツール誤選択は両族・全量子化で0件(10構成×48=480試行中0)。量子化を強めても両族とも正答は単調にしか下がらず、構造化出力の“形”は壊れない

だが地力は別物。Llama3.1 8Bは日本語の文字列引数を破損させ(実例: 検索query=「バータカストは帮を食し」、メール件名=「参數」(本来「会議」)、雑談で誤って都市=「本国市」を生成)、ASCIIの数値・メールアドレスは正しいのに日本語タスクのvalidが50%止まり。連鎖でも同じ単調勾配(Q4 0%→Q8 11%→fp16 33%)だがQwen2.5 7Bの78%には遠く及ばない。日本語エージェントではモデル族選びがQ4/fp16の選択より遥かに効く。経験則・要検証。

量子化を強めても正答は単調に少し下がるだけで、急落はしません(A6000実測)。一方でモデルの“地力”の差(Qwen vs Llama)は量子化差より遥かに大きい。まず良いモデルを選び、その上で量子化を選ぶ——この順序が正解です。

メモリ削減量(どの量子化で何が載るか)

量子化の最大の効果はメモリです。目安は「1Bあたり」で次の通り(Q4_K_M基準は当サイトの動くか診断と同じ・経験則/要検証)。

量子化1Bあたり7Bモデルの目安位置づけ
fp16(無圧縮)約2.0GB約14GB最高精度・最重
Q8_0約1.0GB約7GBほぼ無劣化
Q4_K_M(標準)約0.5GB約3.5GBバランス・推奨

同じVRAMでも、Q4にすればfp16の約4倍の大きさのモデルが載ります。手元の機材で特定モデルが動くかは動くか診断で確認できます(量子化前提のメモリ目安つき)。

速度トレードオフ(A6000実測)

decode(生成)はメモリ帯域律速——重みをメモリから読み出す速さが効きます。だから重みが小さい量子化ほど速い。これをA6000で、同一モデルを3つの量子化で実測して確かめました。

モデル量子化速度 tok/s電力効率 tok/s/WQ4比
Qwen2.5 7BQ4_K_M117.40.471.00x
Qwen2.5 7BQ8_077.20.300.66x
Qwen2.5 7BF1645.10.170.38x
Llama3.1 8BQ4_K_M111.20.461.00x
Llama3.1 8BQ8_073.60.280.66x
Llama3.1 8BF1643.10.150.39x

Q4_K_M は Q8_0 の約1.5倍、fp16 の約2.6倍速い。この比は両族でほぼ同じで、量子化が速度を左右する主因がメモリ帯域であることを示します。電力効率(tok/s/W)も Q4 が最良なので、24時間の常時稼働ほど Q4 が効きます

精度は前述の通り Q4 でもほとんど落ちず、構造化出力の「形」も崩れません。つまり Q4_K_M は速度・メモリ・電力で得て、精度の損は小さい——これが「迷ったら Q4」の実測的な裏付けです。

検証DBでの量子化方針も同じで、小さいモデル(〜2B)は Q8_0(軽く精度優先)、中〜大(3B〜)は Q4_K_M(まずメモリに載せる)を基本にしています。機材×モデル×量子化の全数値は検証DB(量子化・モデル族でフィルタ可)で確認できます。

計測条件: A6000・ollama 0.30.8・本計測2回平均・num_predict=256・temperature=0。電力は nvidia-smi の GPU power.draw 平均(測定境界はGPUのみ・要検証)。

結論:どれを選ぶか

  • 迷ったら Q4_K_M。精度低下は小さく、メモリ効率が良い。
  • 精度を最優先、または小さいモデルなら Q8_0
  • メモリがギリギリなら Q4_K_M で載せる。それ以下の強圧縮に進む前に、まずモデルを一段小さくする方が安全なことが多い(経験則/要検証)。
  • 「そもそも載るか」はメモリで決まります。まず動くか診断で確認を。

量子化は「賢さを削る」より「載せて・速くするための実用技術」です。精度より先に、良いモデル選び用途に十分なサイズが効きます。各数値の測り方は測定プロトコルに、機材選びは機材の選び方にまとめています。