GGUF vs SafeTensors
GGUF vs SafeTensors(2026):GGUF 用於 llama.cpp 的量化本地推理;SafeTensors 用於訓練、分發及與 vLLM 的直接 GPU 服務。何時使用各個格式。
Overview
GGUF 和 SafeTensors 服務於 LLM 生態系統但解決不同的需求。GGUF(GGML 統一格式)為推理設計——專門用於在消費級硬體上使用 llama.cpp、Ollama 或 LM Studio 高效運行模型。它支援內建量化(從 Q2 到 Q8 及各種 k-quant 變體),將所有模型中繼資料包含在單個檔案中,並針對 CPU 和混合 CPU/GPU 推理進行了最佳化。當人們談論在筆電上本地運行模型時,他們幾乎總是在談論 GGUF 檔案。
SafeTensors 為安全儲存、分發和服務而設計。由 HuggingFace 創建,作為 Python pickle 格式(載入時可以執行任意程式碼)的安全替代品,SafeTensors 提供記憶體映射載入、零拷貝反序列化和安全保證。它是 HuggingFace Hub 上的標準格式,幾乎所有訓練框架都使用它。它也是 GPU 推理伺服器直接載入的格式:vLLM、Text Generation Inference 和 Transformers 在 GPU 上服務 safetensors 權重,而 safetensors 形式的 LoRA 轉接器正是 vLLM 的 multi-LoRA 服務所載入,以在單一基礎模型上託管許多微調。因此 safetensors 不僅是模型在訓練期間存在的地方,也是一流的 GPU 服務格式。SafeTensors 以原始訓練精度儲存權重——通常是 float16 或 bfloat16。
這些格式是互補的而非競爭的。現代模式是按格式路由,而非全部轉換:模型以 safetensors 訓練和儲存,然後要嘛轉換為 GGUF 以用 llama.cpp 進行可攜的本地與 CPU 推理,要嘛直接從 safetensors(完整權重或 LoRA 轉接器)以 vLLM 在 GPU 上服務。了解哪個格式對應哪個執行環境,比挑選單一贏家更有用。
Feature Comparison
| Feature | GGUF | SafeTensors |
|---|---|---|
| 主要用途 | 高效本地推理 | 安全儲存、分發和 GPU 服務 |
| 內建量化 | 廣泛(Q2-Q8、k-quants) | 否(完整精度;透過 AWQ/GPTQ/FP8 旁掛量化) |
| 單檔案分發 | 通常多檔案(分片) | |
| CPU 推理最 佳化 | ||
| GPU 服務執行環境 | llama.cpp / Ollama | vLLM / TGI / Transformers |
| LoRA 轉接器服務 | 合併到基礎模型 | 一流(vLLM multi-LoRA) |
| 記憶體映射載入 | ||
| 安全性 | 安全(無程式碼執行) | 安全(無程式碼執行) |
| 包含中繼資料 | 完整(分詞器、配置) | 僅張量資料 |
| HuggingFace Hub 標準 | 常見用於推理 | 預設格式 |
| 檔案大小(7B 模型) | 2-7 GB(量化) | 約 14 GB(fp16) |
Strengths
GGUF
- 廣泛的內建量化支援將模型大小減少 2-7 倍,同時保持可用品質
- 單檔案分發包含所有模型中繼資料、分詞器配置和權重——一個檔案就是您需要的一切
- 針對消費級硬體上的 CPU 和混合 CPU/GPU 推理進行最佳化——筆電、桌上型電腦、邊緣裝置
- 最受歡迎本地推理工具的原生格式:llama.cpp、Ollama、LM Studio 和 GPT4All
- 獨立自足的格式——不需要外部配置檔、分詞器檔案或 Python 依賴即可運行
- 活躍開發中,定期添加新的量化方法和架構支援
SafeTensors
- 設計上安全——無法執行任意程式碼,不像之前的基於 pickle 的模型格式
- 零拷貝反序列化實現極快的模型載入,無需在記憶體中複製資料
- 由 vLLM、TGI 和 Transformers 直接載入進行 GPU 服務,而 safetensors LoRA 轉接器饋入 vLLM 的 multi-LoRA 池,在單一基礎模型上託管許多微調
- 通用訓練框架支援——PyTorch、HuggingFace Transformers 和所有主要程式庫原生支援
- HuggingFace Hub 上的標準格式——開源生態系統中模型分發的預設
- 以完整精度(fp16/bf16)儲存權重,為微調和研究保持最大模型品質,並對超大模型進行高效分片
Which Should You Choose?
GGUF 是使用 Ollama、LM Studio 和 llama.cpp 進行本地推理的標準格式。其量化選項讓您在有限記憶體中容納大型模型。
SafeTensors 是訓練框架的標準。所有主要程式庫預設以 SafeTensors 格式儲存和載入權重。
vLLM 和 TGI 直接載入 safetensors 權重,而 safetensors LoRA 轉接器可透過 vLLM multi-LoRA 多對一地服務。GGUF 則會路由到單獨的 llama.cpp 通道。
GGUF 在單個檔案中包含所有中繼資料。SafeTensors 模型通常需要額外的配置檔、分詞器檔案,有時還有分片的權重檔案。
SafeTensors 以完整訓練精度儲存權重。GGUF 的量化以犧牲一些品質換取更小的檔案大小和更快的推理。
GGUF 的量化選項(Q4、Q5 等)大幅減少模型大小和記憶體需求,使邊緣硬體上的部署變得可行。
Verdict
GGUF 和 SafeTensors 不是競爭格式。它們服務於模型生命週期的不同階段和執行環境。SafeTensors 是訓練、儲存和在 HuggingFace Hub 上分發的標準,也是 GPU 推理伺服器(vLLM、TGI、Transformers)直接載入的格式,包括用於 multi-LoRA 服務的 LoRA 轉接器。GGUF 是使用 llama.cpp 進行本地推理的標準,提供針對消費級硬體最佳化的量化模型。
大多數從業者兩者都用。模型以 SafeTensors 訓練和儲存,然後要嘛轉換為 GGUF 以進行本地/CPU 推理,要嘛直接從 SafeTensors 在 GPU 上服務。有用的心智模型是按格式路由:GGUF 到 llama.cpp 進行可攜的本地推理,SafeTensors 到 vLLM 進行高吞吐量 GPU 服務。為您的品質和記憶體預算選擇正確的量化等級,比在格式本身之間選擇更重要。
How Ertas Fits In
Ertas Studio 以 GGUF 匯出微調模型,用於 Ollama 和 LM Studio 的本地部署,自動處理轉換和量化,使用者不需要手動運行腳本或挑選量化參數。Ertas 也產生標準 safetensors LoRA 轉接器,這是 vLLM 等 GPU 伺服器直接載入的形式,包括 vLLM 的 multi-LoRA 池,其中許多轉接器共享單一基礎模型。因此用 Ertas 微調的模型已為兩條路徑做好準備:GGUF 用於可攜的本地推理,safetensors 用於高吞吐量 GPU 服務。
Related Resources
LoRA vs Full Fine-Tuning
GGUF vs ONNX
Local Inference vs Cloud API
GGUF Explained: The Open Format That Runs AI Anywhere
Running AI Models Locally: The Complete Guide to Local LLM Inference
Fine-Tuning for App Developers: A Non-ML-Engineer's Guide
Ollama
Ship AI that runs on your users' devices.
Free plan with 30 credits/mo, no card required. Paid plans from $25/mo USD.