Safetensors

Safetensors 是一种用于存储机器学习模型权重的安全、快速的文件格式,由 Hugging Face 设计,旨在取代不安全的 pickle 格式。它仅允许存储数值张量数据,从而防止在反序列化过程中执行任意代码。Safetensors 通过近乎零拷贝的读取确保了快速加载,增强了在 PyTorch、TensorFlow、Flax 和其他框架之间的可移植性。

Safetensors 的主要功能包括

  • 无代码执行风险。该格式基于简单的 JSON 文件头和原始数据缓冲区,不包含任何可执行内容。加载 Safetensors 文件无法在您的机器上运行任意代码。
  • DOS 保护。内置的 100 MB 文件头大小限制可防止格式错误的文件在解析过程中耗尽内存。
  • 零拷贝和延迟加载。张量可以直接从磁盘映射到内存中,无需进行不必要的拷贝;并且可以在不反序列化整个文件的情况下按需加载单个张量。
  • 更快的分布式多 GPU 加载。该格式的设计使得在多个 GPU 或节点上加载大模型时,速度有显著提升。
  • 跨语言兼容性。Safetensors 使用 Rust 实现,并提供 Python 绑定,支持在广泛的框架和工具链中使用。
  • 采用 Apache 2.0 许可证。以宽松的许可方式发布,可用于研究和生产环境。

Safetensors 由 Hugging Face 于 2026 年 3 月捐赠给 Linux 基金会。