Réduire l’utilisation de la mémoire du GPU
Utilisez le point de contrôle et manipulez mieux les tenseurs.
Réduire l’utilisation de la mémoire du GPU est une leçon Deep Learning Academy gratuite sur CoddyKit. Ceci est la leçon 4 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 Dreaded OOM
Run out of GPU memory and training crashes with an out-of-memory error. The good news is several simple tactics free up space fast.
Where Memory Goes
Your GPU holds the model weights, the gradients, the optimizer state, and the activations saved for backward. Activations are often the biggest.
Shrink the Batch
The fastest fix is a smaller batch size. Fewer samples per step means fewer activations to store, and accumulation can recover the effective size.
No Grad for Inference
During evaluation you do not need gradients. Wrapping inference in torch.no_grad skips storing activations and saves a lot of memory.
with torch.no_grad():
preds = model(x)Mixed Precision Helps Here Too
Half-precision tensors are simply smaller. Turning on autocast cuts activation and weight memory roughly in half during training.
with torch.autocast(device_type='cuda'):
out = model(x)Gradient Checkpointing
Checkpointing trades compute for memory: it drops most activations and recomputes them during backward instead of keeping them all.
from torch.utils.checkpoint import checkpointApply Checkpointing
Wrap a heavy block in checkpoint so its activations are rebuilt on the backward pass. You save memory at the cost of extra recompute.
out = checkpoint(heavy_block, x)Detach What You Log
Keeping a loss tensor around holds its whole graph in memory. Call .item() to log just the number and let the graph be freed.
running_loss += loss.item()Use set_to_none
Pass set_to_none to zero_grad so gradient tensors are released instead of merely filled with zeros, freeing their memory between steps.
optimizer.zero_grad(set_to_none=True)Clear the Cache
PyTorch caches freed blocks for reuse. When you truly need space back, empty_cache returns it to the GPU, though it rarely fixes real leaks.
torch.cuda.empty_cache()Inspect Your Usage
Check how much you hold with memory_allocated. Watching this number while you tune confirms which change actually freed space.
print(torch.cuda.memory_allocated())Quick Check
Which technique saves memory by recomputing activations during backward?
Recap
Beat out-of-memory by shrinking batches, using no_grad for inference, autocast, gradient checkpointing, and set_to_none. Measure with memory_allocated. 🧹
Questions Fréquemment Posées
La leçon « Réduire l’utilisation de la mémoire du GPU » est-elle gratuite ?
Oui — le texte complet de « Réduire l’utilisation de la mémoire du GPU » 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 « Réduire l’utilisation de la mémoire du GPU » ?
Utilisez le point de contrôle et manipulez mieux les tenseurs. 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 4 sur 4.
Combien de temps prend la leçon « Réduire l’utilisation de la mémoire du GPU » ?
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
- Précision mixte avec autocast et GradScaler
- Accumulation des gradients pour les gros lots
- Analyser le goulet d’étranglement
- Réduire l’utilisation de la mémoire du GPU