【ジージーユーエフ】

GGUF とは?

💡 ローカルLLMの共通言語、これ1ファイルで即起動
📌 このページのポイント
GGUFファイルの構造と活用 model.gguf ヘッダー・メタデータ トークナイザー情報 量子化された重み (Q4, Q5, Q8 など) チャットテンプレート llama.cpp CPU/GPU推論 Ollama ローカルLLM管理 LM Studio GUIで簡単操作 量子化レベル Q2_K 最小・低精度 Q4_K_M バランス Q5_K_S 高品質 Q8_0 ほぼ無劣化 ↑ サイズ大・高精度 ↓ サイズ小・低精度 1ファイルで完結 → GPU不要でローカルLLMを手軽に実行
GGUFファイル形式のイメージ
ひよこ ひよこ

GGUFって何が嬉しいの?

ペンギン先生 ペンギン先生

LLMをローカルPC、しかもGPUなしのCPUだけでも動かせるようにするためのファイル形式だよ。モデルの重み量子化して軽くして、必要な情報を1つのファイルにまとめてあるんだ

ひよこ ひよこ

量子化レベルが色々あるみたいだけど?

ペンギン先生 ペンギン先生

Q4_K_MとかQ5_K_Sとか見たことあるかな。Qの後の数字がビット数で、小さいほど軽いけど精度は下がる。KはK-Quantsという賢い量子化方式、MやSはMedium・Smallでパラメータの扱い方の違いだよ。一般的にはQ4_K_Mがサイズと品質のバランスが良いとされているね

ひよこ ひよこ

前はGGMLっていうのがあったよね?

ペンギン先生 ペンギン先生

そうそう。GGMLはメタデータの扱いに問題があって、モデルの情報を後から追加しにくかったんだ。GGUFはそこを改良して、トークナイザーやチャットテンプレートなども一緒に格納できるようになった。後方互換性も考慮された設計になっているよ

ひよこ ひよこ

SafetensorsやPyTorchの形式とはどう違うの?

ペンギン先生 ペンギン先生

SafetensorsやPyTorchの.binは主にGPUでの学習・推論用で、フル精度や半精度の重みが入っている。GGUFは推論特化で量子化済みの重みが入っているんだ。HuggingFaceでモデルを探すと同じモデルでもGGUF版が別に公開されていることが多いよ。ローカルで試したいならGGUFを選べば間違いないね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「GGUF」って出てきたら「ローカルでLLMを動かすための軽量モデル形式」と思えればだいたいOK!
📖 おまけ:英語の意味
「GPT-Generated Unified Format」 = GPT生成統一フォーマット
💬 前身のGGMLフォーマットを改良したもので、Georgi Gerganov氏が開発したllama.cppから生まれたよ
← 用語集にもどる