Artiklen er skrevet af Rakshith Vasudev & John Lockman - HPC AI Innovation Lab i oktober 2019
NGC-beholder nvcr.io/nvidia/tensorflow:19.06 py3 |
Brugerversioner |
|
Ramme |
TensorFlow 1.13.1 |
TensorFlow 1.12.0 |
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 |
2.4.7 |
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 |
Tabel 1
Som introduceret tidligere er CheXNet en AI-radiologassistentmodel, der bruger DenseNet til at identificere op til 14 patologier ud fra et givent patiade x-ray-billede. Flere metoder blev undersøgt for at udskalere undervisningen af en model, der kunne fungere lige så godt som eller bedre end den oprindelige CheXNet-121 med ResNet-50, som har et løfte om både skalerbarhed og øget indlæringsgengivelse (positiv AUROC). Forfatterene demonstrerede skalerbarheden på CPU-systemer, men vi er interesserede i at udnytte gpu'ens parallelitet til at fremskynde indlæringsprocessen. Dell EMC PowerEdge C4140 giver både tæthed og ydeevne med fire Nvidia V100 GPU'er i SXM2-konfigurationen.
Bare Metal-system |
Kubernetes-system |
|
Platform |
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 |
Hukommelse |
384 GB DDR4 ved 2666 MHz |
384 GB DDR4 ved 2666 MHz |
Storage |
Glans |
NFS |
GPU |
V100-SXM2 32 GB |
V100-SXM2 32 GB |
Operativsystem |
RHEL 7.4-x86_64 |
CentOS 7.6 |
Linux-kerne |
3.10.0-693.x86_64 |
3.10.0-957.21.3.el7.x86_64 |
Netværk |
Mellanox EDR InfiniBand |
Mellanox EDR InfiniBand (IP over IB) |
Billedoverførselshastigheden målt i billeder pr. sekund, da indlæringen af CheXNet blev målt ved brug af 1, 2, 3, 4 og 8 GPU'er på tværs af 2 C4140-noder på begge systemer beskrevet i Tabel 2. Specifikationerne for kørsel, herunder modelarkitekturen, inputdata osv., er beskrevet i denne artikel. Figur 1 viser den målte sammenligning af ydeevnen på Kubernetes-systemet og bare metal-systemet.
Figur 1: Kørsel af CheXNet-træning på K8s vs. Bare Metal
Det bare metal-system viser en stigning i ydeevnen på 8 %, når vi opskalerer til 8 GPU'er. Forskellene i systemarkitekturens design kan imidlertid forårsage denne lille forskel i ydeevnen ud over blot beholderen vs. metalargumentet. Det blotte metalsystem kan drage fordel af den fulde båndbredde og ventetid af den rå InfiniBand-forbindelse og behøver ikke at håndtere de omkostninger, der er forbundet med softwaredefinerede netværk som f.eks. en flannel. Det er også tilfældet, at K8s-systemet bruger IP over InfiniBand, hvilket kan reducere den tilgængelige båndbredde.
Disse tal kan variere afhængigt af arbejdsbelastningen og kommunikationsmønstrene defineret efter den type programmer, der køres. I tilfælde af et problem med billedklassificeringen er den hastighed, hvormed kommunikationen forekommer mellem GPU'er, høj, og derfor er der en høj ombytningshastighed. Om du skal bruge én tilgang frem for den anden, afhænger dog af arbejdsbelastningens behov. Selvom vores Kubernetes-baserede system har en lille ydeevne-bod, ~8 % i dette tilfælde, fritager det brugere og administratorer fra at konfigurere biblioteker, konfigurationer, miljøer og andre afhængigheder. Denne tilgang gør datalogerne mere produktive og fokuserer på at løse centrale forretningsproblemer som f.eks. data-wrangling og modelopbygning.