huggingface/xet-core

xet client tech, used in huggingface_hub

解決的問題

xet-core 提供了一個高性能的儲存系統,專為 AI 模型與資料集中常見的大容量二進位檔案設計。透過實作基於區塊的去重機制,解決這些檔案儲存與傳輸效率低下的問題,確保僅有檔案中獨特的部分被上傳或下載,從而減少頻寬與儲存開銷。

工作原理

此專案實作了內容可尋址儲存(CAS)系統。它將檔案拆分成區塊,並使用資料處理流程進行區塊化、去重與重建。利用本地磁碟快取加速取得,並提供 Python 繫結,以便整合至 huggingface_hub 套件中。此外,也包含一個與 Git LFS 相容的 CLI 工具(git-xet),供偏好命令列操作的使用者使用。

適用對象

此套件主要針對 huggingface_hub 的開發者,以及從 Hugging Face Hub 上傳或下載大規模 AI 資產的使用者,不打算作為獨立套件供終端使用者直接使用。

主要特色

  • 基於區塊的去重:避免在不同二進位檔案之間重複傳輸與儲存資料。
  • 本地磁碟快取:實作基於區塊的快取,優化儲存與取得效能。
  • Git LFS 相容性:透過專用 CLI 工具維持與 Git LFS 的向後相容性。
  • 跨平台支援:提供 Rust crate 用於核心邏輯,Python 繫結用於易用性。

相關