Artikeln skrevs av Rakshith Vasudev &John Lockman – HPC AI Innovation Lab i oktober 2019
NGC-behållar-nvcr.io/nvidia/tensorflow:19.06–py3 |
Conda env-versioner |
|
Ram |
TensorFlow 1.13.1 |
TensorFlow 1.12.0 |
Horovod –1000: |
0.15.1 |
0.16.1 |
MPI |
OpenMPI 3.1.3 |
OpenMPI 4.0.0 |
CUDA |
10,2 |
10.1 |
CUDA-drivrutin |
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 |
Tabell 1
Som tidigare introducerades är CheXNet en AI-modell för radiologiassistenter som använder DenseNet för att identifiera upp till 14 pathologier från en viss x-ray-bild. Flera metoder utforskades för att skala ut utbildningen av en modell som skulle kunna fungera lika väl som eller bättre än den ursprungliga CheXNet-121 med ResNet-50 som uppvisar löftet om både skalbarhet och ökad noggrannhet i utbildningen (positiv AUROC). Skaparna visade skalbarhet på CPU-system, men vi är intresserade av att utnyttja parallellismen hos grafikprocessorer för att snabba upp inlärningsprocessen. Dell EMC PowerEdge C4140 ger både densitet och prestanda med fyra Nvidia V100-grafikprocessorer i SXM2-konfigurationen.
Bare Metal-system |
Kubernetes-system |
|
Plattform |
PowerEdge C4140 |
PowerEdge C4140 |
Processor |
2 x Intel® Xeon® Gold 6148 @2,4 GHz |
2 x Intel® Xeon® Gold 6148 @2,4 GHz |
Minne |
384 GB DDR4 vid 2 666 MHz |
384 GB DDR4 vid 2 666 MHz |
Lagring |
Lustre |
NFS |
GPU |
V100-SXM2 32 GB |
V100-SXM2 32 GB |
Operativsystem |
RHEL 7.4 x86_64 |
CentOS 7,6 |
Linux-kärna |
3.10.0–693.x86_64 |
3.10.0–957.21.3.el7.x86_64 |
Nätverk |
Mellanox EDR InfiniBand |
Mellanox EDR InfiniBand (IP över IB) |
Genomströmningen för bilden, mätt i bilder per sekund, när training CheXNet mättes med hjälp av 1, 2, 3, 4 och 8 GPU:er över 2 C4140-noder i båda systemen som beskrivs i tabell 2. Specifikationerna för körningen inklusive modellarkitektur, indata osv. beskrivs i den här artikeln. Bild 1 visar en jämförelse av uppmätta prestanda för Kubernetes-systemet och det operativsystem utan operativsystem.
Bild 1: Köra CheXNet-utbildning på K8s jämfört med Bare Metal
Bare Metal-systemet uppvisar en 8 % ökning av prestanda när vi skala ut till 8GPUs. Skillnaderna i systemarkitekturens utformning kan dock orsaka den här lilla prestandaskillnaden, utöver bara argumentet "behållare" eller "bare metal". Bare Metal-systemet kan dra nytta av den fulla bandbredden och latensen hos den råa InfiniBand-anslutningen och behöver inte hantera den overhead som skapas med programvarudefinierade nätverk, t.ex. en flannel. Det är också så att K8s-systemet använder IP via InfiniBand, vilket kan minska tillgänglig bandbredd.
Dessa siffror kan variera beroende på arbetsbelastning och kommunikationsmönster som definieras av typen av program som körs. Om det uppstår ett problem med bildklassificeringen är den hastighet med vilken kommunikationen mellan grafikprocessorer sker hög och därför är hastigheten hög. Men om en metod ska användas framför den andra beror på arbetsbelastningens behov. Även om våra Kubernetes-baserade system har en liten prestandaavgift på ~8 % i det här fallet hjälper det användare och administratörer att konfigurera bibliotek, konfigurationer, miljöer och andra beroenden. Detta tillvägagångssätt gör det möjligt för dataexperter att bli mer produktiva och fokusera på att lösa viktiga affärsproblem som data wr alias och modellbygge.