跳到主内容
快讯直播
AI智模界
AI 词典

权重文件格式:GGUF 与 safetensors

一句话定义:权重文件格式(weight file format)指训练好的那几十亿个数字在硬盘上怎么存放;GGUF 和 safetensors 是当下最主流的两种。

模型只有两部分:结构(几层、多宽,写在代码和 config.json 里)和权重(模型学到的全部数值)。格式决定这些数字怎么排版、附带什么说明书、谁能读懂。

safetensors 像一箱标好编号的散装零件:每个张量(tensor)的名字、形状、数据类型和文件内偏移量,集中写在一个 JSON 头里,读取时可以内存映射、按需取用。它只管存得干净、读得快、加载时不执行代码,不负责告诉你零件怎么拼成机器。所以用它跑模型,背后还得有 PyTorch、transformers 这类框架先把网络结构搭起来,再把权重灌进去。

GGUF 更像整机箱:除权重外,架构超参、分词器词表、对话模板量化方式全塞进同一个文件,源自 llama.cpp 生态,天生为「一个文件加一个轻量运行时就能跑」设计。

为什么 GGUF 能跑在 CPU 上

关键不在后缀,而在精度和运行时。safetensors 里通常是 fp16、bf16、fp32 浮点权重,几十亿参数就是十几 GB,CPU 内存带宽吃不消,浮点矩阵乘也慢。GGUF 装的多数是量化(quantization)后的权重:数字被压成 4~8 位整数加一个缩放系数,体积砍到几分之一,运行时边读边还原成近似原值,走的是 CPU 擅长的整数运算,也不必拖一整套 Python 环境。(严格说 safetensors 在 CPU 上也能跑,只是又慢又吃内存,不划算。)

safetensorsGGUF
装什么纯张量 + 索引头张量 + 架构、分词器、对话模板等元数据
常见精度fp32 / fp16 / bf16多为 2~8 位量化
谁来读PyTorch、transformers、vLLMllama.cpp 及基于它的本地运行时
典型用途训练、微调、GPU 推理服务笔记本或 CPU 上本地对话

容易混淆的相邻概念

GGUF 常被说成「量化格式」,其实量化是它常装的内容,不是格式本身;它和 ONNX 也不同——ONNX 侧重算子图跨框架移植,GGUF 侧重单文件跑大模型。更早的 .bin、.pt 基于 pickle,加载时可能执行任意代码,safetensors 正是为解决这个问题而生。

对从业者和普通人的意义

模型仓库里同时出现 safetensors 和 GGUF,等于给了两条路:要微调、要在 GPU 上做服务,选 safetensors;要在自己笔记本上跑,GGUF 省事得多。文件名里的 Q4、Q5_K_M 是量化档位,数字越小文件越小、通常质量损失越大,具体选哪档以模型作者说明和官方页面为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。