0Pricing
Deep Learning Academy · Leçon

Normalisation par lots synchronisée et état fragmenté

Gardez les statistiques et les poids cohérents.

Normalisation par lots synchronisée et état fragmenté est une leçon Deep Learning Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Deep Learning Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Deep Learning Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

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.

Questions Fréquemment Posées

La leçon « Normalisation par lots synchronisée et état fragmenté » est-elle gratuite ?

Oui — le texte complet de « Normalisation par lots synchronisée et état fragmenté » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Deep Learning Academy, passe à CoddyKit PRO. Le cours Deep Learning Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Normalisation par lots synchronisée et état fragmenté » ?

Gardez les statistiques et les poids cohérents. Tu pratiques Deep Learning Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Deep Learning Academy ?

Aucune expérience préalable n'est requise. Deep Learning Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Normalisation par lots synchronisée et état fragmenté » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Deep Learning Academy ?

Oui. Chaque leçon Deep Learning Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Parallélisme des données ou du modèle
  2. Les bases de DistributedDataParallel
  3. Normalisation par lots synchronisée et état fragmenté
  4. Lancer des tâches avec torchrun
← Retour à Deep Learning Academy