GGUF(GPT-Generated Unified Format)とは、llama.cppプロジェクトで開発されたLLMモデルの量子化ファイルフォーマットである。従来のGGML形式を後継し、メタデータの自己完結性・後方互換性・拡張性を備え、CPU/GPU混合推論に最適化されている。
GGUF(GPT-Generated Unified Format)は、ローカルLLM推論の事実上の標準ファイルフォーマットである。llama.cppの開発者Georgi Gerganovが2023年8月に設計し、以前のGGML/GGJTフォーマットの制約(メタデータの外部依存、バージョン互換性の欠如)を解消した。2026年現在、Hugging Face上で公開されている量子化モデルの約80%がGGUF形式で配布されている。
GGUFファイルは以下の構造で構成される。
GGUF(4バイト)でファイルを識別GGMLとの最大の違いは、すべてのメタデータがファイル内に自己完結している点である。GGMLでは外部のトークナイザーファイルやconfig.jsonが必要だったが、GGUFではモデルの実行に必要な情報がすべて1ファイルに格納されている。
GGUFは多数の量子化方式をサポートしている。名前の規則は Q\{ビット数\}_\{方式\}_\{サイズ\} である。
| 量子化方式 | ビット数 | 1Bあたりサイズ | 品質 | 用途 |
|---|---|---|---|---|
| Q2_K | 2.63bit | 0.33GB | 低 | 極限メモリ環境 |
| Q3_K_S | 3.44bit | 0.43GB | 低-中 | メモリ制約が厳しい場合 |
| Q3_K_M | 3.91bit | 0.49GB | 中 | バランス(小モデル向け) |
| Q4_0 | 4.50bit | 0.56GB | 中 |
| 高速推論(精度やや劣る) |
| Q4_K_S | 4.58bit | 0.57GB | 中-高 | 省メモリと品質のバランス |
| Q4_K_M | 4.85bit | 0.61GB | 高 | 最も推奨される汎用設定 |
| Q5_K_S | 5.54bit | 0.69GB | 高 | 品質重視 |
| Q5_K_M | 5.69bit | 0.71GB | 高-最高 | 品質最優先 |
| Q6_K | 6.57bit | 0.82GB | 最高 | FP16に近い品質 |
| Q8_0 | 8.50bit | 1.06GB | ほぼ無劣化 | 精度重視/中間形式 |
| F16 | 16.00bit | 2.00GB | 基準 | ベースライン |
Q4_K_M が最も広く推奨される設定で、品質とサイズのバランスが優れている。Kシリーズ(K_S / K_M / K_L)は「K-Quant」方式で、重要度の高いテンソル層には高いビット数を、重要度の低い層には低いビット数を適用する混合精度量子化である。
GGUFはllama.cppのネイティブフォーマットとして設計されており、以下の機能と密接に統合されている。
--n-gpu-layers(-ngl)パラメータで、指定した層数だけGPUに配置。残りはCPU処理python3 convert_hf_to_gguf.py /path/to/model --outtype f16 --outfile model-f16.gguf
./llama-quantize model-f16.gguf model-q4km.gguf Q4_K_M
llama-quantize で目的のビット数に量子化llama-cli / llama-server で推論実行| アプリ | プラットフォーム | 特徴 |
|---|---|---|
| LM Studio | Windows/Mac/Linux | GUIで簡単操作、モデルブラウザ内蔵 |
| Ollama | Windows/Mac/Linux | CLIベース、Modelfile でカスタム |
| GPT4All | Windows/Mac/Linux | オフライン動作、プライバシー重視 |
| Jan | Windows/Mac/Linux | オープンソースChatGPT代替 |
| KoboldCpp | Windows/Mac/Linux | RP/創作特化、CUBLASサポート |
| llama.cpp server | 全OS | REST API提供、OpenAI互換エンドポイント |
2024年後半から導入されたimatrix(重要度行列)量子化は、校正データを使って各テンソルの重要度を測定し、低ビット量子化の精度を改善する手法である。
llama-imatrix で事前に重要度行列を計算し、量子化時に --imatrix で指定-imat サフィックスのモデルが増加中Q1: Q4_K_MとQ5_K_Mのどちらを選ぶべきですか? A: VRAMに余裕があればQ5_K_Mを推奨する。Q4_K_Mと比べてファイルサイズは約15%大きいが、特にコード生成や数学的推論で精度差が顕著に出る。VRAMが厳しい場合はQ4_K_Mで十分実用的。
Q2: GGUFとsafetensorsの違いは何ですか? A: safetensorsはHuggingFace標準のモデル保存形式で、FP16/BF16の非量子化モデルに使われる。GGUFは量子化済みモデル専用フォーマットで、llama.cpp系のローカル推論エンジンで使用する。用途が異なるため相互排他ではなく、safetensors→GGUF変換が一般的なワークフロー。
Q3: Apple Silicon MacでGGUFモデルを実行するとどのくらいの速度が出ますか? A: M4 Pro(48GB Unified Memory)でLlama 3.1 70B Q4_K_Mを実行した場合、約12-18 tok/s(テキスト生成速度)が得られる。M4 Maxの128GB構成であれば120Bクラスのモデルも動作可能。Metal GPUアクセラレーションにより、CPU単体比で3-5倍の高速化が実現する。