Formation Python pour HPC-HPDA

Dernière mise à jour : 15 janvier 2023

    • Posséder une bonne compréhension des concepts des supercalculateurs et de leur programmation
    • Connaître les librairies Python adaptées au calcul sur HPC
    • Concevoir des programmes adaptés aux supercalculateurs avec les librairies MPI4Py, Dask, Xarray, Prefect
    • Visualiser des données volumineuses avec DataShader
    • Déployer des algorithmes de machines learning avec Dask+Scikit-Learn et PyTorch

    Maîtrise des outils Python sur cluster HPC-HPDA et super calculateur

    • Une pédagogie active, l’apprenant étant au centre du dispositif
    • Des mises en situation ludiques et interactives
    • Les applications pratiques seront mises en œuvre
    • Du concret : toute la formation renvoie à la réalité professionnelle
    • De l’action : plus de 2/3 du temps est dédié à la pratique et à l’expérimentation
    • Du rythme : l’intérêt et l’attention du stagiaire sont stimulés par des explications en groupe ou individuelles, des échanges, des travaux et exercices personnels ou collectifs…
    • De l’individualisation : chacun apprend à son rythme pour renforcer son autonomie
    • De l’ancrage: les participants formalisent et synthétisent ce qu’ils apprennent pour une meilleure mémorisation des acquis
    • La formation réserve une place importante à l’interaction avec les participants.
    • Mise en situation par application concrète des outils sur vos données de travail durant la formation.

    Découvrir les supercalculateurs (0,25 jour) 

    • Rétrospective du tout premier supercalculateur au plus puissant d’aujourd’hui
    • Qu’est-ce qu’un supercalculateur : principes et composantes principales : capacités de calcul, capacité réseau et de stockage
    • Les différents classements : Top500, Green500, io500
    • Comment se programme un supercalculateur : les ordonnanceurs/gestionnaires de ressources : SLURM, PBS…
    • Tour d’horizon du supercalculateur Champollion sur lequel nous travaillerons
    • Panorama des librairies Python disponibles sur HPC

    Travaux pratiques
    Prise en main du supercalculateur Champollion : connexion, exécution de premiers jobs avec Slurm, accès en mode interactif aux différents nœuds de calculs

    Programmation MPI (0,75 jour)

    Le Message Passing Interface désigne une API et des outils conçus pour développer des programmes sur plusieurs ordinateurs pour les besoins en calculs scientifiques à haute performance.

    Historiquement disponible pour les langages C et Fortran elle est aussi disponible avec le langage Python.

    • Présentation rapide des bases du calcul parallèle avec Python : multithreading, multiprocessing, GIL
    • Les concepts MPI et les différentes librairies disponibles
    • Les différentes primitives : send/receive, scatter/gather, broadcast/reduce, pools de process …
    • Exemples d’applications

    Travaux pratiques
    Implémentation de différentes problématiques mettant en œuvre les principales primitives : traitement d’un lot d’images, calcul des décimales de PI, manipulation de fichiers CSV volumineux…

    Autres librairies de calcul parallèle pour HPC (0,5 jour)

    Dans ce chapitre nous vous proposons de découvrir l’écosystème Dask qui vous permettra d’utiliser toute la puissance de votre supercalculateur sans presque rien changer à votre code numpy/pandas

    • Présentation de Dask : illustration du concept de graphe de calcul, les composantes de dask: delayed, bag, dask array et dataframe
    • L’écosystème Dask : Xarray, Datashader, Prefect, RapidsAI (pour les GPU)…
    • Calculer sur des matrices volumineuses avec Dask Array
    • Manipuler des Dataframes ne tenant pas en RAM avec Dask DataFrame
    • Manipuler des fichiers NetCDF/HDF5 avec Xarray
    • Orchestrer des pipelines de traitement de données avec Prefect
    • Visualisation BigData avec Datashader

    Travaux pratiques
    Mise en oeuvre des différentes librairies avec des données Open Data ou proposées par le client.

    L’apprentissage automatique avec Dask (0,5 jour)

    • Rappel sur les concepts de l’apprentissage automatique :
      • Les principaux types d’apprentissages : supervisé, non supervisé, renforcement, transfert
      • Les principaux algorithmes : des régressions linéaires aux réseaux de neurones en passant par les arbres de décisions et machines à vecteurs de support
    • Panorama des différentes librairies Python dédiées au machine learning
    • Utiliser Scikit-learn + Dask sur supercalculateur pour les algorithmes classiques

    Travaux pratiques
    Exercices de classification/régression avec Scikit-learn et Dask

    Les réseaux de neurones (0,5 jour)

    • Rappel des concepts des réseaux de neurones : graphe de neurones, back propagation, fonction de gain et d’activation
    • Panorama des différents types de réseaux de neurones (PER57, DNN, RNN…)
    • Présentation de PyTorch et PyTorch Lightning
    • Chargement des données volumineuses – bonne utilisation des data loader

    Travaux Pratiques
    Prise en mains de PyTorch et création d’un premier réseau de neurones simple pour la reconnaissance d’images avec la base MNIST ou ImageNet.
    Entrainement sur un, puis plusieurs, nœuds de calcul avec et sans GPU.

    Réseaux de neurones convolutionnels (1 jour)

    • Optimisation de l’apprentissage : tuning des hyperparamètres, data augmentation, dropout, batch normalization
    • Les différentes architectures utilisées en pour la classification et la segmentation d’images
    • Présentation des concepts de transfer learning et object detection

    Travaux pratiques
    Mise en œuvre sur la classification d’images

    Traitement du langage naturel (1,5 jour)

    • Rappel sur le preprocessing de textes
    • Présentation des différentes méthodes de vectorisation (TFIDF, Word2Vec, BERT, etc.)
    • Présentation des techniques pour le topic modeling, la recherche d’entités nommées, l’analyse de sentiments, traduction et Word embedding
    • Présentation des concepts de transformers

    Travaux pratiques
    Mise en œuvre sur l’analyse de sentiments, word embedding et traduction. Des corpus issus des bases de données Wikipédia/Gutemberg pourront être utilisés.

    Ingénieur, développeur, chercheur, data scientist, data-analyst et toute personne ayant de forts besoins en capacité de calculs avec Python.

    Pratique du langage Python et des librairies numpy, pandas et matplotlib.

    Modalités d’évaluation Standard

    • Questionnaire théorique en début de formation
    • Questionnaire théorique en fin de formation
    • Validation des acquis
    • Attestation de formation

    Modalités d’évaluation Certification

    • Évaluation standard +
    • Révision et préparation à l’examen (exercices pratiques...)
    • Examen final en fin de formation via un jury permettant d'obtenir la certification du bloc de compétence
    • Pour certaines formations, les compétences théoriques sont validées en amont du Jury via un QCM
    • Certains examens internationaux impose un examen en ligne pour un durée allant de 2h à 4h
    • Les dates d’examens peuvent évoluer en fonction des sessions
    • En cas de non-admission ou de non-présentation du candidat, le candidat a la possibilité de se représenter à une session suivante en accord avec l’équipe pédagogique.

    DYNACENTRIX s’engage auprès de ses clients et partenaires, sur la garantie de l'égalité des droits et des chances des personnes en situation de handicap pour accéder aux formations proposées et a mis en place un accueil spécifique qui travaille en étroite collaboration avec des organismes partenaires (AGEFIPH IDF, Cap emploi).
    DYNACENTRIX accueille et accompagne les personnes en situation de handicap tout le long de leur parcours, en lien direct avec l’entourage professionnel et/ou familial des bénéficiaires, en adaptant sa pédagogie et le rythme de ses enseignements ». 

    > Pour tous renseignements 

    Témoignages

    Merci pour cette certification IASSC et une grande reconnaissance pour la qualité de la formation.

    Témoignage

    Je suis vraiment satisfait, et j’espère avoir l’occasion de retravailler avec Dynacentrix !

    En attendant, je vous recommande vivement !

    Témoignage

    Des échanges intéressants et des rappels plus qu’oubliés sur les statistiques. Même s’il n’y a pas que ça, il en faut un peu.

    Témoignage

    I attended the Green Belt Lean Six Sigma formation and recommend it.

    The project I lead already has brought my company revenue and I am better equipped to continue to evolve and learn from additional experience!

    Témoignage

    J’ai eu ma Black Belt. Un grand merci pour cette super formation !

    Témoignage

    Prochaine session

    Formation uniquement disponible en Intra et sur mesure.

    Durée : 5 jours (soit 35 heures)

    Référence : F-pyt-04

    Lieu : Disponible à distance, en présentiel, en mixte-hybride, en individuel ou en collectif avec des approches pédagogiques adaptées et spécifiques

    Prix : sur devis

    Formation disponible
    en Intra & sur mesure