Normalização de Lote Sincronizada e Estado Fragmentado
Mantenha estatísticas e pesos consistentes
Normalização de Lote Sincronizada e Estado Fragmentado é uma aula grátis de Deep Learning Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Deep Learning Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Deep Learning Academy inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
The Small-Batch Problem
Batch norm computes stats from each GPU's local batch. Split across many GPUs, each per-device batch shrinks and those stats get noisy.
Enter SyncBatchNorm
SyncBatchNorm fixes this by computing mean and variance across all GPUs together, as if it saw the full global batch.
Convert in One Call
You do not rewrite layers by hand. One helper converts every BatchNorm in your model to its synced version.
import torch.nn as nn
model = nn.SyncBatchNorm.convert_sync_batchnorm(model)Convert Before Wrapping
Order matters: call the conversion before you wrap the model in DDP, so the synced layers are the ones DDP manages.
model = nn.SyncBatchNorm.convert_sync_batchnorm(model)
model = DDP(model, device_ids=[local_rank])It Costs Communication
Syncing stats means an extra all-reduce at every batch norm layer. Use it when small per-GPU batches hurt accuracy, not by default.
The Memory Wall
Plain DDP copies the full model, gradients, and optimizer state onto every GPU. For huge models that redundancy wastes memory fast.
Shard the State
Sharding splits those tensors across GPUs so each device stores only a slice. Together the GPUs still hold the whole model.
Meet FSDP
PyTorch's FullyShardedDataParallel shards parameters, gradients, and optimizer state. It lets you train models far larger than one GPU's memory.
from torch.distributed.fsdp import FullyShardedDataParallel as FSDP
model = FSDP(model)Gather Just in Time
FSDP gathers each layer's full weights only when it is needed for compute, then frees them again. That keeps peak memory low.
ZeRO Stages
Sharding comes in levels, called ZeRO stages: shard optimizer state, then gradients, then parameters. More sharding saves more memory.
Pick the Right Tool
If your model fits per GPU, plain DDP is simplest. When it does not, reach for FSDP to shard state and keep going.
Quick Check
Decide what each technique is really for.
Recap
You met two consistency tools: SyncBatchNorm keeps stats global across GPUs, and FSDP shards state so giant models fit. Use each only when you need it.
Perguntas Frequentes
A aula “Normalização de Lote Sincronizada e Estado Fragmentado” é grátis?
Sim — o texto completo de “Normalização de Lote Sincronizada e Estado Fragmentado” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Deep Learning Academy, atualize para CoddyKit PRO. O curso de Deep Learning Academy inclui 4 aulas no total.
O que vou aprender em “Normalização de Lote Sincronizada e Estado Fragmentado”?
Mantenha estatísticas e pesos consistentes Você pratica Deep Learning Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Deep Learning Academy?
Nenhuma experiência prévia é necessária. Deep Learning Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Normalização de Lote Sincronizada e Estado Fragmentado”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Deep Learning Academy?
Sim. Cada aula de Deep Learning Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Paralelismo de Dados vs de Modelo
- Fundamentos de DistributedDataParallel
- Normalização de Lote Sincronizada e Estado Fragmentado
- Inicie Tarefas com torchrun