Pular para o conteúdo
Skillpedia
Agentes48 mil · #3237

huggingface-zerogpu

Faz seu agente criar demonstrações de IA com poder de computação gráfica. É útil para rodar demos online sem precisar de hardware potente.

O que ela faz

Esta ferramenta permite que você execute demonstrações de inteligência artificial que precisam de poder de processamento de GPU. Ela gerencia o acesso a GPUs de forma eficiente para que você possa rodar modelos de IA sem ter uma GPU potente em seu próprio computador.

Quando usar

  • ✓Quando você quer mostrar um modelo de IA funcionando para outras pessoas.
  • ✓Quando seu código de IA precisa de uma GPU para rodar rápido, mas você não tem uma.
  • ✓Ao configurar um projeto de IA que usa recursos específicos de GPU.

Exemplo do que pedir para a IA

“Como posso fazer meu modelo de IA usar a GPU para rodar mais rápido?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/huggingface-zerogpu/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/huggingface-zerogpu/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta configura seu código para usar GPUs remotas. Ela garante que a parte do seu código que usa a GPU só rode quando necessário e gerencia como os dados são enviados para a GPU.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill huggingface-zerogpu

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/huggingface-zerogpu/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Hugging Face ZeroGPU

Quando Usar

Use esta habilidade quando precisar de demonstrações de IA e computação com GPU usando Gradio Spaces e Hugging Face Spaces ZeroGPU. Use ao escrever ou revisar código que utiliza @spaces.GPU, configurar python_version ou requirements.txt para um Space ZeroGPU, ou lidar com restrições de código específicas do ZeroGPU — processo baseado em pickle...

Regras e padrões para demonstrações de ML no Hugging Face Spaces com hardware ZeroGPU. Abrange @spaces.GPU, ajuste de duração e cota, isolamento de processos, o modelo de disponibilidade CUDA, segurança de concorrência e restrições de compilação CUDA.

Escopo

Esta habilidade é para Spaces do SDK Gradio usando hardware ZeroGPU. Docker e Static Spaces não podem ser agendados no ZeroGPU, e aplicativos Streamlit agora rodam como Docker Spaces — então esta habilidade se aplica apenas ao Gradio. Para codificação Gradio geral (componentes, layouts, ouvintes de eventos), consulte a habilidade huggingface-gradio neste repositório. A documentação oficial do ZeroGPU está em https://huggingface.co/docs/hub/spaces-zerogpu — consulte-a para obter a GPU de suporte atual, listas de versões de runtime e limites de nível, todos os quais mudam com o tempo.

Arquivos de Referência

Referência Quando ler
references/concurrency.md Sempre leia junto com SKILL.md ao escrever código ZeroGPU — os manipuladores rodam em paralelo por padrão
references/how-zerogpu-works.md Ao raciocinar sobre inícios a frio, reutilização de workers, por que o aquecimento no escopo do módulo não se estende às requisições, ou por que retornar tensores CUDA trava
references/how-quota-works.md Ao escolher valores de duration, depurar erros de illegal duration vs quota exceeded, ou explicar por que o padrão de 60s bloqueia tarefas curtas
references/cuda-and-deps.md Ao instalar pacotes dependentes de CUDA (por exemplo, flash-attn), fixar pacotes secundários do torch, ou ler tags de nome de arquivo wheel

Hardware

ZeroGPU expõe dois tamanhos de GPU que mapeiam para uma fração da placa de suporte:

size Fatia da GPU de suporte Custo de cota
large (padrão) Metade 1x
xlarge Completa 2x

O large padrão fornece metade de uma GPU física, então a largura de banda de memória e a computação são significativamente menores do que as especificações da placa completa. Use xlarge apenas quando a carga de trabalho realmente precisar da memória ou computação extra.

A GPU de suporte muda sem aviso. ZeroGPU já migrou entre gerações de GPU várias vezes; artigos mais antigos podem mencionar A100 ou H200, mas eles estão desatualizados. Para a GPU de suporte atual e VRAM exata por tamanho, sempre verifique a documentação do ZeroGPU antes de dimensionar cargas de trabalho.

Padrão Básico

import spaces
import torch
from transformers import pipeline

pipe = pipeline("text-generation", model="...", device="cuda")

@spaces.GPU
def generate(prompt: str) -> str:
    return pipe(prompt, max_new_tokens=100)[0]["generated_text"]

Regras principais:

  1. Instancie modelos no escopo do módulo e chame .to("cuda") de forma antecipada. ZeroGPU lida com o mapeamento real do dispositivo de forma transparente (veja o modelo de disponibilidade CUDA abaixo).
  2. Decore funções de GPU com @spaces.GPU. O decorador é um no-op fora do ZeroGPU, então é seguro mantê-lo em todos os ambientes.
  3. Defina duration para corresponder à pior carga de trabalho realista (padrão 60s). A plataforma pré-verifica requested duration contra a remaining quota do usuário — não contra o tempo de execução real — então uma tarefa de 10 segundos deixada no padrão de 60s falha com quota exceeded assim que a cota restante do usuário cair abaixo de 60s. Declarações de duration menores também classificam mais alto na fila em nível de nó. Veja "Duração e Cota" abaixo.
  4. torch.compile NÃO é suportado. Use a compilação ahead-of-time (AoTI) do PyTorch ahead-of-time compilation (AoTI) (torch 2.8+) em vez disso.
  5. Use size="xlarge" com moderação. Ele aloca a GPU de suporte completa, mas custa 2x a cota e tende a ter filas mais longas.
@spaces.GPU(duration=120)
def generate_image(prompt: str):
    return pipe(prompt).images[0]

Modelo de Disponibilidade CUDA

O acesso real à GPU está apenas disponível dentro de funções decoradas com @spaces.GPU. Fora dessas funções, a GPU não está conectada ao processo.

No entanto, import spaces monkey-patches torch para que:

  • torch.cuda.is_available() retorne True globalmente.
  • Chamadas de .to("cuda") / device="cuda" no escopo do módulo sejam bem-sucedidas sem erro.

…

Perguntas frequentes

O que é 'ZeroGPU'?

ZeroGPU é um sistema que permite usar GPUs potentes sem ter uma fisicamente. Ele gerencia o acesso a essas GPUs para rodar aplicações de IA.

Posso usar isso com qualquer tipo de aplicação de IA?

Esta ferramenta é específica para aplicações criadas com Gradio Spaces que precisam de GPU. Outros tipos de projetos podem não funcionar.

Por que meu código não roda fora da função decorada com @spaces.GPU?

A GPU só está realmente disponível dentro das funções marcadas com @spaces.GPU. Fora delas, a ferramenta simula o acesso para preparar o código, mas a computação pesada só acontece no lugar certo.

Detalhes

Descrição original do autor

AI demos and GPU compute with Gradio Spaces and Hugging Face Spaces ZeroGPU.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3237
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas