Lightning Talk: In-Transit Machine Learning Using PyTorch on Frontier Exascale System- Vineeth Gutta

PyTorch · Intermediate ·📐 ML Fundamentals ·1y ago

Key Takeaways

The video demonstrates the use of PyTorch on the Frontier Exascale System for in-transit machine learning, leveraging tools like AMD Mi 250X GPUs and OpenPMD API to process data at extreme rates through streaming, and applying unsupervised techniques to learn correlations between emitted radiation and particle dynamics in particle in cell simulations.

Full Transcript

hey everyone I'm venth I'm a PhD student at University of Delaware and I'm advised by Dr Sita chandan and I'm part of the computational research and programming lab there so today I'll be talking about a workflow um called intransit machine learning using pytorch on Frontier exoscale system um this is a use case of P torch for a scientific um application running at scale so this was a collaborative effort across um the us and Europe so this includes University of Delaware um oish National Lab and um hcdr which is a National Lab in Germany so to give a background about the science case um pick on GPU simulation is a particle in cell simulations um physics simulation um that tracks particles within a grid representing the space um I'm a computer scientist and the benefits of working with in interp project is that we get cool graphics so I'll show you cool graphics um so here you see a laser pulsing through a plasma Channel and the pulse displaces electrons in the channel creating a wake thus creating positive and negative charged regions which is accelerating the electrons to achieve higher and higher energies thus creating a high energy particle accelerator and the which is the goal of this project so we want fast and predictive simulations for the Next Generation laser plasma accelerators um so I want you to imagine that you're looking at the Golden Gate and there's a ship going underneath it um forming waves due to the water it displaces now imagine Surfers jumping into the wave and riding the wave they get accelerated don't they um in this analogy the San Francisco Bay is the plasma channel the ship is a laser pulse and the waves are the radiation and the Surfers are the individual particles um so what's the point of these simulations these simulations have various um applications like chemotherapy where concentrated energy needs to be maximized while reducing its effect on the surrounding regions and particles um so the challenge with all of these simulations is that they require solving complex non linear equations for trillions of particles creating terabytes of data and the use of machine learning allows us to learn complex Dynamics from this data so going Beyond just our application um the use of machine learning to learn from large volumes of sim simulation data is not a unique problem to pick on GPU um a couple more examples are that digital twins such as destination um Earth from the European commission uses climate and weather models such as um e esms and um ecmwf ifs both of which provide um generate large amounts of data and there's also the cerns large hron collider which is a particle accelerator that we're all familiar with so um where do we run all of this right um so the we run this on the frontier ex scale system this is currently the fastest supercomputer um it's located at the Oakridge National Lab and it contains approximately 37,000 total AMD Mi 250X gpus and pick on GPU was one of the eight research projects that was selected um in 2019 across the country um to to test um the system so to give a overview about the architecture of a single node uh on Frontier um so this has again the amdm 250X GPU so it technically has four gpus but what you see on the right is um it's logically presented as eight um that's because um the software sees amds Mi 250X gpus as AG a individual gpus um because of the way the architecture um shows up so each GPU contains two graphic compute dies so high level libraries like pytorch see two gpus um and pick on gpus pytorch code was single GPU for NVIDIA gpus uh my role was to test and validate the pytorch GDP scaling on the AMD Mi 250X gpus on Frontier when we first started it wasn't clear that to what extent Pi torch would scale um especially on AMD gpus um so the challenge is that as GPU acceleration of plasma simulation codes such as pick on GPU um Advanced and led to a speed up of the data generated um the volume of the data stream produced by the simulation um made offline and analysis of such simulations impossible due to file system and IO constraints um this is because the GP acceleration um led to the increase in data generated so there is a mismatch between throughput of the GPU memory and the file system throughput so the solution is to use intransit training of complex ml models which require processing of data produced at Source by the simulation um at extreme data rates through streaming um the data is streamed from the simulation using um two Pi torch using a custom implementation of open PMD which stands for particle mesh data um standard and the combination of open PMD API and audios 2 allow direct in-memory transport between one parallel producer code to an arbitrary number of parallel consumer codes which in our case was the pi torch code um and the data streams are established only between the processes that share data reducing um communication bottlenecks so why do we need streaming um this is mainly because of system constraints we face um so 20 to 30 terabits per second of parallel throughput is produced by the simulation ver versus the file system which only has about 10 terabits per second of bandwidth and just to give an example when scaling to just 25% % of Frontier system um so approximately 37,000 divid 4 is um about 9,000 gpus um one petabyte of data is produced for every time step and in our simulation there's approximately 1,000 time steps where each one lasts from 0.1 seconds to a second so we often see 1 to 10 pedabytes per second of particle data um requiring on the order of 10 exabytes of total dis space so the upshot here is that the storage can basically be exhausted in as little as 100 seconds so this is why the intransit ml um is necessary and to give you an overview of the idea of what's going on here we use in transit ml to bypass disk storage which is a bottleneck for applications like pick on GPU the simulation produces so much data that we must still do reduction before um the ml model can reconstruct and learn um correlations reconstructed data and learn correlations in our case we do in node streaming where the simulation um which is the producer and Pi torch which is the distributed consumer run on the same node but on different gpus so that inmemory transport of the data can be achieved and in this case the model learns correlations using unsupervised techniques um between the emitted radiation and the particle Dynamics so this is an overview of the um ml architecture um it uses an invertible neural network and it predicts particle Dynamics from radiation intensities so this is a general overview of it and um the goal is to again find plasma instabilities connecting radiation with the source of the plasma again this has various use cases in Material Science and cancer applications and due to the nature of the simulation and streaming um the model uses continuous learning but such continuous learning techniques run into challenges due to the rate of data that is produced and to give you an idea of the what the scale that was achieved um I want to preface this by saying that not all model architectures are as scalable as llms um llms are a recent phenomenon and there are still many ml models that do not scale as well and we ran into similar issues with our um model where we scaled it up to 100 nodes or 400 mi2 AMD Mii 250X gpus and we believe the model architecture was a primary constraint for scaling further because the communication bottleneck at that point um overwhelmed um any benefit we would gain from scaling further and this but the simulation part the pick on GPU the um the plasma physics part of it um Can scale up to 8,000 nodes on the system so we know that there's further room to um improve and the the chart you see on the right is showing efficiency as a scaling go as we scale on the ml model um the efficiency goes down primarily due to communication overhead um as pytorch GDP does a collective all reduce to average the gradients across each instance of the model that's distributed and efficiency here is defined as the lowest possible work workload benchmarked as 100% effici so we take uh what was the smallest run which was eight nodes and um use that as The Benchmark so the goal of this entire ml workflow was to extract physics insights from such application the model learns correlations from the radi uh from the radiation predictions and also correctly identifies the the instability regions so to evaluate the performance of the train model the radiation Spectra is inverted back to the original momentum um distribution but this remains an unsolved physics problem so um what we see is that it seems like the model learned a fundamental aspect of special relativity the which is the Doppler effect since it reproduces the correct cut off frequency which you see in the gray on in chart a on top um when predicting radiation Spectra but the momentum prediction was less accurate um despite that the model clearly identified the instability regions um so what was the point of again what was the point of this entire uh workflow um it's to prove that it's possible to learn correlations from physical from physics simulations in real time and this has an added benefit and the well the main benefit here is that in even in hetran systems um they can benefit from codes like this um by circumventing um disc capacity and bandwidth constraints that are posed um again this was a large team effort um so I want to thank everyone and I want to thank the pi torch community and AMD for all the support to make this um project happen um and I'll take any questions if you have any questions no time for questions thank you yeah

