Por que a fiação das GPUs importa
Quando falamos de treinamento distribuído de modelos de IA, a conversa geralmente gira em torno de estratégias como DDP (Distributed Data Parallel) e FSDP (Fully Sharded Data Parallel). Mas há um fator frequentemente negligenciado que pode fazer ou quebrar o desempenho: a topologia física de como suas GPUs estão conectadas.
Este guia prático, baseado em anos de experiência com clusters de treinamento, explica por que a fiação entre GPUs importa tanto quanto a estratégia de paralelismo que você escolhe — e como otimizar ambas.
Estratégias de treinamento distribuído: uma visão geral
O treinamento de modelos grandes como GPT, Llama e Claude exige distribuir o trabalho entre múltiplas GPUs. As principais estratégias são:
- DDP (Distributed Data Parallel): cada GPU mantém uma cópia completa do modelo e processa um lote diferente de dados. Os gradientes são sincronizados ao final de cada passo. Simples, mas limitado pelo tamanho do modelo que cabe em uma GPU.
- FSDP (Fully Sharded Data Parallel): o modelo é dividido (sharded) entre as GPUs. Cada GPU mantém apenas uma fração dos parâmetros, reduzindo o consumo de memória. Inspirado no paper ZeRO da Microsoft.
- ZeRO Stages (1, 2, 3): a abordagem da DeepSpeed (Microsoft) que divide otimizadores, gradientes e parâmetros progressivamente. ZeRO-3 é o mais agressivo em economia de memória, mas também o mais intensivo em comunicação.
O gargalo invisível: comunicação entre GPUs
Em qualquer estratégia de paralelismo, as GPUs precisam se comunicar constantemente para sincronizar gradientes e parâmetros. E essa comunicação acontece através de links físicos — NVLink, PCIe e redes como InfiniBand.
Um cluster com GPUs mal conectadas pode desperdiçar até 40% do tempo de treinamento esperando sincronização de gradientes. É como ter um motor de Fórmula 1 conectado a pneus de bicicleta — a potência está lá, mas não chega ao chão.
Topologias de conexão e seu impacto
NVLink vs PCIe
O NVLink oferece largura de banda muito superior ao PCIe. Nas GPUs NVIDIA modernas (A100, H100), o NVLink conecta GPUs dentro do mesmo nó com velocidades de até 900 GB/s, enquanto o PCIe 5.0 atinge ~128 GB/s. Para GPUs em nós diferentes, a comunicação passa por NVSwitch e InfiniBand (tipicamente 400 Gb/s por porta).
A recomendação prática: sempre que possível, mantenha as GPUs que compartilham mais dados no mesmo nó, conectadas via NVLink. Isso reduz a latência e maximiza o throughput.
Topologia em anel vs árvore vs all-to-all
A forma como as GPUs são conectadas determina o padrão de comunicação:
- Anel (Ring): eficiente para all-reduce, comum em DDP. Cada GPU envia para a próxima no anel. Funciona bem com 4-8 GPUs.
- Árvore (Tree): reduz o número de hops, ideal para broadcast de parâmetros no FSDP. Melhor para clusters grandes.
- All-to-all: cada GPU se comunica com todas as outras. Necessário para ZeRO-3 e tensor parallelism. Exige rede de alta largura de banda.
Otimização prática: checklist
- Verifique a topologia real: use
nvidia-smi topo -mpara mapear as conexões NVLink e PCIe do seu cluster - Agrupe GPUs por domínio NVLink: configure seu scheduler (SLURM, Kubernetes) para alocar GPUs dentro do mesmo domínio NVLink sempre que possível
- Escolha a estratégia certa para sua topologia: DDP funciona bem com conexões de anel, FSDP se beneficia de árvore, tensor parallelism exige all-to-all de alta largura de banda
- Monitore o NCCL: ative logs do NCCL (
NCCL_DEBUG=INFO) para identificar gargalos de comunicação - Considere o custo: mais GPUs não significam treinamento proporcionalmente mais rápido se a comunicação se tornar o gargalo
Cuidados e limitações
- ⚠️ Nem toda GPU suporta NVLink: GPUs de consumidor (RTX 4090, etc.) não têm NVLink. Para treinamento distribuído com GPUs de consumidor, você está limitado ao PCIe.
- ⚠️ O FSDP não é gratuito: a economia de memória vem com custo de comunicação. Se sua topologia de rede é ruim, o FSDP pode ser mais lento que DDP.
- ⚠️ Frameworks abstraem, mas não eliminam: PyTorch e DeepSpeed escondem a complexidade, mas ignorar a topologia física é a receita para clusters subutilizados.
Descubra mais sobre noticiAI
Assine para receber nossas notícias mais recentes por e-mail.



