Chuyển đến nội dung chính
友田 陽大
Quantized LLMs & self-hosting
Qwen
AWQ
量子化
vLLM
GGUF
FP8
セルフホスト

Qwen3-8B 量子化方式の選び方:AWQ・GPTQ・FP8・GGUF を用途で決める

Qwen3-8B をどの量子化で動かすべきか——AWQ・GPTQ・FP8・GGUF を、対応ハードウェア・VRAM・スループット・公式サポート状況で比較。GPU本番はAWQ/FP8、Mac/CPUローカルはGGUF、という判断軸を、VRAM計算と型安全な選定関数(テスト付き)で迷わず決められるようにします。

Published
Last updated
Updated
Reading time
10 min read
Author
友田 陽大
Chia sẻ

この記事のゴール

Qwen3-8B-AWQ の実践ガイドで「AWQ なら 24GB GPU 1枚に載る」と書きました。では AWQ・GPTQ・FP8・GGUF のどれを選べばいいのか——案件で必ず聞かれるこの問いに、本稿はハードウェア・VRAM・スループット・公式サポート状況で答えます。

量子化は「とりあえず4bit」で選ぶものではありません。どのGPU(あるいはCPU/Mac)で、何を優先するかで正解が変わります。読み終えたとき、「うちの環境なら○○、理由は△△」と式で言い切れる状態を目指します。

信頼性の開示:本稿の方式特性・コマンド・公式サポート状況は、Qwen 公式ドキュメント(量子化)・各モデルカード(AWQ / FP8 / GGUF)に基づきます。VRAM とスループットは環境依存・要ベンチです。本稿の数値は目安であり、実装前に自社環境で必ず計測してください。GPU 本番運用は動画AIローカライズ基盤で実際に向き合った領域です。


30秒の結論:早見表

方式ビット対応HW重みVRAM(8.2B)主用途Qwen3公式
FP88bit floatFP8対応GPU(H100/H200・Ada・Blackwell)≈8GBGPUサーバ・速度最優先・ほぼ無劣化Qwen3-8B-FP8
AWQ4bit weight一般的なGPU(24GB級でも可)≈6GBGPUサーバ・最大圧縮・1枚運用Qwen3-8B-AWQ
GPTQ4/8bitGPU(vLLMはMarlin)≈6GB(Int4)既存GPTQ資産がある場合⚠️ 「To be updated」
GGUF2〜8bit可変CPU / Apple Metal / GPU≈5GB(Q4_K_M)ローカル・Mac・エッジ・単機Qwen3-8B-GGUF

3行で言うと

  • GPUで本番サーブFP8(対応GPUがあれば速くて綺麗)か AWQ(汎用GPUで最大圧縮)。
  • Mac/CPUでローカルGGUF(Ollama / LM Studio / llama.cpp)。
  • GPTQ は Qwen3 で公式が「更新待ち」かつ既知の不具合報告があり、Qwen では基本 AWQ を選ぶのが無難。

まず「量子化で何が起きるか」を1分で

LLM の重みは通常 FP16(1パラメータ2バイト)。量子化は、この重みをより少ないビットで表すことで、VRAM とメモリ帯域を削り、載る・速い・安いを実現します。代償はわずかな品質劣化——どれだけ賢く削るかが各方式の腕の見せどころです。

VRAM の概算式はシンプルです。

重みVRAM ≈ パラメータ数 × (ビット数 / 8) [byte]
  FP16 : 8.2e9 × 2     ≈ 16.4 GB
  FP8  : 8.2e9 × 1     ≈ 8.2 GB
  4bit : 8.2e9 × 0.5   ≈ 4.1 GB(+スケール/ゼロ点で実測 5〜6GB)

💡 重みが軽い=同時実行が増える:空いた VRAM は KVキャッシュ(=同時リクエスト数と文脈長を決める)に回せます。だから「重みを削る」ことは、単に載るだけでなくセルフホストの実効スループット原価を決める分母)を直接押し上げます。


AWQ:GPUサーバの“本命”

AWQ(Activation-aware Weight Quantization) は、「出力に効く重みほど壊さない」活性化を考慮した4bit重み量子化です。公式は AutoAWQ 実装で FP16比 約3倍のメモリ削減・約3倍の高速化を示しています。

  • 強み:4bit で品質劣化が小さい。vLLM の連続バッチと相性が良く、24GB級GPU 1枚で実用的に回る。Qwen 公式が Qwen3-8B-AWQ を配布。
  • 向く:L4 / A10 / RTX 4090 などの汎用GPUで、最大圧縮しつつ本番サーブしたい。
