Artikkelen ble skrevet av Rakshith Vasudev &John Lockman – HPC AI Innovation Lab i oktober 2019
NGC-beholder nvcr.io/nvidia/tensorflow:19.06 – py3 |
Conda env-versjoner |
|
Rammeverk |
TensorFlow 1.13.1 |
TensorFlow 1.12.0 |
Horovod (Horovod) |
0.15.1 |
0.16.1 |
MPI |
OpenMPI 3.1.3 |
OpenMPI 4.0.0 |
CUDA |
10,2 |
10.1 |
CUDA-driver |
430.26 |
418.40.04 |
NCCL |
2.4,7.0 |
2.4,7.0 |
CUDNN |
7.6.0 |
7.6.0 |
Python |
3.5.2 |
3.6.8 |
Operativsystem |
Ubuntu 16.04.6 |
RHEL 7.4 |
GCC |
5.4.0 |
7.2.0 |
Tabell 1.
Som tidligere introdusert er CheXNet en assistentmodell for AI-radiolog som bruker DenseNet til å identifisere opptil 14 patologier fra et gitt x-ray-bilde av kabinettet. Flere tilnærminger ble utforsket for å skalere ut opplæringen av en modell som kunne yte like godt som eller bedre enn den opprinnelige CheXNet-121, med ResNet-50 som demonstrerer løfte om både skalerbarhet og økt opplæringsnøyaktighet (positiv AGUNC). Forfatterene demonstrerte skalerbarhet på CPU-systemer, men vi er interessert i å utnytte gpU-enes parallellitet for å akselerere opplæringsprosessen. Dell EMC PowerEdge C4140 gir både tetthet og ytelse med fire Nvidia V100 GPU-er i SXM2-konfigurasjonen.
System med bart metall |
Kubernetes-system |
|
Plattform |
PowerEdge C4140 |
PowerEdge C4140 |
CPU |
2 x Intel® Xeon® Gold 6148 ved 2,4 GHz |
2 x Intel® Xeon® Gold 6148 ved 2,4 GHz |
Minne |
384 GB DDR4 ved 2666 MHz |
384 GB DDR4 ved 2666 MHz |
Lagring |
Lustre (Glans) |
NFS |
GPU |
32 GB V100-SXM2 |
32 GB V100-SXM2 |
Operativsystem |
RHEL 7.4 x86_64 |
CentOS 7.6 |
Linux-kjerne |
3.10.0-693.x86_64 |
3.10.0-957.21.3.el7.x86_64 |
Nettverk |
Mellanox EDR InfiniBand |
Mellanox EDR InfiniBand (IP over IB) |
Bildegjennomstrømningen, målt i bilder per sekund, ved opplæring av CheXNet ble målt ved hjelp av 1, 2, 3, 4 og 8 GPU-er på tvers av 2 C4140-noder på begge systemene som er beskrevet i tabell 2. Spesifikasjonene for kjøringen, inkludert modellarkitektur, inndata osv. er beskrevet i denne artikkelen. Figur 1 viser sammenligning av målt ytelse på Kubernetes-systemet og det innebygde metallsystemet.
Figur 1: Kjøre CheXNet-opplæring på K8-er kontra Bare Metal
Det enkle metallsystemet viser en 8 % økning i ytelse når vi skalerer ut til 8GPU-er. Forskjellene i utformingen av systemarkitekturen kan imidlertid føre til denne svake ytelsesforskjellen, utover bare beholderen sammenlignet med argumentene for bart metall. Det innebygde metallsystemet kan dra nytte av den fulle båndbredden og ventetiden til den rå InfiniBand-tilkoblingen og trenger ikke å håndtere kostnadene som er opprettet med programvaredefinerte nettverk, for eksempel en flanel. Det er også tilfelle at K8s-systemet bruker IP over InfiniBand, noe som kan redusere tilgjengelig båndbredde.
Disse tallene kan variere avhengig av arbeidsbelastningen og kommunikasjonsmønstrene som defineres av typen applikasjoner som kjøres. Når det gjelder et problem med bildeklassifiseringen, er kommunikasjonshastigheten mellom GPU-ene høy og dermed høy kurs. Om du skal bruke den ene tilnærmingen over den andre, avhenger imidlertid av behovene til arbeidsbelastningen. Selv om det Kubernetes-baserte systemet vårt har en liten ytelsessantall, ~8 % i dette tilfellet, vil det hindre brukere og administratorer i å konfigurere biblioteker, konfigurasjoner, miljøer og andre avhengigheter. Denne tilnærmingen gir dataforskerne mulighet til å være mer produktive og fokusere på å løse kjerneproblemer som datasrangling og modellbygging.