Quelles sont les contraintes computationnelles lors de l’entraînement d’un modèle de langue ?
Quelles sont les techniques qui permettent de limiter ses contraintes ?
Qu’est ce qu’un Petaflop ? Comment choisir le nombre de CPU vs taille du dataset vs nombre de poids du modèle ?
CUDA memory
1 param — 4 bytes — 32bit float
1B parameters — 4 x 10^9 bytes — 4 GB
20 bytes per parameter — 80 GB
80 GB = Single Nvidia 100 GPU
4 bytes —> 2 bytes (reduction by half)
FP 16
BFloat 16
INT 8
Pytorch Distributed Data Parallel
ZeRO : Memory Optimization toward training trillion parameter model
L’approche FSDP permet de réduire le temps computationnel dans les cas suivants: