HuggingFace
26-03-21 10:00 微博认证:HuggingFace官方微博

AI 训练每天都会产生大量文件:checkpoint、日志、数据分片、Agent 轨迹……这些文件更新频繁,但又不太适合用 Git 做版本管理。现在,Hugging Face Hub 推出了一个新功能来解决这个问题:Storage Buckets 🪣

简单来说,Storage Buckets 是一种类似 S3 的对象存储,专门用于存放 AI 工作流中的“中间产物”。它可以在 Hub 上直接浏览,也可以通过 Python、CLI 或 API 管理,非常适合训练和数据 pipeline。

为什么需要 Buckets?
在真实的 AI 生产环境中,经常会遇到这些场景:
- 训练集群持续写入 checkpoint
- 数据 pipeline 反复生成处理后的数据
- AI 智能体保存大量 trace、memory 和日志
这些文件需要的是:快速写入、随时覆盖、同步目录、删除旧文件,而 Git 在这种场景下往往不是最佳选择。

Storage Buckets 就是为此而设计的。

🪣 Hub 原生对象存储
Bucket 是一个不带版本控制的存储容器,可以公开或私有,并能通过类似路径访问:
hf://buckets/username/my-training-bucket

⚡ 基于 Xet 的智能去重
Buckets 构建在 Hugging Face 的 Xet 存储系统之上。
Xet 会把文件拆分为多个 chunk,并在不同文件之间自动去重。
例如:
- 新 checkpoint 与旧 checkpoint 大量相同
- 处理后的数据与原始数据高度重叠
系统会自动跳过已有内容,实现:
- 更快上传
- 更少带宽
- 更低存储成本

☁️ Pre-warming:让数据更靠近算力
Buckets 支持“数据预热”,可以提前把数据同步到训练所在云区域(如 AWS、GCP),避免跨区域读取,提高分布式训练吞吐量。

使用也非常简单,例如:
创建 bucket
hf buckets create my-training-bucket --private

同步本地 checkpoint
hf buckets sync ./checkpoints hf://buckets/username/my-training-bucket/checkpoints

在 Python 中也可以直接使用,甚至通过 fsspec 接口让 pandas、Polars、Dask 等数据工具直接读取 hf:// 路径。

整体来看,Storage Buckets 为 Hugging Face Hub 增加了一层关键能力:
为 AI 工作流中的动态数据提供高效、可编程的存储层。

未来还将支持 Buckets 与模型仓库、数据集仓库之间的直接转移,让训练 → 发布形成完整 Hub 工作流。

🤗 欢迎加入我们的中文社区:Chinese LLMs on Hugging Face,一起交流 AI 基础设施与开源模型生态!
#AI基础设施# #机器学习# #HuggingFace#

发布于 美国