Hugging Face ZeroGPU 开发指南
帮助你构建可靠的 Gradio ZeroGPU AI 演示与 GPU 工作负载。
技能明确说明进程隔离、pickle、CUDA 张量返回、并发状态和固定文件路径可能导致数据泄露或覆盖,并建议使用临时路径;未见凭据处理、最小权限、用户确认、回滚机制或完整数据流披露,且依赖直接 URL 和外部 Hub,故扣分。
文档对 ZeroGPU 的装载、配额、并发、依赖和失败类型给出较一致的规则与诊断提示;但本次仅静态阅读,未见针对关键路径的技能专属测试或执行证据,异常输入和版本漂移覆盖有限,按静态上限保守扣分。
frontmatter 明确了 ZeroGPU、@spaces.GPU、import spaces 及典型错误的触发条件,并限定为 Gradio SDK Spaces、排除 Docker 和 Static Spaces;未说明中文交互支持,也未证明在中国大陆网络环境下核心 Hugging Face 服务可达,且对非 Gradio 或复杂工作负载的边界仍有限,故扣分。
技能具备 frontmatter、范围、分层参考文件、代码示例、反模式、限制说明和依赖提示;仓库提供 Apache-2.0、CI 校验和修订信息,但未见该技能独立的版本策略、变更日志、维护责任人或明确更新路径,且大量规则依赖会变化的外部文档,故扣分。
内容覆盖 ZeroGPU 的核心实现问题,包括 duration、配额、进程边界、并发、CUDA 构建和缓存,并提供可直接改写的示例;但没有执行验证或代表性产出证据,且部分结论依赖当前平台行为,静态评估下只能确认核心指导可能有用,不能确认完整可用性,故扣分。
文件包含具体规则、代码片段、错误示例、引用路径及仓库 CI 的生成文件校验;但 CI 未显示覆盖 ZeroGPU 行为的测试,外部文档和运行时机制未在本材料中交叉验证,也没有独立复现记录,故只能给有限分数。
- 这是低置信度静态评估,未执行代码、安装依赖或验证 ZeroGPU 行为。
- ZeroGPU 配额、硬件、Python/运行时版本和外部文档会变化;使用前应核对当前官方文档。
- 技能依赖 Hugging Face Spaces、模型下载及可能的外部 wheel/Hub 地址,需单独评估网络可达性、供应链和敏感数据边界。
- 未提供中文支持或中国大陆网络可用性的证据。
这个 Skill 能做什么,适合哪些场景?
这是 Hugging Face Skills 单仓库中的一个独立 Agent Skill,专门面向使用 Gradio SDK 和 ZeroGPU 硬件的 Spaces。它指导开发者使用 `@spaces.GPU`、配置 Python 与依赖、处理进程隔离、并发、配额、CUDA 构建限制和模型加载。内容覆盖大与 xlarge 规格、动态运行时长、`gr.State` 跨进程语义以及示例缓存。它不适用于 Docker、Static 或 Streamlit Spaces;仓库整体采用 Apache-2.0 许可证。
指导编写和审查包含 import spaces 或 @spaces.GPU 的 Python 代码;说明如何在模块级加载模型并注册 CUDA 设备;帮助设置 duration、动态时长和 size;解释 Pickle 进程边界、gr.State、并发请求和临时输出文件的处理;指导配置 python_version、requirements.txt、PyTorch 版本和预构建 CUDA wheels;提供 ZeroGPU 示例缓存的配置方式。
- 使用 Gradio 构建 Hugging Face ZeroGPU 推理演示的开发者,需要正确放置 `@spaces.GPU`。
- 遇到 `PicklingError`、`illegal duration`、`quota exceeded` 或 CUDA wheel 构建失败的 Space 维护者。
- 需要为可变输入估算 GPU 运行时长、降低配额预检失败率的应用作者。
- 将模型部署到 ZeroGPU、并希望避免并发请求污染全局状态或覆盖输出文件的工程师。
- 需要安装 `flash-attn` 等 CUDA 依赖、但构建环境没有 `nvcc` 的开发者。
这个 Skill 有哪些优点和局限?
- 覆盖 ZeroGPU 特有的配额、进程隔离、并发和 CUDA 构建问题。
- 给出可直接采用的 Python、README frontmatter 和依赖配置模式。
- 明确区分 ZeroGPU 与专用 GPU、CPU、Docker 和 Static Spaces 的运行边界。
- 提醒使用最小合理 duration、模块级模型加载和 CPU 化返回值等容易被忽视的约束。
- 范围仅限 Gradio SDK Spaces 的 ZeroGPU 场景,不是通用 Gradio 或通用 Hugging Face 部署指南。
- 当前后端 GPU、支持的 Python 版本、层级上限等会变化,需要查阅最新 ZeroGPU 文档。
- 详细的并发、配额、运行机制和 CUDA 依赖说明依赖仓库中列出的 reference 文件。
- 源码没有提供测试套件或兼容平台矩阵,采用前应在目标 Space 中验证具体依赖。
如何安装这个 Skill?
从仓库的 skills/ 目录复制或 symlink skills/huggingface-zerogpu 到 Codex 标准的 .agents/skills 位置,例如 $REPO_ROOT/.agents/skills 或 $HOME/.agents/skills。README 也说明可通过 Hugging Face CLI 按技能名安装:hf skills add <skill-name>;将占位符替换为目标技能名。
如何使用这个 Skill?
在支持该技能的编码代理中提出具体请求,例如:“请审查这段使用 @spaces.GPU 的 Gradio Space 代码,检查 duration、Pickle 返回值、并发安全和 CUDA 依赖。”也可直接提供包含 import spaces 或 @spaces.GPU 的代码;该技能应在这些触发条件出现时启用。
这个 Skill 与同类方案有什么区别?
相较于同仓库的 huggingface-gradio 技能,本技能专注 ZeroGPU 的硬件、配额、进程和 CUDA 约束,而不是一般 Gradio 组件与事件监听。相较于专用 GPU Spaces,它描述的是按请求调度、分片 GPU 和配额模型;Docker 与 Static Spaces 不在其适用范围内。