12.2.7 : Machine Learning



  • Optimizing & Deploying PyTorch Models for High-Performance Inference [S41265](18min14s)
    • Avec Tensor RT
    • Optimisation du model de départ
    • Accélération de 3x à 6x suivant le réseau
    • On peut faire du FP16 en plus de FP32
    • Mais il faut convertir les Torch Module en Torch Script
    • Il peut cnvertir directement le model en C++
    • FX n'a pas la notion de boucle et de rétroaction, mais ça suffit pour la plupars des cas
    • Convertion native de Python avec FX
  • Responsible Artificial Intelligence: Approach to Policy, Requirements, and Contracting (Presented by Northrop Grumman) [S42747] (23min51s)
    • Problème sur la sécurité des réseaux, piratage, car ils sont de plus en plus présent dans tous les domaines
    • Comment sait-on que l'on fait les choses correctement ?
    • Compliance monitoring in real time
    • Il faut aussi prendre en compte le fait que les réseaux peuvent fonctionner enssemble quand on les teste
    • Tester les biais de données
    • La présentation ne prend pas en compte les nouvautés de la H100 sur le confidencial computing
    • L'idée est de valider les réseaux pour faire un standard de qualité
    • Si on prend l'exemple d'un modèle qui conduit une voiture, on veut continuer à le tester pendant qu'il est utilisé
    • Comme dirait Gérard Bérry, à moins d'avoir une preuve mathématique c'est mal baré
  • Bringing Rain to the Subseasonal Forecasting Desert with Deep Learning Weather Prediction [S41170] (51min41s)
    • Trouver les grandes lignes du temps qu'il fera (chaud/froid, humide/sec) dans 6 semaines
    • Permet de gérer les réserves d'eau, ou voir si les conditions seront propices pour un cyclone
    • Permet d'anticiper les besoins énergétiques et les traitements à faire aux cultures
    • Le modèle Deep Learning est environ 1000 fois plus rapide que la méthode standard
    • mais le modèle n'utilise qu'une petite partie les paramètres utilisés dans la méthode standard
    • Le modèle est entrainé avec les données météo des 50 dernières années
    • Le modèle peut-être meilleur que la méthode classique dans certains cas où elle ne prend pas en compte toute la physique possible
    • Le modèle est testé depuis 2 ans
    • Le modèles est basé sur des convolutions 3x3
    • Ils utilisent un cube déformé en sphère (subdivision surface sur un cube dans blender pour avoir une bonne idée de ce que c'est),
    • C'est une grille sur un cube dont les côté sont divisés en 48x48, pour une résolution d'environ 200km x 200km par cellule
    • Simulation des précipitation avec 7 sphères de réslution 150x150 km
    • Il faut lui reconnaitre qu'il a prédit des tempètes qui sont vraiment arrivées
  • Live Labeling: Hyper-efficient Interactive Annotation for Semantic Segmentation [S41094]
    • c'est un outil pour labéler des régions dans des images
    • C'est peut-être plus rapide que les approches standard mais c'est quand même un travail de fourmi
    • Utilise PyTorch
    • Feature Segmentation
    • Supporte le sparse labeling (les labels ne sont pas forcément juste, ou bien placé)
    • Ça fonctionne avec DALI, mais il est fait pour ça
  • Can a Deep Learning Model Measure CO2 More Precisely using Satellite Data? [S41127] (30min10s)
    • Ils utilisent XGBoost avec RAPIDS
    • Le model le plus efficace a 4 couches (corrélation 0.88)
    • Ils font de la data augmentation pour améliorer leur perf, mais ils n'expliquent pas comment ça fonctionne
    • Et bien entendu, ils ne répondent pas à la question
  • Enabling AI Transformation with Hyperscale AI [S41706] (36min43s)
    • En fait c'est une énnorme pub d'une demi heure
  • Natural Language Understanding in Practice: Lessons Learned from Successful Enterprise Deployments [S41769] (44min47s)
    • Comment apprendre de données non structurées
    • Dans l'ensemble $80\%$ des données sont non structurées
    • Reconnaissance de langages pour des chatbox, et des systèmes d'aide en ligne
    • C'est très utile, mais apparemment c'est une galère à utiliser. Donc l'idée est de donner des modèles plus génériques, qui font plus de choses
    • Dans l'ensemble, ils ne mettent pas à jour leur modèles souvent (quelques fois pas an) car ils font beaucoup de tests avant. Et ça prend du temps pour les entrainer car on parle de modèles à 3 ou 100 millards de paramètres
  • Once Upon an AI: Storytelling Augmented with Natural Language Processing and Virtual Production [S41532] (19min34s)
    • Deux trois trucs rigolos, mais c'est globalement une pub sans intéret
  • Reinforcement Learning for Network Protocol Design [S41049] (27min53s)
    • Réseau piloté par machine learning pour optimiser les communiations (on a déjà vu ça avec NVTAGS au niveau d'un centre de calul)
    • Maintenant les réseaux sont changeants et non prédictibles
    • Dans ce cas, on peut évaluer le choix d'un Modèle juste avec un test de performance sur le réseau, ou n'importe quelle autre métrique
  • Utilities’ Guide to AI, Edge, and Accelerated Computing [S41600] (22min52s)
    • Contrairement aux apparences, ce type ne présente pas la météo
    • Prédire la consommation électrique pour mieux la gérer
  • Introduction to AI in the Data Center [DLIT2552]
    • 3h01min59s
    • Cours sur le machine learning dans les centres de calculs (Important pour avoir le NVidia Certifiate Associate : AI in the data center).
    • Trouver des risques de fraude, Faire des simulation de risques, faire du traiding
    • Cybersecurité
    • Cuda-X AI
    • NVidia NVSwitch (communication entre les GPU sans goulot d'étranglement)
    • NVidia DPU with ARM Cores Accelerator (bluefield 2, prend en compte d'autre composante pour soulager le CPU)
      • Management de l'infrastructure
      • Stockage définit par software
      • Sécurité du software
      • Software defined networking
      • Acceleration engine
    • On peut utiliser le RDMA (Remote Direct Memory Access) ou l'InfiniBand pour accélérer les transferts de données (sans passer par l'OS)
    • Kubernetes peut être accéléré avec KubeFlow (on peut aussi le combiner à Slurm mais on n'est pas obligé)
    • Le service AI est basé sur Slurm
    Efficient Large-scale Image Retrieval with Application to Landmark Recognition [S42388] (27min11s)
    • Trouver l'ensemble des images similaires à une autre
    • Dask + RAPIDS
    Accelerating Backward Data Gradient by Increasing Tensor Core Utilization in CUTLASS [S41996](54min11s)
    • Optimisation des convolutions sur GPU en utilisant les Tensor Cores
    • On peut aussi faire du calcul sur int4 et int8
  • Bridging the Gap Between Basic Neural Language Models, Transformers, and Megatron [S41966] (51min30s)
    • Bridging-the-Gap-Between-Basic-Neural-Language-Models-Transformers-and-Megatron_1647384625565001Ww95.pdf
    • RNN : Recurent Neural Network
    • LSTM : Long Short Term Memory : pour replacer la récurence simple
    • L'idée est d'avoir des concepts prochent si ils sont effectivement similaires
    • Le modèle cherche quel sont les mots logiques qui devraient finir la phrase
    • Autoregression : le modèle ajoute le mot le plus probable qu'il à prédit et essaie de trouver le suivant et ainsi de suite
    • Transformer : Encoder-decoder + Multiheaded self attention
    • Self Attention : entre les couches (pas encodeur-décodeur)
    • Il y a un méchanisme de masque qui empèche de modèle de tricher
    • On est entre 100 et 500 milliards de paramètres : d'où le découpage sur plusieurs GPU
    • Le modèle fonctionne de mieux en mieux à mesure que l'on augmente le nombre de paramètres
    • On découpe le super batch de départ pour supprimer les bulles dans le pipeline GPU (comme on le fait pour le CPU)
    • Et Megatron le fait automatiquement
  • Connect with the Experts: Deploying AI Models to the Workstation [CWE41749] (47min34s)
    • Graph Optimisation, CUDNN, CudaRT et TRITON (qui optimise l'inférence)
    • On peut entrainer un modèle avec des FP32 du moment que les résultats sont compatibles FP16 (Feature Map explore de NVida)
    • Ça donne une bonne base pour vérifier que les valeurs ne partent pas dans tous les sens
    • Utiliser NSight Compute pour avoir si les tensor cores sont utilisés efficacement
    • Il y a moyen de controler un peu l'ordre des opérations dans cuDNN pour avoir une meilleure reproductibilité des résultats
    • Comme toujours, il faut lire la doc avant d'utiliser une option d'optimisation
    • Apparemment ils ont corrigé un bug, où le calcul repartait sur CPU quand on faisait un arrondi vers l'inférieur


Pas forcément bien, mais utile pour savoir à quelle sauce on va être mangé :