Mímisbrunnr知恵の泉

← ローカルLLM 一覧

🎓 レベル:標準 | 重要度:A(必須) 📎 前提:ローカルLLMのエコシステム地図 | 原理:LLMの全体像(機械学習)

要点(結論先出し)

概念 ── 形式は「誰のための入れ物か」で分かれる

重みはただの数値の塊ですが、保存形式はそれを「誰がどう読むか」で設計が変わります。safetensors は Pickle の任意コード実行リスクを避けた安全な保存形式で、テンソルを高速にメモリマップできます。学習フレームワークやGPU推論(vLLM等)が直接読みます。

GGUF は llama.cpp 系専用で、量子化済みの重み・トークナイザ・チャットテンプレート・各種メタデータを1ファイルに詰め込みます。だから「このGGUFを置いて実行」だけで動く。ローカル配布の定番です(要最新確認)。

仕組み ── 変換の流れ

flowchart LR
  HF["配布元の生重み(safetensors)"] --> CONV["変換スクリプト(convert)"]
  CONV --> F16["高精度GGUF(F16・BF16)"]
  F16 --> Q["量子化(llama-quantize)"]
  Q --> GGUF["量子化GGUF(Q4_K_M等)"]
  GGUF --> RUN["llama.cpp・Ollamaで実行"]

典型は safetensors → 高精度GGUFへ変換 → 量子化GGUFへ圧縮。多くの人は他人が量子化済みのGGUFを落とすだけで済みます(が、ライセンスは元モデルに従う → オープンウェイトモデルとライセンス)。

中身の違い(要点)

なぜそうするか

ローカル推論で GGUF が好まれるのは、1ファイルで再現性が高く、CPUオフロードや混在実行に向くから。学習・高精度GPU推論で safetensors が使われるのは、フレームワークが直接読め、安全で速いから。目的が違うから形式が違うだけで、優劣ではありません。

⚠️ よくある落とし穴

対応lab

関連