Original Description

Lightning Talk: In-Transit Machine Learning Using PyTorch on Frontier Exascale System - Vineeth Gutta, University of Delaware Traditional ML workflows use offline training where the data is stored on disk and is subsequently loaded into accelerator (CPU,GPU, etc) memory during training or inference. We recently devised a novel and scalable in-transit ML workflow for a plasma-physics application (chosen as 1 out of 8 compelling codes in the country) for the world’s fastest supercomputer, Frontier) with an aim to build a high-energy laser particle accelerator. Data generated in distributed HPC systems like Frontier create volumes of data that is infeasible to store on HPC file systems. A mismatch between modern memory hierarchies occurs due to high volume and rate of data generation. Our novel ML workflow utilizes continuous learning where the data is consumed in batches as the simulation produces the data and then discards after each batch is trained. This in-transit workflow integrates particle-in-cell simulations with distributed ML training on PyTorch using DDP allows for an application coupling enabling the model to learn correlations between emitted radiation and particle dynamics within simulation in an unsupervised method. This workflow is demonstrated at scale on Frontier using 400 AMD MI250X GPUs
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from PyTorch · PyTorch · 0 of 60

← Previous Next →
1 What is PyTorch?
What is PyTorch?
PyTorch
2 PyTorch Tutorial: A Quick Preview
PyTorch Tutorial: A Quick Preview
PyTorch
3 PyTorch Summer Hackathon 2019
PyTorch Summer Hackathon 2019
PyTorch
4 Tips and Tricks on Hacking with PyTorch: A Quick Tutorial by Brad Heintz
Tips and Tricks on Hacking with PyTorch: A Quick Tutorial by Brad Heintz
PyTorch
5 PyTorch 1.2 and PyTorch Hub: A Quick Introduction by Soumith Chintala and Ailing Zhang
PyTorch 1.2 and PyTorch Hub: A Quick Introduction by Soumith Chintala and Ailing Zhang
PyTorch
6 Torchtext 0.4 with Supervised Learning Datasets: A Quick Introduction by George Zhang
Torchtext 0.4 with Supervised Learning Datasets: A Quick Introduction by George Zhang
PyTorch
7 Torchaudio 0.3 with Kaldi Compatibility, New Transforms: A Quick Introduction by Jason Lian
Torchaudio 0.3 with Kaldi Compatibility, New Transforms: A Quick Introduction by Jason Lian
PyTorch
8 Torchvision 0.4 with Support for Video: A Quick Introduction by Francisco Massa
Torchvision 0.4 with Support for Video: A Quick Introduction by Francisco Massa
PyTorch
9 Introduction to Machine Learning for Developers at F8 2019
Introduction to Machine Learning for Developers at F8 2019
PyTorch
10 Powered by PyTorch at F8 2019
Powered by PyTorch at F8 2019
PyTorch
11 Developing and Scaling AI Experiences at Facebook with PyTorch at F8 2019
Developing and Scaling AI Experiences at Facebook with PyTorch at F8 2019
PyTorch
12 New Approaches to Image and Video Reconstruction Using Deep Learning at Facebook at F8 2019
New Approaches to Image and Video Reconstruction Using Deep Learning at Facebook at F8 2019
PyTorch
13 PyTorch Developer Conference 2018: Recap
PyTorch Developer Conference 2018: Recap
PyTorch
14 PyTorch Developer Conference 2018: Keynote & Deep Dive
PyTorch Developer Conference 2018: Keynote & Deep Dive
PyTorch
15 PyTorch Developer Conference 2018: Production & Research Sessions
PyTorch Developer Conference 2018: Production & Research Sessions
PyTorch
16 PyTorch Developer Conference 2018: Cloud & Academia Sessions
PyTorch Developer Conference 2018: Cloud & Academia Sessions
PyTorch
17 PyTorch Developer Conference 2018: Enterprise, Education, & Future of AI Panel
PyTorch Developer Conference 2018: Enterprise, Education, & Future of AI Panel
PyTorch
18 PyTorch Developer Conference 2019 | Full Livestream
PyTorch Developer Conference 2019 | Full Livestream
PyTorch
19 PyTorch Developer Conference 2019: Recap
PyTorch Developer Conference 2019: Recap
PyTorch
20 PyTorch Developer Conference Keynote - Mike Schroepfer
PyTorch Developer Conference Keynote - Mike Schroepfer
PyTorch
21 What’s new in PyTorch 1.3 - Lin Qiao
What’s new in PyTorch 1.3 - Lin Qiao
PyTorch
22 PyTorch Front-End Features: Named Tensors and Type Promotion - Gregory Chanan
PyTorch Front-End Features: Named Tensors and Type Promotion - Gregory Chanan
PyTorch
23 Research to Production: PyTorch JIT/TorchScript Updates - Michael Suo
Research to Production: PyTorch JIT/TorchScript Updates - Michael Suo
PyTorch
24 Quantization - Dmytro Dzhulgakov
Quantization - Dmytro Dzhulgakov
PyTorch
25 PyTorch ONNX Export Support - Lara Haidar, Microsoft
PyTorch ONNX Export Support - Lara Haidar, Microsoft
PyTorch
26 Apex -  Michael Carilli, NVIDIA
Apex - Michael Carilli, NVIDIA
PyTorch
27 Dataloader Design for PyTorch - Tongzhou Wang, MIT
Dataloader Design for PyTorch - Tongzhou Wang, MIT
PyTorch
28 Linear Algebra in PyTorch - Vishwak Srinivasan, CMU
Linear Algebra in PyTorch - Vishwak Srinivasan, CMU
PyTorch
29 PyTorch Mobile - David Reiss
PyTorch Mobile - David Reiss
PyTorch
30 Model Interpretability with Captum - Narine Kokhilkyan
Model Interpretability with Captum - Narine Kokhilkyan
PyTorch
31 Detectron2 - Next Gen Object Detection Library - Yuxin Wu
Detectron2 - Next Gen Object Detection Library - Yuxin Wu
PyTorch
32 Speech Extensions to Fairseq - Dmytro Okhonko
Speech Extensions to Fairseq - Dmytro Okhonko
PyTorch
33 PyTorch on Google Cloud TPUs - Google, Salesforce, Facebook
PyTorch on Google Cloud TPUs - Google, Salesforce, Facebook
PyTorch
34 PyTorch Summer Hackathon Winners - Joe Spisak, Sebastien Arnold, Tristan Deleu
PyTorch Summer Hackathon Winners - Joe Spisak, Sebastien Arnold, Tristan Deleu
PyTorch
35 PyTorch in Robotics - Yisong Yue, Caltech
PyTorch in Robotics - Yisong Yue, Caltech
PyTorch
36 StanfordNLP - Yuhao Zhang, Stanford
StanfordNLP - Yuhao Zhang, Stanford
PyTorch
37 Sotabench for Reproducible Research - Robert Stojnic, Papers with Code
Sotabench for Reproducible Research - Robert Stojnic, Papers with Code
PyTorch
38 Collaborative Natural Language Inference - Sasha Rush, Cornell
Collaborative Natural Language Inference - Sasha Rush, Cornell
PyTorch
39 Privacy Preserving AI - Andrew Trask, OpenMined
Privacy Preserving AI - Andrew Trask, OpenMined
PyTorch
40 CrypTen - Laurens van der Maaten
CrypTen - Laurens van der Maaten
PyTorch
41 PyTorch at Uber - Sidney Zhang, Uber
PyTorch at Uber - Sidney Zhang, Uber
PyTorch
42 PyTorch at Tesla - Andrej Karpathy, Tesla
PyTorch at Tesla - Andrej Karpathy, Tesla
PyTorch
43 PyTorch at Microsoft - Saurabh Tiwary, Microsoft
PyTorch at Microsoft - Saurabh Tiwary, Microsoft
PyTorch
44 PyTorch at Dolby Labs - Vivek Kumar, Dolby Labs
PyTorch at Dolby Labs - Vivek Kumar, Dolby Labs
PyTorch
45 PyTorch Developer Conference 2019 - Panel Discussion
PyTorch Developer Conference 2019 - Panel Discussion
PyTorch
46 Using deep learning and PyTorch to power next gen aircraft at Caltech
Using deep learning and PyTorch to power next gen aircraft at Caltech
PyTorch
47 Named Tensors, Model Quantization, and the Latest PyTorch Features - Part 1
Named Tensors, Model Quantization, and the Latest PyTorch Features - Part 1
PyTorch
48 TorchScript and PyTorch JIT | Deep Dive
TorchScript and PyTorch JIT | Deep Dive
PyTorch
49 Announcing the PyTorch Global Summer Hackathon 2020
Announcing the PyTorch Global Summer Hackathon 2020
PyTorch
50 Opening Up the Black Box: Model Understanding with Captum and PyTorch
Opening Up the Black Box: Model Understanding with Captum and PyTorch
PyTorch
51 PyTorch Mobile Runtime for Android
PyTorch Mobile Runtime for Android
PyTorch
52 Torchvision in 5 minutes
Torchvision in 5 minutes
PyTorch
53 3D Deep Learning with PyTorch3D
3D Deep Learning with PyTorch3D
PyTorch
54 What is Torchtext?
What is Torchtext?
PyTorch
55 TorchAudio: A Quick Intro
TorchAudio: A Quick Intro
PyTorch
56 PyTorch Mobile Runtime for iOS
PyTorch Mobile Runtime for iOS
PyTorch
57 PySlowFast: Deep learning with Video
PySlowFast: Deep learning with Video
PyTorch
58 PyTorch Pruning | How it's Made by Michela Paganini
PyTorch Pruning | How it's Made by Michela Paganini
PyTorch
59 Measuring Fairness in Machine Learning Systems
Measuring Fairness in Machine Learning Systems
PyTorch
60 PyTorch for Hackathons
PyTorch for Hackathons
PyTorch

