
Deep Learning Optimisé sur Jean Zay (DLO-JZ)
Responsable : Léo Mantegazza
Intervenants : Membres de l'équipe support de l'IDRIS
Cette formation a pour objectif de passer en revue les principales techniques actuelles d'optimisation d'un apprentissage machine en Deep Learning, avec pour but le passage à l'échelle sur un supercalculateur. Les problématiques associées d'accélération et de distribution sur plusieurs GPU seront abordées, d'un point de vue système et algorithmique.
- Public concerné
- Pré-requis
- Durée et modalités
- Contenu de la formation
- Supports de cours
- Prochaines sessions
Public concerné
Cette formation s'adresse aux utilisateurs et utilisatrices IA de Jean Zay ou aux personnes qui maîtrisent les fondamentaux du Deep Learning et qui souhaitent se former aux enjeux du passage à l'échelle.
Pré-requis
Les pré-requis nécessaires sont :
- maîtriser les notions de l'apprentissage en Deep Learning
- maîtriser Python
- avoir des bases en PyTorch pour le bon déroulement des TP
Durée et modalités
Cette formation dure 4 jours :
- de 09h00 à 12h00 et
- de 13h00 à 17h00.
Elle a lieu uniquement en présentiel dans les locaux de l'IDRIS à Orsay (91).
Assistance
Minimale : 10 personnes ;
Maximale : 16 personnes.
Contenu de la formation
Cette formation est dédiée au passage à l'échelle multi-GPU de l'entraînement d'un modèle en Deep Learning. Le fil conducteur des aspects pratiques de la formation est la mise à l'échelle optimisée (accélération, distribution) d'un entraînement de modèle sur la base de données Imagenet, en PyTorch. Pour cela, les participant·e·s seront amené.e.s à coder et soumettre leurs calculs sur Jean Zay en appliquant les différentes notions abordées pendant les parties de cours.
Plan
Jour 1
- Présentation de la formation DLO-JZ
- Le supercalculateur Jean Zay
- Les enjeux de la montée à l'échelle
- L'accélération GPU
- La précision mixte
- L'optimisation des formats de tenseur (channels last memory format)
- Profiler PyTorch
Jour 2
- Optimisation de dataloader
- Entraînement distribué : notions générales et parallélisme de données
- Augmentation de données
Jour 3
- Le stockage et le format des données d'entrée (webdataset)
- Les techniques d'entraînement large batches (lr scheduler, optimiseurs large batches, ...)
- La compilation (JIT)
Jour 4
- Les bonnes pratiques (petits modèles)
- La gestion de gros modèles et le Fully Sharded Data Parallelism (FSDP)
- Le parallélisme de modèle
- Les outils de visualisation d'entraînement (TensorBoard, MLflow, Weight and Biases, ...)
- Les techniques d'optimisation et de recherche d'hyperparamètres
Pour une exécution efficace des parties pratiques, celles-ci se dérouleront sur le supercalculateur Jean Zay. Une station de travail avec accès au calculateur de l'IDRIS est mise à disposition des apprenants. Une expérience dans l’utilisation d’un supercalculateur, tout comme un accès préalable à celui-ci, ne sont pas requis.
Support de cours
Tous les supports de cours, y compris les diapositives, les notes et les exercices pratiques, sont fournis sous la licence suivante : Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0). Pour plus de détails sur la licence, veuillez consulter cette page.
Supports
- 1- Introduction, Jean Zay & GPU DL
- 2- Profiler
- 3- DataLoader optimization
- 4- Distribution and Data Parallelism
- 5- Storage spaces and data format
- 6- Optimizers & large batches
- 7- Compiler
- 8- Good Practice and State Of The Art
- 9- Parallelisms and large models
- 10- Visualization Tools
- 11- Hyperparameters optimization
- Conclusion
- Practical
Pour consulter les dates des prochaines sessions de cette formation, rendez-vous sur la page suivante :
Inscription
Personnel CNRS/université française | Participants externes |
Vous êtes personnel du CNRS ou d'une université française ? Votre inscription est gratuite via notre serveur. | Nos formations s’adressent à tous les professionnels des entreprises, organismes publics et particuliers. |