AI 术语表 · 基础 · AI 平台与解决方案 · AI 安全
safetensors
safetensors 是一种文件格式,用于安全、快速地保存和加载 AI 模型的权重(通过训练确定的数值)。它最大的特点是,仅打开文件不会有执行隐藏代码的风险。
关于这个术语
- 难度
- 基础 · AI 新闻中常见的技术术语
- 领域
- AI 平台与解决方案, AI 安全
- 加入时间
- 2026-10-12
工作原理
文件最前面有一个小目录(头部),记录了每个张量(一组数值)的名称、数据类型、形状以及在文件中的位置。之后只是把实际数值原样连续存放,不包含可执行代码。因此程序只需读取目录,就能把需要的部分直接映射到内存(内存映射),从而快速加载。过去常用的 PyTorch .bin、.pt 文件采用 Python pickle 方式,打开文件的瞬间就可能执行任意代码,而 safetensors 从结构上堵住了这个漏洞。
pickle 文件 vs safetensors
.bin·.pt (pickle)过去的 PyTorch 方式
- 打开时可能执行任意代码
- 需要读取全部内容
safetensors只有目录 + 数值
- 不含代码,打开安全
- 通过内存映射快速加载
- 只看头部即可确认构成
공통 两者都是保存模型权重的文件
在哪里会看到
最常见于 Hugging Face 模型页面的“Files and versions”标签页。大模型会拆分成多个分片,如 model-00001-of-00004.safetensors,并附带一个 model.safetensors.index.json,记录每个张量位于哪个分片。把所有分片文件的大小加起来,就能大致估算将权重加载到 GPU 所需的显存。Transformers、vLLM 等工具默认读取这种文件。
注意事项
safetensors 只是一种“存储格式”,并不保证模型本身是安全的。即使打开文件是安全的,模型也可能在训练过程中被植入后门,或者与之一同上传到仓库的 Python 代码(trust_remote_code)可能存在风险。另外,同一个模型如果同时提供 safetensors 和 .bin,下载 safetensors 更安全也更快。还需注意区分:在笔记本电脑上用 llama.cpp 系工具运行时,通常使用另一种名为 GGUF 的格式。
示例
在 Hugging Face 上下载开放权重模型时,如果文件列表中同时出现 .bin 和 .safetensors,很多情况下会按照公司内部安全规定设置为只下载 safetensors。看着分片文件大小的总和,判断“这个大小一张 GPU 应该放得下”,再据此选择服务部署配置,也是常见的场景。