← AI 术语表

AI 术语表 · 基础 · AI 平台与解决方案 · AI 安全

safetensors

safetensors 是一种文件格式,用于安全、快速地保存和加载 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 应该放得下”,再据此选择服务部署配置,也是常见的场景。

相关术语