Safetensors 加入 PyTorch 基金会

Safetensors 加入 PyTorch 基金会

Safetensors 已加入 PyTorch 基金会,成为 Linux 基金会旗下的基金会托管项目。此转变将项目的商标、代码仓库和治理迁移至供应商中立的环境,确保模型权重存储格式的开发由更广泛的机器学习社区推动,而非单一公司。

Safetensors 的技术架构

Safetensors 是一种序列化格式,旨在取代基于 pickle 的格式,通过消除模型加载期间任意代码执行的风险。该格式基于一个简单的架构,由两个主要组件构成:

  • JSON Header(JSON 头部):一个元数据部分,硬限制为 100 MB,用于描述张量的元数据。
  • Raw Tensor Data(原始张量数据):位于头部之后的实际权重数据,支持零拷贝加载(直接从磁盘映射张量)和惰性加载(读取单个权重而无需反序列化整个检查点)。

治理与社区转型

通过加入 PyTorch 基金会,Safetensors 从 Hugging Face 项目转变为社区治理的项目。虽然 Hugging Face 的维护者 Luc 和 Daniel 仍然在技术指导委员会任职并继续负责日常运营,但项目现已正式归属 Linux 基金会。

对于贡献者来说,成为维护者的路径现已在仓库的 GOVERNANCE.mdMAINTAINERS.md 文件中正式记录。此转变为基于该格式构建的组织提供了稳定、长期的基础。

对用户和贡献者的影响

对现有用户没有任何破坏性更改。格式、API 以及 Hugging Face Hub 的集成保持不变,所有当前以 Safetensors 格式存储的模型将继续如往常般工作。

未来路线图与集成

Safetensors 正在推进多项关键技术增强,以提升在整个机器学习生态系统中的性能和兼容性:

与 PyTorch 核心的集成

该项目正与 PyTorch 团队合作,将 Safetensors 集成到 PyTorch 核心,作为 torch 模型的序列化系统。

硬件加速与并行

路线图包括开发设备感知的加载和保存功能,使张量能够直接加载到诸如 CUDA 和 ROCm 等加速器上,而无需 CPU 中转。此外,正在开发用于 Tensor Parallel(张量并行)和 Pipeline Parallel(流水线并行)加载的一流 API,以确保每个 rank 或流水线阶段仅加载所需的权重。

量化支持

Safetensors 将正式支持不断演进的量化格式,包括:

  • FP8
  • 块量化格式(如 GPTQ 和 AWQ)
  • 子字节整数类型

Sources