Safetensors 正式加入 PyTorch 基金會
Safetensors 正在加入 PyTorch 基金會,在 Linux 基金會下建立一個廠商中立的歸宿,以確保其長期穩定性與社群驅動的治理。此舉旨在深化與 PyTorch 核心的整合,並推進裝置感知載入和分散式訓練支援等功能。
Safetensors 正式加入 PyTorch 基金會
我們是如何走到這裡的
Safetensors 最初是 Hugging Face 的一個專案,源於一個具體的需求:一種能夠儲存和分享模型權重,且不會執行任意程式碼的方式。當時主導生態系統的基於 pickle 的格式,意味著運行惡意程式碼存在著非常真實的風險。雖然在機器學習(ML)仍處於萌芽階段時,這是一個可以接受的風險,但隨著開放模型分享成為 ML 社群運作的核心,這變得不再能被接受。
我們構建的格式刻意保持簡單:一個硬性限制為 100MB 的 JSON 標頭,用於描述張量(tensor)元數據,後接原始張量數據。零拷貝(Zero-copy)加載可直接從磁碟映射張量。延遲加載(Lazy loading)讓你可以讀取單個權重,而無需反序列化整個檢查點(checkpoint)。
我們沒有完全預料到的是它會被如此廣泛地採用。今天,Safetensors 已成為 Hugging Face Hub 及其他平台上模型分發的預設格式,被涵蓋所有 ML 領域的數萬個模型所使用。它已成為開源 ML 社群分享模型的首選方式。
為什麼選擇 PyTorch 基金會
我們希望 Safetensors 真正屬於社群。該專案一直都是開源的,但程式碼貢獻只是其演進的一部分。透過讓更多公司和貢獻者參與專案的治理,我們能確保進展反映了在其之上構建的廣大社群。加入 PyTorch 基金會意味著 Safetensors 現在擁有了一個中立的歸屬。該專案的商標、儲存庫和治理權歸屬於 Linux 基金會,而非任何單一公司。Hugging Face 的兩位核心維護者 Luc 和 Daniel 仍留在技術指導委員會並繼續領導日常專案工作,但 Safetensors 現在正式屬於依賴它的社群。
我們相信,當每位貢獻者都能在現有基礎上進行構建時,安全性才能得到最好的保障;這一原則現在已植入專案本身的治理中。
這對使用者和貢獻者意味著什麼
對於絕大多數使用者來說,沒有任何改變。格式不變、API 不變、Hub 的整合也不變:沒有破壞性變更。今天以 Safetensors 格式儲存的模型將繼續像現在一樣運作。
對於貢獻者來說,成為維護者的路徑現在已有正式文件記錄,並對社群中的任何人開放。專案的治理規則位於儲存庫中的 GOVERNANCE.md 和 MAINTAINERS.md。對於在 Safetensors 之上進行開發的組織,Linux 基金會下的中立治理提供了一個穩定、長期且完全由社群驅動的基礎。
接下來的計畫
Safetensors 是一個成熟的專案,已被整個生態系統廣泛採用,但我們仍然深信我們正處於該專案的起步階段。
我們正與 PyTorch 團隊合作,使 Safetensors 可以在 PyTorch 核心中作為 torch 模型的序列化系統使用。
接下來的幾個月將迎來顯著的增長,我們認為沒有比 PyTorch 基金會更適合開啟下一章節的地方了。未來的路線圖包括裝置感知(device-aware)的加載與儲存,使張量可以直接加載到 CUDA、ROCm 和其他加速器上,而無需不必要的 CPU 中轉。
我們也正在為張量並行(Tensor Parallel)和流水線並行(Pipeline Parallel)加載構建一流的 API,讓每個 rank 或流水線階段僅加載其所需的權重。隨著生態系統量化領域的不斷演進,我們將正式支援 FP8、塊量化格式(如 GPTQ 和 AWQ)以及亞位元組(sub-byte)整數類型。
這些是整個生態系統都有利害關係需要解決的問題,加入 PyTorch 基金會意味著我們可以與其他託管專案協作,而不是閉門造車。
參與其中
Safetensors 是開源的,歡迎各個層級的貢獻,從錯誤回報和文件編寫,到新功能開發和參與治理。
如果你是基於 Safetensors 進行開發的開發者、研究人員或組織,並希望更深入地參與塑造其發展方向,請提交 issue、發起討論或直接聯繫維護者。這個專案始終屬於使用它的社群。現在,治理架構也反映了這一點。
更多來自我們部落格的文章
![]()
歡迎 fastText 加入 Hugging Face Hub
![]()
使用 Gradio 後端搭配任何自定義前端
社群
· 註冊或登入以發表評論