GGUF vs SafeTensors
2026 年 GGUF 与 SafeTensors: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 推理,要么搭配 vLLM 直接从 safetensors(完整权重或 LoRA 适配器)在 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
Ship AI that runs on your users' devices.
Free plan with 30 credits/mo, no card required. Paid plans from $25/mo USD.