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#