# AWQ:そのままOpenAI互換でサーブ(詳細は実践ガイドへ)
vllm serve Qwen/Qwen3-8B-AWQ --reasoning-parser qwen3 --max-model-len 32768

サーブと本番運用の作法はQwen3-8B-AWQ 実践ガイドに集約しています。


FP8:対応GPUがあるなら最有力

FP8 は 8bit の浮動小数点量子化。Qwen3 の FP8 は **fine-grained(ブロックサイズ128)**で、ほぼ無劣化に近いのが特徴です。

  • 強み:精度劣化が極小。FP8対応GPUでは演算が速い(Tensor Core が FP8 を直接処理)。
  • 前提FP8対応GPU が必須——Hopper(H100/H200)、Ada(L4/L40S/RTX 40系)、Blackwell。非対応GPU(例:A100/V100)では遅くなるか起動に失敗します。
  • VRAM:≈8GB と AWQ より重いが、24GBに十分収まる
# FP8:対応GPUなら速くて綺麗。重みは≈8GB
vllm serve Qwen/Qwen3-8B-FP8 --reasoning-parser qwen3 --max-model-len 32768

🔧 AWQ と FP8、どちらかH100/Ada を持っていて速度最優先なら FP8汎用24GB GPUで“とにかく載せて安く”なら AWQ。VRAM が逼迫して同時実行を稼ぎたいなら 4bit の AWQ が有利、品質を1ミリも落としたくないなら FP8——という住み分けです。


GPTQ:Qwen3では「更新待ち」、基本は避けて良い

GPTQ は近似2次情報を使うワンショット重み量子化で、Int4/Int8 が一般的。vLLM では Marlin カーネルで高速化されます。

ただし Qwen のGPTQ 公式ドキュメントは冒頭に 「Attention: To be updated for Qwen3」 と明記されており、Qwen3 向けの公式 GPTQ は更新待ちの状態です。加えて Qwen2.5 系で **「72B-GPTQ-Int4 が生成を止められない」「32B-GPTQ-Int4 が vLLM 複数GPUで文字化け」**といった既知の不具合が報告され、回避策として AWQ が案内されています。

⚠️ 結論Qwen で量子化を選ぶなら、まず AWQ。GPTQ は「既存の GPTQ パイプラインがある」等の明確な理由がない限り、Qwen3 では積極的に選ぶ理由が薄いです。選ぶ場合も単機・単GPUで挙動を必ず検証してください。


GGUF:Mac・CPU・ローカルの“もう一つの世界”

GGUFllama.cpp 系のフォーマット。AWQ/FP8/GPTQ が「GPUサーバ向け」なのに対し、GGUF は土俵が違います

  • 強みCPU でも Apple Silicon(Metal)でも動くOllama / LM Studio / llama.cpp がそのまま読む。ローカル開発・Mac・エッジ・単機の決定版。
  • ビット:可変。Q4_K_M がサイズと品質の定番スイートスポット(実効約4.5bit)、Q8_0 はほぼ無劣化(≈8bit)。極端な Q2/Q3 は劣化が見える。
  • 不得手多数同時リクエストの高スループットサーブ。それは vLLM × AWQ/FP8 の領分です。
# Mac/ローカルで最短:Ollama で Qwen3-8B(GGUF)を動かす
ollama run qwen3:8b
# llama.cpp で特定の量子化を選ぶ場合(例:Q4_K_M)
llama-cli -hf Qwen/Qwen3-8B-GGUF:Q4_K_M -p "RAGの再ランキングを2行で"

💡 使い分けの本質:GGUF は「自分のMacで、外部に出さず、すぐ試す」。AWQ/FP8 は「サーバで、多数同時に、速く捌く」。開発はGGUF、本番はvLLM、とOllama と vLLM の住み分けに揃えてください。


VRAM とハードウェアの対応表

