GGUF Quantization (2023)(ジージーユーエフクォンタイゼーション2023)
llama.cpp 2023年8月導入量子化フォーマット。CPU/Apple Silicon 推論最適化・2/3/4/5/6/8-bit 量子化対応
概要
GGUF(GPT-Generated Unified Format、旧称 GGML)は Georgi Gerganov(ブルガリア出身、ソフィア大学、llama.cpp 開発者)が 2023年8月22日に llama.cpp で導入した量子化モデルフォーマット(GitHub: ggerganov/llama.cpp)。CPU/Apple Silicon/AMD GPU/Intel GPU 推論最適化・2/3/4/5/6/8-bit 量子化対応で、コンシューマー PC(CPU のみ)・MacBook(Apple Silicon)・スマホ(iPhone/Android)・ラズパイ(ARM)で LLM を動かす定番フォーマット。
llama.cpp は 2023年3月にGerganov が「Llama を Mac で動かしたい」という個人プロジェクトとして開始、4日間で初版完成、現在 GitHub Star 78,000+(2026年5月時点)の大成功プロジェクト。GGUF は前身 GGML(2023年5月)の改良版で、トークナイザー情報・モデルメタデータ・量子化情報を 1ファイルに統合し、ロード時間短縮・ファイル管理簡素化を実現。Hugging Face では 2024年現在 100,000+ の GGUF モデルが公開されている。
主な特徴・仕組み
- 拡張子:
.gguf(旧.bin.ggmlから移行) - 量子化形式: Q2_K / Q3_K_S / Q3_K_M / Q3_K_L / Q4_0 / Q4_K_S / Q4_K_M / Q5_K_M / Q6_K / Q8_0
- 典型サイズ削減: Q4_K_M で FP16 比 4倍削減・Q2_K で 8倍削減
- メタデータ統合: トークナイザー・チャットテンプレート・モデル情報・1ファイル
- 対応バックエンド: CPU (AVX2/AVX-512/NEON)・CUDA・Metal (Apple)・OpenCL・Vulkan・SYCL (Intel)
- メモリマップ: mmap でモデルファイル直接マップ、起動 1秒
- 対応モデル: Llama 1/2/3・Mistral・Mixtral・Gemma・Phi・Qwen・DeepSeek・Yi 等 100+ 種
- エコシステム: Ollama・LM Studio・KoboldCpp・Jan・text-generation-webui 等 50+ アプリ採用
- モデルサイズ実例: Llama 3 8B Q4_K_M = 4.6GB・Llama 3 70B Q4_K_M = 39.6GB
- OS バージョン: llama.cpp v3 (2024-04)・GGUF v3 仕様更新
スペック比較表
| 項目 | GGUF (2023) | GPTQ (2022) | AWQ (2023) | BitsAndBytes |
|---|---|---|---|---|
| 対応 HW | CPU + GPU 全部 | GPU のみ | GPU のみ | GPU のみ |
| Apple Silicon | あり (Metal) | なし | なし | なし |
| 量子化 bit | 2/3/4/5/6/8 | 2/3/4/8 | 4 | 4/8 |
| ファイル形式 | 単一 .gguf | safetensors | safetensors | safetensors |
| エコシステム | Ollama, LM Studio | text-gen-webui | vLLM, TGI | bitsandbytes |
| 精度 (Q4 vs FP16) | -3% MMLU | -2% MMLU | -1% MMLU | -2% MMLU |
具体例・対応製品
- Ollama (2023-07-): GGUF をワンクリックダウンロード + 実行、初心者最適
- LM Studio (2023-06-): GUI クライアント、Hugging Face から GGUF 直接ダウンロード
- KoboldCpp (2023-): フィクション生成特化、GGUF + RoPE 拡張対応
- Jan (2024-): オープンソース ChatGPT 代替、GGUF ローカル動作
- text-generation-webui (2022-): GGUF + GPTQ + AWQ 全対応 UI
選び方・注意点
- CPU/Mac 環境: GGUF 一択、他のフォーマット(GPTQ/AWQ)は GPU 必須
- 量子化形式選び: Q4_K_M が品質/サイズのスイートスポット、Q3_K_M は妥協版・Q5_K_M は高品質
- Q2_K は最後の手段: 8倍圧縮で精度劣化大(MMLU -8% 程度)、メモリ厳しい時のみ
- VRAM 不足時: Q4_K_M で 8GB GPU でも 13B 動作可、CPU+GPU ハイブリッド推論可
- Apple Silicon Metal: M1/M2/M3/M4 で GPU 加速、Llama 3 8B Q4_K_M で 30-50 tok/s
- モデル互換性: 古い GGML 形式(2023-08 以前)は変換必要、convert.py で対応
- チャットテンプレート: GGUF 内蔵だが、モデルによって変換ミスあり、HF 元データと照合推奨
関連用語との違い
| 用語 | 違い |
|---|---|
| GGUF (2023) | CPU/Apple Silicon 含む全 HW 対応量子化 |
| GPTQ (2022) | GPU 専用 4-bit 量子化 |
| AWQ (2023) | Activation-aware 4-bit 量子化 |
| BitNet (2024) | 1.58-bit 学習量子化 |
| BitsAndBytes (2022) | Hugging Face Transformers 標準 4/8-bit |
よくある質問(FAQ)
Q1: Q4_K_M と Q5_K_M どちらを選ぶ? A: VRAM/メモリ余裕あるなら Q5_K_M(精度 +1.5% vs Q4_K_M、サイズ +20%)。8GB 厳しい時は Q4_K_M、4GB 以下は Q3_K_M。Q8_0 はほぼ FP16 同等精度で 2倍圧縮、メモリ余裕あるなら最善。
Q2: Apple Silicon でどれくらい速い? A: M2 Max(38コア GPU)で Llama 3 8B Q4_K_M = 40-50 tok/s、M3 Ultra(76コア GPU)で 80-100 tok/s。RTX 4090 比 30-50% の速度、消費電力 1/10 でモバイル/省電力環境最強。
Q3: GPU 環境でも GGUF を使う意味は? A: VRAM 24GB で 70B モデル動かすなら GGUF Q4_K_M(39GB)+ CPU オフロード必須。純 GPU なら AWQ/GPTQ の方が速いが、CPU/Apple Silicon 混在環境では GGUF 一択。
まとめ
- Georgi Gerganov 2023年8月導入・llama.cpp 量子化フォーマット
- CPU/Apple Silicon/AMD/Intel GPU 全対応・2-8bit 量子化
- Ollama・LM Studio・KoboldCpp・Jan 等 50+ アプリ採用
- Hugging Face で 100,000+ モデル公開
- コンシューマー PC・MacBook・スマホで LLM を動かす定番