GGUF と SafeTensors:ワークフローに合う形式は?
互換性のある GGML ランタイムが、モデルメタデータとテンソルデータをまとめた推論可能コンテナを求める場合は GGUF を選びます。フレームワークが、安全なテンソルシリアライズと別のモデル設定またはトークナイザーアセットを求める場合は SafeTensors を選びます。形式は品質の直接的な序列ではなく、形式間の変換によってテンソルが変わる場合があります。

簡潔な比較
| 疑問 | GGUF | SafeTensors |
|---|---|---|
| 主な役割 | GGML 実行環境向けの推論用モデルコンテナ | 安全で高速なテンソルシリアライズ |
| メタデータ | 定義済みのキー・値メタデータがファイル内に存在 | 小さな JSON メタデータヘッダー。モデル設定は通常その隣に存在 |
| 量子化 | 量子化および非量子化テンソル型に対応 | 対応 dtype のテンソルを保存可能。拡張子だけではモデル単位の量子化レシピは分からない |
| 一般的なパッケージング | 互換性のあるランタイム向けの主要モデルファイル一つであることが多い | 一つまたは複数のウェイトシャードと、設定、トークナイザー、その他のアセットであることが多い |
| 実行 | 必要な GGUF アーキテクチャを実装したソフトウェアで使用 | テンソルとモデルの対応を理解するフレームワークで読み込む |
拡張子だけでは、どちらのモデルが優れているか分からない
GGUF 変換と SafeTensors ソースは、異なる精度の同じモデルファミリーを表すことも、まったく異なるファインチューニングを表すこともあります。出力品質、速度、メモリ使用量は、実際のテンソル、量子化、ランタイムカーネル、ハードウェアによって決まり、四文字の拡張子同士の競争ではありません。
このため、「GGUF と SafeTensors の品質比較」は不完全な問いです。まずソースリビジョン、テンソル表現、対象実行環境を比較してください。慎重に選んだ量子化 GGUF は、あるマシンには最適なローカル推論コピーとなり得る一方、高精度な SafeTensors チェックポイントは保存またはトレーニング元として優れている場合があります。
SafeTensors における「safe」の意味
SafeTensors は、デシリアライズ時の任意コード実行を防ぎ、高速なゼロコピー読み込みに対応するよう設計されました。その意味は、そこに保存されたすべてのモデルが信頼できるという主張より狭いものです。ウェイトが有害な挙動を生む可能性、メタデータが誤解を招く可能性は残り、周辺コードも重要です。
GGUF も Python pickle ではなく構造化形式です。堅牢なパーサーは境界と型を検証すべきですが、名称がセキュリティ監査を意味するわけではありません。どちらの場合も、保守されているローダーを使用し来歴を評価してください。
変換は変形であり、アーカイブ圧縮ではない
SafeTensors モデルから GGUF への変換には、アーキテクチャのマッピングとテンソル変換が含まれる場合があります。その過程で量子化すると、意図的に値が変わります。生成ファイルは推論に優れていても、元の SafeTensors バイトを可逆的に再構築できるとの約束は含みません。
逆方向にも同様の制約があります。GGUF からテンソルを SafeTensors へ書き込むとコンテナが変わり、外部設定、元のシャード境界、テンソル名、または量子化前の値を再現できない場合があります。それらの詳細が重要ならソースを保持してください。
各成果物の境界でチェックサムを使用。ソースをハッシュ化し、変換コマンドとツールバージョンを記録してから、派生ファイルをハッシュ化します。これにより、テストおよびデプロイされた完全なバイトが分かります。
次の操作に応じて選ぶ
- llama.cpp または互換デスクトップランタイムでローカル LLM を実行:マシンに合ったサイズの対応 GGUF バリアントを選びます。
- ファインチューニング、フレームワークでの読み込み、または公開済みチェックポイントの保存:SafeTensors パッケージと付随設定を保持します。
- 便利な推論成果物一つを配布する場合:ランタイムとライセンスの互換性を条件に、GGUF でバンドルを簡素化できる場合があります。
- 再現可能なファミリーを保持する場合:ソースとレシピを保存し、必要に応じて本番で実際に使う完全な派生成果物も保存します。
合理的な保持方針なら両方を保持できる
権威あるソースチェックポイント一つと運用 GGUF 一つを保持することに矛盾はありません。それぞれ「ソースから再現または作業を継続できるか」「このマシンが提供した完全なファイルを復元できるか」という異なる復元上の疑問に答えます。容量を無駄にするのは、来歴や理由のない実験的変換をすべて保持することです。
Tensor Archive は選択したローカル成果物を保存し、バイト単位の完全な復元を証明できます。形式の変換は行わず、量子化された派生物に変換時に破棄された情報が含まれるとも主張しません。
各形式をそれぞれの前提で理解
まずGGUF ファイルに含まれるものとSafeTensors ファイルに含まれるものを確認してください。本当の判断対象が容量なら、SafeTensors の圧縮と量子化が異なる操作である理由をお読みください。
出典
- GGML: GGUF 仕様 — 規範的な構造、メタデータ、およびテンソル型の設計。
- Hugging Face Hub: GGUF — 現在のエコシステム対応およびメタデータ確認。
- SafeTensors の文書 — 形式の目標、安全なデシリアライズ、および読み込み動作。
- SafeTensors リポジトリおよび形式仕様 — 実装およびヘッダー/データ構成。