DLO-JZ (Deep Learning Optimisé sur Jean Zay)

Responsable :

Objectif :

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é :

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 9h30 à 18h (au plus tard).
Elle a lieu uniquement en présentiel dans les locaux de l'IDRIS à Orsay (91).

Assistance :

maximale : 16 personnes ; minimale : 10 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

  • Accueil
  • 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)

Jour 2

  • Entraînement distribué : notions générales et parallélisme de données
  • Lancement d'un premier entraînement complet sur 32 GPU V100 (qui tournera pendant la nuit)
  • Profilage de code
  • Optimisation du prétraitement des données sur CPU (DataLoader)
  • Entraînement large batches (learning rate scheduler, optimiseurs large batches,…)

Jour 3

  • Visualisation des résultats du premier entraînement lancé la veille
  • Optimisation et lancement d'un second entraînement sur 32 GPU V100 (qui tournera pendant la nuit)
  • Les techniques d'optimisation de recherche des hyperparamètres
  • Le stockage et le format des données d'entrée (webdataset)
  • L'augmentation de données (Data Augmentation)

Jour 4

  • Visualisation des résultats du second entraînement lancé la veille
  • Les bonnes pratiques
  • Les parallélismes de modèle
  • Les API pour les parallélismes de modèle
  • Un exemple de gros modèle : le Vision Transformer

Équipement :

Les parties pratiques se dérouleront sur le supercalculateur Jean Zay de l'IDRIS.

Les supports de cours ne sont pas fournis au format papier. Ils sont disponibles sur notre site web : http://www.idris.fr/formations/dlo-jz/

Intervenants :

S’inscrire à cette formation :