Safetensors 加入 PyTorch 基金會

Safetensors 加入 PyTorch 基金會

Safetensors 已加入 PyTorch 基金會,成為 Linux 基金會旗下的基金會托管專案。此轉變將專案的商標、代碼庫與治理移至供應商中立的環境,確保模型權重儲存格式的開發由更廣大的機器學習社群推動,而非單一公司。

Safetensors 的技術架構

Safetensors 是一種序列化格式,旨在取代基於 pickle 的格式,藉由消除模型載入時任意程式碼執行的風險。此格式建立於簡單的架構,包含兩個主要組件:

  • JSON 標頭: 一個上限為 100 MB 的中繼資料區段,用於描述張量的中繼資料。
  • 原始張量資料: 位於標頭之後的實際權重資料,允許零拷貝載入(直接從磁碟映射張量)以及延遲載入(在不反序列化整個檢查點的情況下讀取單個權重)。

治理與社群過渡

透過加入 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 或 pipeline 階段僅載入必要的權重。

量化支援

Safetensors 將正式支援不斷演進的量化格式,包括:

  • FP8
  • Block-quantized formats (such as GPTQ and AWQ)
  • Sub-byte integer types

Sources