Chapitre 1 : Gestion des GPU/TPU
Guide de sélection des GPU
| Type de GPU | VRAM | Cas d'utilisation | Coût ($/hr) |
|---|---|---|---|
| NVIDIA T4 | 16GB | Inférence, petit entraînement | $0.35 |
| NVIDIA V100 | 32GB | Entraînement moyen | $2.50 |
| NVIDIA A100 | 80GB | Entraînement de grands modèles | $4.00 |
| NVIDIA H100 | 80GB | Entraînement LLM | $8.00+ |
Optimisation de la mémoire GPU
import torch
# Activer le gradient checkpointing
model.gradient_checkpointing_enable()
# Entraînement en précision mixte
from torch.cuda.amp import autocast, GradScaler
scaler = GradScaler()
with autocast():
outputs = model(inputs)
loss = criterion(outputs, targets)
scaler.scale(loss).backward()
scaler.step(optimizer)
scaler.update()
# Attention efficace en mémoire
from torch.nn.functional import scaled_dot_product_attention
# Utilise Flash Attention lorsque disponible
Points clés
Résumé
- Adapter le GPU à la charge de travail - ne pas surprovisionner
- Utiliser la précision mixte pour un gain de vitesse de 2x et des économies de mémoire
- Surveiller l'utilisation du GPU pour identifier les goulots d'étranglement
- Envisager les instances spot pour des économies de 60 à 90 %
Suivant : Chapitre 2 : Entraînement distribué