Les modèles les plus sophistiqués exigent de longs apprentissages pour trouver un ensemble de paramètres satisfaisants relativement à la tâche que l’on souhaite accomplir.
Alors que la séquence 11 explorait différentes méthodes pour accélérer l’apprentissage en explorant plus rapidement le paysage de la loss et donc en réduisant le nombre d’itérations nécessaires pour obtenir un modèle entraîné, cette session se concentre majoritairement sur une utilisation plus sophistiquée du matériel disponible afin de réaliser un même nombre d’itérations en un temps plus restreint.
On pourra également utiliser des optimisations liées à la mémoire pour exploiter plus favorablement notre accélérateur ou pour faire rentrer des modèles plus volumineux en mémoire RAM.
Tout ce qu’il faut savoir du Super Computing / HPC pour un apprentissage de réseau de neuronnes
Optimisation du chargement et prétraitement des données sur CPU
Calcul sur GPU et problématiques mémoire
Data parallelism
Optimisation ZeRO de DeepSpeed et FSDP
Pipeline parallelism
Tensor parallelism
Techniques d’optimisation de la descente de gradient avec des Large Batch