環境推奨方式理由
H100 / H200 / L40S(FP8対応) + 速度最優先FP8Tensor Core で高速・ほぼ無劣化
L4 / A10 / RTX 4090(24GB級)+ 最大圧縮AWQ 4bit6GBに圧縮し同時実行を稼ぐ
A100 / V100(FP8非対応)AWQ 4bitFP8は不可。4bitで載せる
Apple Silicon MacGGUF(Metal)Ollama/LM Studioで即動く
GPUなし・CPUのみGGUF(Q4_K_M)CPU推論はllama.cpp一択
既存GPTQ資産ありGPTQ(要検証)Marlinで動くが Qwen3 は更新待ち

迷わないための「選定関数」(型安全・テスト可能)

“世界最高峰”は派手さではなく、入力だけで決まる小さな純粋関数です。環境と優先軸を入れれば量子化方式が決定的に返り、そのまま単体テストに載ります(型安全の規律)。

// lib/pick-quantization.ts — 環境×優先軸 → 量子化方式を決定的に返す純粋関数
export type Hardware = "fp8-gpu" | "ampere-24gb" | "older-gpu" | "apple-silicon" | "cpu-only";
export type Priority = "throughput" | "max-compression" | "no-quality-loss" | "local-dev";

export interface QuantChoice {
  readonly method: "FP8" | "AWQ" | "GGUF";
  readonly model: `Qwen/Qwen3-8B${"-FP8" | "-AWQ" | "-GGUF"}`;
  readonly runtime: "vLLM" | "Ollama/llama.cpp";
  readonly reason: string;
}

/** ハードウェアと優先軸から、Qwen3-8B の量子化方式を一意に決める。 */
export function pickQuantization(hw: Hardware, priority: Priority): QuantChoice {
  // ローカル/CPU/Macは土俵が違う:GGUF一択(GPUサーバ系の議論に巻き込まない)
  if (hw === "cpu-only" || hw === "apple-silicon" || priority === "local-dev") {
    return { method: "GGUF", model: "Qwen/Qwen3-8B-GGUF", runtime: "Ollama/llama.cpp",
      reason: "CPU/Apple Metal/ローカル単機。Ollama・LM Studio・llama.cpp が直接読む。" };
  }
  // FP8対応GPUで「劣化させたくない or 速度最優先」なら FP8
  if (hw === "fp8-gpu" && (priority === "no-quality-loss" || priority === "throughput")) {
    return { method: "FP8", model: "Qwen/Qwen3-8B-FP8", runtime: "vLLM",
      reason: "FP8対応GPUではTensor Coreが速く、fine-grained FP8はほぼ無劣化。" };
  }
  // それ以外のGPU(FP8非対応含む)/ 最大圧縮 → AWQ 4bit
  return { method: "AWQ", model: "Qwen/Qwen3-8B-AWQ", runtime: "vLLM",
    reason: "汎用GPUで最大圧縮(重み≈6GB)。activation-awareで品質劣化が小さく、vLLM連続バッチと好相性。" };
}
// pick-quantization.test.ts — 仕様を表で固定(退行を止める)
import { describe, it, expect } from "vitest";
import { pickQuantization } from "./pick-quantization";

describe("pickQuantization", () => {
  it("Mac はランタイムに関わらず GGUF", () => {
    expect(pickQuantization("apple-silicon", "throughput").method).toBe("GGUF");
  });
  it("FP8対応GPUで無劣化優先なら FP8", () => {
    expect(pickQuantization("fp8-gpu", "no-quality-loss").method).toBe("FP8");
  });
  it("FP8非対応GPUは AWQ にフォールバック", () => {
    expect(pickQuantization("older-gpu", "throughput").method).toBe("AWQ");
  });
  it("24GB級で最大圧縮なら AWQ", () => {
    expect(pickQuantization("ampere-24gb", "max-compression").model).toBe("Qwen/Qwen3-8B-AWQ");
  });
});

選定をコードとテストに落とすと、チームの誰が判断しても同じ結論になり、環境が増えても分岐を1か所で保守できます(DRY・SRP)。


ハマりどころ & ベストプラクティス

  • 🔴 FP8 は対応GPU必須。非対応GPU(A100/V100等)に FP8 を載せると遅化・起動失敗。nvidia-smi で世代を、起動ログで実 dtype を確認。
  • 🟠 GPTQ は Qwen3 で更新待ち+既知の不具合。選ぶなら単GPUで挙動検証。Qwen では基本 AWQ。
  • 🟠 GGUF を高スループットサーバに使わない。多数同時は vLLM×AWQ/FP8。GGUF は単機・ローカルの強み。
  • 🟠 二重量子化しない。配布済みの量子化済みモデルを更に量子化しない。公式の量子化版をそのまま使う。
  • 🟢 どの方式でも思考モードのサンプリングは守る。量子化に関わらず greedy decoding 禁止・presence_penalty≈1.5実践ガイドどおり。
  • 🟢 品質は自社タスクで評価。一般ベンチではなく、あなたのプロンプトで AWQ と FP8 を比べる。差が無ければ軽い方(AWQ)が得。

まとめ

Qwen3-8B の量子化選びは、流行りではなく環境と優先軸の関数です。

  1. GPUサーバ × 速度/無劣化FP8(対応GPUが前提)。
  2. GPUサーバ × 最大圧縮(24GB級)AWQ 4bit(Qwenの本命)。
  3. Mac / CPU / ローカル単機GGUF(Ollama・llama.cpp)。
  4. GPTQ は Qwen3 で更新待ち+既知の不具合——基本は AWQ
  5. 最終判断は自社タスクの評価と VRAM/スループットの実測で。選定はコードとテストに落として再現性を持たせる。

モデル量子化の選定・ベンチ設計から、vLLM 本番サーブ・原価試算までまとめて伴走します。GPU 推論基盤の実績をご覧のうえご相談ください。一人 × 生成AIで、速く・安く・安全に。

出典・公式リソース

※ 方式特性・公式サポート状況・VRAM/スループットは更新・環境依存です。実装前に一次情報と自社ベンチで必ず確認してください。

Câu hỏi thường gặp

結局おすすめは?
GPU本番なら AWQ(汎用GPU)か FP8(対応GPU)、Mac/CPUローカルなら GGUF。Qwen で GPTQ は基本選ばなくて良い。迷ったら本文の選定関数に環境を入れてください。
4bit にすると賢さはどれくらい落ちる?
AWQ は activation-aware で実用上わずか。ただしタスク依存です。一般ベンチではなく、自社の評価セットで AWQ と FP8/FP16 を比べて差を確かめてください。
FP8 と AWQ、品質はどっちが上?
一般に FP8 の方が劣化が小さい(8bit・fine-grained)。一方 AWQ はより軽い(4bit)ので同時実行を稼げます。「品質1ミリも落とさない」FP8、「載せて安く」AWQ。
GGUF の Q4_K_M と Q8_0、どっち?
サイズ優先なら Q4_K_M(定番スイートスポット)、品質優先なら Q8_0(ほぼ無劣化だが約2倍の容量)。Mac のメモリと相談して選びます。
量子化でコストはどれくらい変わる?
重みが軽い=同じGPUにより多く同時に載る=実効スループットが上がり、出力1Mトークンあたり原価が下がります。効果は必ずベンチで確認を。
友田

友田 陽大

Người phát triển sản phẩm đoạt Giải thưởng Bộ trưởng (METI). Với TypeScript + Python + AWS, tôi một mình triển khai trọn gói SaaS, chuyển đổi số công nghiệp và AI tạo sinh (RAG) sẵn sàng cho production — từ phân tích yêu cầu đến hạ tầng và vận hành.

Do you actually know whether self-hosting beats the API?

Self-hosted LLM technology selection — quantization, GPU budget, commercial licensing

When to use AWQ / GPTQ / FP8 / GGUF, VRAM estimates that include the KV cache, the break-even point against per-token API pricing, and the license terms of Apache-2.0 / Llama / Qwen / Gemma. From hands-on experience adopting commercially usable open quantized models stage by stage against license, quality, and speed trade-offs, I help you assemble the decision criteria before you implement.

Nhận cả dự án trọn gói lẫn vai trò cố vấn kỹ thuật. Hãy bắt đầu bằng buổi tư vấn miễn phí 30 phút.

最短ルート:カレンダーから直接予約

相談内容が固まっている方は、フォーム送信よりその場で日程を確定する方がスムーズです。下記から空き時間をお選びください。

  • 30分のオンライン無料相談
  • Google Meet / Zoom / Microsoft Teams
  • NDA 商談前締結可・無理な営業はいたしません
無料相談の空き枠を予約する

Cũng đáng đọc