詳細解釋
Hugging Face 於 2022 年推出的模型權重存儲格式,設計為「安全的替代 Pickle」,解決 PyTorch 原生格式的安全隱患。
安全問題:
- PyTorch Pickle:可執行任意 Python 代碼,惡意模型文件可植入後門
- 風險:從 Hugging Face 或 GitHub 下載的模型可能在加載時執行惡意代碼
SafeTensor 的設計:
- 純數據格式:僅存儲張量數據,無代碼執行能力
- 驗證和:文件完整性校驗,防止篡改
- 延遲加載:按需讀取特定張量,無需加載整個大文件
- 零拷貝:與 ML 框架(PyTorch、TensorFlow、JAX)的內存佈局兼容
採用狀況:
- Hugging Face Hub:默認格式,強烈推薦
- 開源社區:絕大多數新模型使用 SafeTensor
- 框架整合:PyTorch 2.0+、diffusers、transformers 原生支持
對比:
- vs Pickle:安全、更快、可延遲加載
- vs GGUF:GGUF 專為 llama.cpp 優化,SafeTensor 是通用格式
- vs ONNX:ONNX 是模型架構+權重的完整描述,SafeTensor 僅權重
SafeTensor 的推廣是 AI 安全的重要進步,消除了「下載模型 = 執行未知代碼」的風險。