Preparing the CERN Machine-Learned Particle-Flow Model for Exascale using Horovod: Experience and Performance Studies on the Flatiron and Jülich Supercomputers
Master thesis
Permanent lenke
https://hdl.handle.net/11250/3106747Utgivelsesdato
2022Metadata
Vis full innførselSamlinger
Beskrivelse
Full text not available
Sammendrag
Det er en økning i interessen for å vise viktigheten av HPC for kunstig intelligens og kunstig intelligens for HPC. HPC-sentre kan nå skryte av større og større datakraft, med flere sentre som når exascale. CERN undersøker bruken av kunstig intelligens og maskinlæring for å utvide eller erstatte noen av de tradisjonelle arbeidsflytene i LHC-eksperimentene. Fordeler med maskinlæring og kunstig intelligens er deres svært parallelliserbare natur på passende maskinvare, for eksempel GPUer.
MLPF, som alle andre storskala kunstlig intelligens modeller, bruker store dataressurser for å bli effektiv og nøyaktig. Modellene og deres datasett fortsetter å øke i størrelse, noe som øker behovet for flere dataressurser ytterligere. Arbeidet i denne oppgaven inkluderer å implementere en distribuert versjon av Graph Neural Network MLPF ved å bruke Horovod-rammeverket for å skalere applikasjonene til superdatamaskiner i exascale-klassen. Horovod er et veletablert rammeverk for distribuert arbeidsmengde innenfor kunstig intelligens-feltet.
Arbeidet vårt bruker Horovod-rammeverket til å distribuere arbeidet på tvers av opp til 292 superdatamaskinnoder hver med opptil 4 GPUer, dvs. at det kjører med opptil over 1100 GPUer på Jülich Juwels superdatamaskinen. Det fokuseres på eksperimenter på Nvidia Volta- og Ampere-arkitekturen, da disse var de beste tilgjengelige for oss under denne oppgaven. Under disse skaleringstestene observerer vi at ytelsen skalerer godt opp til 24 noder. Spesielt ser vi en speedup på opptil 20X på 24 noder, mens speedup reduseres til 50X når man går til 100 noder.
Oppgaven inkluderer også sammenligninger av skaleringsytelser mellom Volta- og Ampere GPU- arkitekturene. Resultatene våre viser også at forskjellen mellom å bruke Volta og Ampere GPUer avtar når man skalerer til mange noder, en tendens som merkes etter bare 8 noder blir en forskjell på bare 36 sekunder per epoke, mens timingen på en enkelt node er 485 sekunder og 200 sekunder , henholdsvis for en enkelt Volta og Ampere GPU. Noen forslag til fremtidig arbeid er også inkludert. There is an increase in interest of showing the importance of HPC for Artificial Intelligence and Artificial Intelligence for HPC. HPC centers are now boasting larger and larger compute power, with more centers reaching exascale. CERN is investigating the usage of Artificial Intelligence and Machine Learning to augment or replace some of the traditional workflows within the LHC experiments. Advantages of Machine Learning and Artificial Intelligence is their highly parallelizable nature on suitable hardware, such as GPUs.
MLPF, like every other large scale model, utilizes large compute resources in order to become efficient and accurate. Models and their datasets keep increasing in size, further expanding their need for more computer resources. The work in this thesis includes implementing a distributed version of the Graph Neural Network MLPF using the Horovod framework with the aim to scale the applications to exascale-class supercomputers. Horovod is a well-established framework for distributed workloads within the Artificial Intelligence field.
Our work uses the Horovod framework to distribute the work across up to 292 supercomputer nodes each with up to 4 GPUs, i.e. runs with up to over 1100 GPUs on the Jülich Juwels supercomputer. Our work focuses on experiments on the Nvidia Volta and Ampere architecture, as these were the best available to us during this thesis. During these scaling tests we observe that the performance scales well up to 24 nodes. In particular, we see a speedup of up to 20X and on 24 nodes, whereas the speedup reduces to 50X when going to 100 nodes.
The thesis also includes comparisons of scaling performances between the Volta and Ampere GPU architectures. Our results also show that the difference between using Volta and Ampere GPUs diminishes a one scales to many nodes, a tendency noticed after only 8 nodes a difference becomes only 36 seconds per epoch, whereas the timings on a single node is 485 seconds and 200 seconds, respectively for a single Volta and Ampere GPU. Some suggestions for future work are also included.