存储限制
在 Hugging Face,我们致力于为 AI 社区提供大量免费公共仓库存储空间。对于私有仓库,超过免费额度的部分将按存储空间计费(见下表)。
存储限制与策略同时适用于 Hub 上的模型仓库与数据集仓库。
我们持续优化基础设施,以便在未来几年内扩展存储规模,支撑 AI 与机器学习的增长。
我们也会采取措施防止滥用免费的公共存储;总体而言,我们希望用户与组织上传的大模型或数据集尽可能对社区有价值(例如获得较多点赞或下载)。若需要更高的存储上限,请升级到付费的组织或 PRO 账户。
存储方案
| 账户类型 | 公共存储 | 私有存储 |
|---|---|---|
| 免费用户或组织 | 尽力支持* 🙏 对高价值内容通常可达 5TB | 100GB |
| PRO | 最多 10TB(已含)* ✅ 对高价值内容可申请额外额度 † | 1TB + 按量计费 |
| Team 组织 | 基础 12TB + 每个席位 1TB ✅ | 每席位 1TB + 按量计费 |
| Enterprise 组织 | 基础 500TB + 每个席位 1TB 🏆 | 每席位 1TB + 按量计费 |
💡 Team 或 Enterprise 组织 的订阅包含每席位 1TB 的私有存储。例如组织有 40 名成员,则包含 40TB 私有存储。
* 我们将持续为 AI 社区提供慷慨的公共仓库存储空间。超过前几 GB 时,请负责任地使用此资源,上传对他人真正有价值的内容。若你需要大量存储空间,需要升级到 PRO、Team 或 Enterprise。
† 我们会与具有高影响力的社区成员合作,帮助他们尽可能轻松地解锁更大的存储额度。如果你的模型或数据集持续获得大量点赞和下载并达到了限制,请与我们联系。
按量计价
在 PRO 与 Team 或 Enterprise 组织 包含的 1TB(或每席位 1TB)私有存储之外,额外私有存储按 $25/TB/月 收费,以 1TB 为单位。更多详情见计费文档。
仓库限制与建议
除了账户(用户或组织)级别的存储限制,当特定仓库包含大量数据时,还需要注意一些限制。由于上传/推送数据需要时间,如果过程在最后失败,或在 hf.co 和本地使用时出现体验下降,会非常令人沮丧。以下部分介绍如何合理规划大型仓库。
建议
我们收集了一些结构化仓库的提示与建议。若你需要更多实用技巧,可查看这篇指南,了解如何使用 Python 库上传海量数据。
| 特性 | 推荐值 | 建议 |
|---|---|---|
| 仓库大小 | - | 若是 TB 级数据,请联系我们 |
| 仓库文件数 | <100k | 将数据合并为更少的文件 |
| 每个文件夹的文件 | <10k | 在仓库内使用子目录 |
| 文件大小 | <20GB | 将数据拆分为块文件 |
| 单次提交文件数 | <100 个* | 分多次提交上传文件 |
| 仓库提交总数 | - | 每次提交上传多文件,或按需合并历史 |
* 若直接使用 git CLI,不受该建议影响
请阅读下一节,进一步理解上述限制及应对方法。
说明
提到“大规模上传”时,我们指的是什么?对应的限制有哪些?大型上传形式多样,既可能是包含少量超大文件的仓库(如模型权重),也可能是包含成千上万小文件的仓库(如图像数据集)。
本质上,Hub 使用 Git 对数据进行版本管理,这会带来结构层面的限制。如果你的仓库超过前述数值,我们强烈建议使用 git-sizer,它提供了详尽的文档说明影响体验的因素。以下是简要总结:
- 仓库大小:即计划上传的数据总量。若超过 1TB,需要订阅 Team/Enterprise 或联系我们延长存储。对于高价值工作,若无法订阅,我们可考虑提供存储补助。请将项目详情发送至 [email protected](数据集)或 [email protected](模型)。
- 文件数量:
- 为获得最佳体验,建议总文件数保持在 100k 以内,最好更少。如果数量更多,请尝试合并数据。例如将多个 json 文件合并为单个 jsonl,或将大型数据集导出为 Parquet 文件或 WebDataset 格式。
- 每个文件夹最多容纳 10k 个文件。可通过使用子目录解决。例如创建从
000/到999/的 1k 个文件夹,每个最多 1000 个文件,已经足够。
- 文件大小:若上传大文件(如模型权重),强烈建议将其拆分为约 20GB 的块。原因包括:
- 使用较小文件上传/下载更轻松,避免因网络中断导致从头开始。
- 文件通过 CloudFront 提供。从经验来看,超大文件可能无法被缓存,导致下载速度变慢。 无论如何,单个 LFS 文件不能超过 50GB;50GB 是硬性上限。
- 提交数量:仓库历史提交次数没有硬性上限,但从经验看,超过几千次提交后用户体验会下降。我们正持续改进服务,但必须记住 Git 仓库并不是高写入频率的数据库。如果历史过大,可以使用
huggingface_hub的super_squash_history合并历史。请注意,该操作不可逆。 - 单次提交的操作数量:同样无硬性上限。当提交上传到 Hub 时,服务器会检查每个 Git 操作(新增或删除)。一次提交若包含数百个 LFS 文件,服务器会逐个检查以确认上传成功。通过 HTTP 推送数据时,单次请求有 60 秒超时,如果超时会报错。但偶尔即便客户端超时,服务器仍可能完成上传,可通过浏览器手动检查。为避免超时,建议每次提交添加约 50-100 个文件。
在 Hub 分享大型数据集
Hugging Face 的一大使命是托管数据集,包括超大数据集。如果数据集超过 1TB,需要订阅 Team/Enterprise 或联系我们申请更多存储。
为确保我们能有效支持开源生态,请发送邮件至 [email protected]。邮件中请说明:
- 数据集是什么,对哪些人/用途有价值?
- 数据集大小。
- 计划以何种格式共享数据集。
在 Hub 托管大型数据集时需要满足以下要求:
- 提供数据集卡片,帮助社区高效使用。可参考数据集卡片指南。
- 确保你上传的数据集旨在供社区复用;如果预计不会被再利用,其他平台可能更适合。
- 遵循上述仓库限制。
- 使用与 Hugging Face 生态兼容的文件格式。我们对 Parquet 与 WebDataset 支持良好,这有助于高效共享大型数据集,并确保数据集查看器可用。
- 避免为数据集编写自定义加载脚本。我们的经验是,需要自定义代码使用的数据集往往复用率较低。
如因数据类型或领域原因无法满足上述要求,请联系我们。
在 Hub 分享海量模型
与数据集类似,若你托管的模型超过 1TB,或计划上传大量小模型(如数百个自动量化模型)总计超过 1TB,需要订阅 Team/Enterprise 或联系我们申请更多存储。
请发送项目详情至 [email protected],以便我们支持开源生态。
私有仓库的补助
我们建议学术与研究机构升级到 Team、Enterprise 或 Academia Hub,以获得稳定的存储额度。对于因缺乏机构资金而受限的高影响力研究者,我们可在具体情况下提供 PRO 存储补助。请将使用场景与影响说明发送至 [email protected] 或 [email protected]。