Les 10 astuces
1. Précision mixte (AMP)
scaler = torch.cuda.amp.GradScaler()
with torch.autocast(device_type='cuda'):
loss = model(x)
scaler.scale(loss).backward()
scaler.step(optimizer)
scaler.update()
Accélération : 1.8-2.5x sur GPU modernes
2. Gradient checkpointing
model.gradient_checkpointing_enable()
Mémoire : -40 %, Vitesse : -15 % — rentable pour les grands modèles
3. DataLoader optimal
DataLoader(dataset, num_workers=4, pin_memory=True, persistent_workers=True)
4. torch.compile() (PyTorch 2.0+)
model = torch.compile(model)
Accélération : 1.2-2x selon le modèle