跳到主要内容

Xet 的历史与概览

2024 年 8 月,Hugging Face 收购了 XetHub,这是一家总部位于西雅图的种子期初创公司,以在 Hub 上替换 Git LFS。

与 Git LFS 类似,基于 Xet 的仓库使用 S3 作为远程存储,并在仓库根目录的 .gitattributes 文件中标识哪些文件应存储在远程。

gitattributesgitattributes

Git LFS 指针文件提供了定位远程实际文件内容的元数据:

  • SHA256:实际大文件的唯一标识符,通过计算文件内容的 SHA-256 哈希生成。
  • 指针大小:存储在 Git 仓库中的指针文件大小。
  • 远程文件大小:实际大文件的字节大小,用于校验以及管理存储与传输。

Xet 指针在设计上包含上述全部信息。除了 与 Git LFS 的向后兼容字段之外,还新增了 Xet backed hash 字段,用于在 Xet 存储中引用文件。

pointer filepointer file

与在文件级别去重的 Git LFS 不同,启用 Xet 的仓库在字节级去重。当 Xet 存储中的文件被更新时,仅上传被修改的数据,从而显著节省网络传输。对于许多工作流程(例如增量更新模型检查点、向数据集中追加或插入新数据),这能够提升你和协作者的迭代速度。若想了解 Xet 存储中的去重机制,请参阅去重