GGUFとSafetensorsはどちらを使う?実行runtimeと配布経路で選ぶ

目次
結論
形式そのものの優劣ではなくruntimeで決めます。llama.cpp系の量子化推論をそのまま回すならGGUF、Transformers系で重みを安全に配布・読み込みするならSafetensorsを起点にします。
判断の順番は 必須条件→費用/性能の得失→運用条件 です。価格、plan、求人、hardware仕様など時間で変わる事実には 2026-09-13 の観測日を付け、未測定の速度・品質・時間・電力を公式仕様から推測して数値化しません。
判断表:runtime別に読める形式・変換要否・量子化責任を整理する互換表
| 実行経路 | 起点format | 変換 | 量子化の責任 | provenanceで残すもの |
|---|---|---|---|---|
| llama.cpp系 | GGUFが直接扱いやすい | 元weight→GGUFが必要な場合あり | quant ツール/方式/versionを記録 | 元model/revision/license/hash |
| Transformers系 | Safetensorsが標準的 | 通常はそのままload | quant library/configを別管理 | repo/revision/hash |
| Ollama等bundle | backendが扱うartifactへ変換/取得 | model recipe依存 | recipe/runtime側を確認 | source modelとrecipe |
形式は安全性・速さの総合ランキングではありません。 Safetensorsは安全なtensor serialization、GGUFはllama.cpp系でmetadataとtensorを運ぶformatとして、最初にruntimeを決めてから選びます。
判断の前提
ローカルAIではmodel file形式、runtime、量子化、ツール実行権限を別レイヤーとして扱います。「ローカルだから安全」「同じmodelだから同じ動作」とは置きません。
format変換はweight provenanceと量子化条件を記録します。Agentにはread/write/execute/networkを別capabilityとして与え、最小権限で始めます。
公式docsで確認できる仕様と、自分のhardware/runtimeで測る性能は分離し、未測定のspeed/qualityを仕様から推定しません。
このテーマで実際に見るポイント
GGUF
llama.cpp系でmetadata/quantized tensorsを1 fileで扱う用途。
Safetensors
Transformers ecosystemで安全なtensor serializationとしてweight配布する用途。
変換
変換後は元model/revision、quantization method、ツール versionを記録。
provenance
配布元・license・hashを保ち、形式だけを見て安全と断定しない。
配布形式と実行形式を分ける
Safetensorsで配布されたmodelをGGUFへ変換してllama.cppで使うことはあります。その場合、比較対象は「どちらの拡張子が速いか」ではなく、元weight→変換ツール→量子化設定→runtimeというchainです。変換後artifactだけ残すと、同じ結果を再現できません。
逆にTransformers ecosystemでfine-tuneやweight操作を続けるなら、Safetensorsをcanonical weightとして保持し、推論用GGUFを派生artifactにすると管理しやすくなります。licenseやmodel cardもformat変換で消えないため、元repo/revisionをmetadataへ残します。
保存戦略としては、再学習・merge・fine-tuneを行うなら元のSafetensors/repository revisionを残し、GGUFはdeploy用派生物として生成する形が安全です。GGUFだけを唯一の原本にすると、後で別quantizationやruntimeへ移る際に元precisionへ戻れない場合があります。
選ばない・進めない条件
write/execute/network権限が分離できず、出所不明weight/formatしか入手できない構成は使わない。
これは「慎重に」という抽象論ではなく、比較表の必須条件を満たさない候補をランキングから外すための公開条件です。
一次情報
- Hugging Face Hub — GGUF
- llama.cpp — repository
- Hugging Face — Safetensors
- Hugging Face — Convert weights to safetensors
- Ollama — API documentation
まとめ
形式そのものの優劣ではなくruntimeで決めます。llama.cpp系の量子化推論をそのまま回すならGGUF、Transformers系で重みを安全に配布・読み込みするならSafetensorsを起点にします。
変化が速い領域ほど固定ランキングより、同じinputで更新できるruntime別に読める形式・変換要否・量子化責任を整理する互換表を正本にします。更新時は変化した項目だけを最新の情報源/実際の観測結果で差し替え、同じ判断基準で結論を再計算します。
まとめ
- 形式そのものの優劣ではなくruntimeで決めます。llama.cpp系の量子化推論をそのまま回すならGGUF、Transformers系で重みを安全に配布・読み込みするならSafetensorsを起点にします。 変化が速い領域ほど固定ランキングより、同じinputで更新できる**runtime別に読める形式・変換要否・量子化責任を整理する互換表**を正本にします。更新時は変化した項目だけを最新の情報源/実際の観測結果で差し替え、同じ判断基準で結論を再計算します。