This video teaches how to leverage PyTorch and the Frontier Exascale System for in-transit machine learning, enabling fast and predictive simulations for scientific applications like particle in cell simulations. The speaker demonstrates how to apply unsupervised learning techniques to discover correlations in complex data and identify instability regions in particle dynamics.

Key Takeaways
  1. Set up a PyTorch environment on the Frontier Exascale System
  2. Configure AMD Mi 250X GPUs for in-transit processing
  3. Implement OpenPMD API for direct in-memory transport between parallel producer and consumer codes
  4. Apply unsupervised learning techniques to discover correlations in complex data
  5. Identify instability regions in particle dynamics using machine learning models
  6. Scale up the model to 100 nodes or 400 MI2 AMD MI250X GPUs
  7. Optimize pipeline performance for extreme data rates
💡 In-transit machine learning using PyTorch on the Frontier Exascale System can achieve high parallel throughput and process large amounts of data, enabling fast and predictive simulations for scientific applications.

Related Reads

📰
Introduction Data Science and Machine Learning
Learn the basics of data science and machine learning to stay ahead in the emerging field
Medium · Data Science
📰
AgriScore: An Explainable AI Credit Scoring System for Smallholder Farmers
Learn how AgriScore uses explainable AI for credit scoring to help smallholder farmers access loans, and why this matters for financial inclusion
Medium · Machine Learning
📰
AgriScore: An Explainable AI Credit Scoring System for Smallholder Farmers
Learn how AgriScore uses explainable AI for credit scoring of smallholder farmers, and how to build a similar system using machine learning and Streamlit
Medium · Data Science
📰
The Sophistication Trap: Why the Smarter AI Technique Keeps Losing
Smarter AI techniques don't always guarantee better results, and understanding the sophistication trap can help you optimize your approach
Medium · Machine Learning
Up next
How to start learning AI | Complete AI Learning Path | Roadmap For Beginners (With No Background)
Career Talk
Watch →