Ao planejar infraestrutura de IA para múltiplos usuários ou workloads simultâneos, uma das decisões-chave é: GPU dedicada por usuário/projeto, ou GPU compartilhada entre vários? A resposta impacta custo, performance e complexidade operacional.
GPU dedicada: isolamento total
GPU dedicada significa que toda a VRAM e capacidade de processamento da placa pertencem a um único workload ou usuário. Não há compartilhamento, não há interferência, e a performance é determinística — o que você mede em benchmark é o que você recebe em produção.
Quando GPU dedicada é a escolha certa
- Treinamento de modelos: treinamento é sensível a variações de latência entre GPUs. Compartilhamento causa jitter que degrada a eficiência do distributed training.
- Inferência com SLA de latência: se você tem SLA de <500ms por requisição, GPU compartilhada pode causar spikes de latência quando outra tarefa consome recursos simultaneamente.
- Modelos que usam >80% da VRAM: não sobra espaço para dividir com outros workloads sem degradação.
- Dados confidenciais: isolamento de VRAM elimina riscos de side-channel attacks e vazamento de dados entre tenants.
GPU compartilhada: MIG e vGPU
Compartilhar uma GPU entre múltiplos workloads faz sentido quando os workloads não usam 100% da GPU o tempo todo. Há duas tecnologias principais:
MIG — Multi-Instance GPU (NVIDIA A100 e H100)
MIG divide uma GPU física em até 7 instâncias completamente isoladas, cada uma com VRAM e engines de computação dedicados. O isolamento é em hardware — uma instância não pode acessar a VRAM de outra, mesmo com acesso root.
| Partição MIG no A100 80 GB | VRAM | Instâncias/GPU |
|---|---|---|
| 7g.80gb (GPU completa) | 80 GB | 1 |
| 4g.40gb | 40 GB | 2 |
| 3g.40gb | 40 GB | 2 |
| 1g.10gb | 10 GB | 7 |
MIG é ideal para laboratórios de ML onde múltiplos cientistas de dados trabalham em experimentos diferentes simultaneamente. Cada pesquisador tem sua “fatia” isolada da GPU, sem interferir nos outros.
vGPU (NVIDIA Virtual GPU)
vGPU virtualiza a GPU para VMs usando o driver NVIDIA vGPU. Diferente do MIG (divisão de hardware), vGPU divide a GPU em tempo (time-slicing) — cada VM recebe acesso à GPU por frações de tempo. É menos previsível que MIG mas funciona em qualquer GPU NVIDIA com licença vGPU, não apenas A100/H100.
Time-slicing simples (sem MIG nem vGPU)
Kubernetes e Docker permitem compartilhamento por time-slicing — múltiplos pods usam a mesma GPU alternando no tempo. Sem isolamento de VRAM. Adequado para workloads de inferência com baixa frequência onde spikes de latência são toleráveis.
Comparativo técnico e de custo
| Critério | GPU Dedicada | MIG | vGPU / Time-slice |
|---|---|---|---|
| Isolamento de VRAM | Total | Total (HW) | Parcial / Nenhum |
| Latência determinística | ✅ Sim | ✅ Sim | ❌ Não |
| Custo por usuário | Alto | Médio | Baixo |
| GPUs suportadas | Todas | A100, H100 | Com licença vGPU |
| Adequado para treinamento | ✅ Sim | ✅ Sim | ❌ Não recomendado |
| Complexidade operacional | Baixa | Média | Alta (orquestração) |
Quando usar cada modelo
Use GPU dedicada quando:
- O workload usa consistentemente 60%+ da GPU
- Há requisitos de SLA de latência (<1s por requisição)
- Os dados exigem isolamento por compliance ou contrato
- Está treinando modelos (especialmente distributed training)
Use MIG quando:
- Tem laboratório de ML com múltiplos cientistas que fazem experimentos em paralelo
- Os experimentos são menores (modelos até 40B) e não precisam de GPU inteira
- Quer maximizar utilização das A100/H100 sem perder isolamento
- Precisa de cobrança por uso (chargeback) para diferentes times
Use time-slicing/vGPU quando:
- Quer hospedar muitos modelos pequenos em poucas GPUs
- Os modelos ficam a maior parte do tempo ociosos (inferência sob demanda)
- Tolera variação de latência de 2–5× em momentos de contenção
Perguntas frequentes
MIG funciona com PyTorch e TensorFlow?
Sim. Do ponto de vista do framework, uma instância MIG aparece como uma GPU independente. PyTorch, TensorFlow e vLLM funcionam normalmente em instâncias MIG sem nenhuma modificação de código. A única limitação é que NVLink não funciona entre instâncias MIG da mesma GPU física — distributed training multi-GPU dentro de MIG requer múltiplas GPUs físicas.
Posso mudar a partição MIG sem reiniciar o servidor?
Não completamente. Reconfigurar as partições MIG requer que todos os workloads que usam a GPU sejam parados. O processo em si é rápido (segundos), mas causa downtime breve. Por isso, MIG é mais adequado para configurações estáveis (laboratório de pesquisa com partições fixas) do que para ambientes que precisam reconfigurar frequentemente.
Qual a diferença entre MIG e Kubernetes multi-GPU scheduling?
Kubernetes agenda pods em GPUs inteiras (uma GPU por pod, por padrão). Com o NVIDIA GPU Operator e MIG, o Kubernetes pode agendar pods em instâncias MIG específicas — permitindo múltiplos pods na mesma GPU física com isolamento hardware. É a forma mais flexível de usar MIG em ambientes de contêineres.


