ZeroGPU 是 Hugging Face的免费GPU,免费用户每天最多五分钟
ZeroGPU 是 Hugging Face Spaces 的动态 GPU 共享基础设施
免费用户 就2分钟,认证免费用户五分钟,只能用于演示, | 每日 GPU 配额
https://huggingface.co/docs/hub/spaces-zerogpu
https://huggingface.co/spaces/enzostvs/zero-gpu-spaces
好的,我来整理一下 Hugging FaceZeroGPU的最新官方文档信息:
ZeroGPU 概述
ZeroGPU 是 Hugging Face Spaces 的动态 GPU 共享基础设施,通过按需分配和释放 GPU 来优化资源利用率。
核心优势:
- 免费 GPU 访问:降低 AI 模型部署成本
- 多 GPU 支持:单个应用可同时使用多个 GPU
- 相比传统单 GPU 独占模式,最大化资源利用和能效
硬件规格(已升级)
| GPU 尺寸 | 背板硬件 | 显存 | 配额成本 |
|---|---|---|---|
| large(默认) | 半个 NVIDIA RTX Pro 6000 Blackwell | 48GB | 1× |
| xlarge | 完整 NVIDIA RTX Pro 6000 Blackwell | 96GB | 2× |
注:早期版本使用 NVIDIA H200(70GB 显存),现已升级至 RTX Pro 6000 Blackwell
使用方式
方式一:免费使用现有 ZeroGPU Spaces
- 对所有用户免费开放
- 浏览精选列表:ZeroGPU Spaces 列表
方式二:托管自己的 ZeroGPU Space
| 账户类型 | 条件 | 托管上限 |
|---|---|---|
| 个人账户 | 订阅PRO($9/月) | 最多10 个 |
| 组织账户 | 订阅Team或Enterprise | 最多50 个 |
创建步骤:
- 订阅相应计划
- 创建新 Space → 选择Gradio SDK
- 硬件选项中选择ZeroGPU
代码示例
importspacesfromdiffusersimportDiffusionPipeline# 模型在根模块层面加载到 CUDApipe=DiffusionPipeline.from_pretrained(...)pipe.to('cuda')# 用 @spaces.GPU 装饰真正需要 GPU 的函数@spaces.GPUdefgenerate(prompt):returnpipe(prompt).images gr.Interface(fn=generate,inputs=gr.Text(),outputs=gr.Gallery(),).launch()关键要点:
- 先
import spaces - 模型在根模块层面
pipe.to('cuda')加载(利用 PyTorch CUDA 仿真模式,无需真实 GPU 即可执行 CUDA 操作) - 不建议在
@spaces.GPU函数内部做懒加载,效率明显更低 @spaces.GPU在非 ZeroGPU 环境中安全无效果
GPU 尺寸选择
默认使用large(48GB),可显式指定xlarge(96GB):
@spaces.GPU(size="xlarge")defgenerate(prompt):returnpipe(prompt).images注意:
xlarge消耗配额是large的2 倍(例如 45 秒任务消耗 90 秒配额)xlarge排队概率更高、等待时间更长- 仅在真正需要额外计算或内存时使用
持续时间管理
默认函数最大运行时间为60 秒,可自定义:
@spaces.GPU(duration=120)defgenerate(prompt):returnpipe(prompt).images动态时长(根据输入动态计算):
defget_duration(prompt,steps):step_duration=3.75returnsteps*step_duration@spaces.GPU(duration=get_duration)defgenerate(prompt,steps):returnpipe(prompt,num_inference_steps=steps).images持续时间越短,队列优先级越高
使用配额与优先级
| 账户类型 | 每日 GPU 配额 | 队列优先级 |
|---|---|---|
| 未认证 | 2 分钟 | 低 |
| 免费账户 | 5 分钟 | 中 |
| PRO 账户 | 40 分钟(可扩展) | 最高 |
| Team 组织成员 | 40 分钟(可扩展) | 最高 |
| Enterprise 组织成员 | 60 分钟(可扩展) | 最高 |
- 每日配额在首次使用 GPU 后 24 小时重置
- 剩余配额直接影响队列优先级(配额越多,优先级越高)
超额使用
PRO、Team、Enterprise 用户可通过预付费积分超出每日配额:
- 每 10 分钟 GPU 时间 =$1
- 每日配额用完后自动扣减信用余额
- 通过账单设置添加积分
兼容性
| 项目 | 说明 |
|---|---|
| SDK | 仅支持 Gradio SDK |
| 框架 | 大多兼容 PyTorch GPU Space |
| HF 库 | transformers、diffusers兼容性较好 |
| 注意事项 | 兼容性不如标准 GPU Space,可能出现意外问题 |
支持版本:
- Gradio:4+
- PyTorch:2.8.0 至最新版本(查看完整列表)
- Python:3.12.12 / 3.10.13
性能优化建议
- 提前编译(AOT Compilation):ZeroGPU 不支持
torch.compile,但支持 PyTorch 预编译(Torch 2.8+) - Flash Attention 3:加速注意力计算
- 参考官方博客文章了解 ZeroGPU 提前编排的完整指南
托管限制
- 个人账户(PRO):最多10 个ZeroGPU Space
- 组织账户(Team/Enterprise):最多50 个ZeroGPU Space
相关资源
- 官方文档:Hugging Face ZeroGPU 文档
- ZeroGPU Spaces 列表:精选列表
- 社区反馈:在对应 Space 的社区标签页分享
