Artikkelin ovat kirjoittaneet HPC AI Innovation Labin Rakshith Vasudev ja John Lockman lokakuussa 2019.
NGC Container nvcr.io/nvidia/tensorflow:19.06- py3 |
Conda env Versions |
|
Framework |
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-ohjain |
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 |
Käyttöjärjestelmä |
Ubuntu 16.04.6 |
RHEL 7.4 |
GCC |
5.4.0 |
7.2.0 |
Taulukko 1
Kuten aiemmin on kerrottu, CheXNet on röntgenkuvauksen apuvälineenä käytettävä malli, joka voi tunnistaa DenseNet-arkkitehtuurin avulla jopa 14 patologista muutosta keuhkokuvasta. Useita vaihtoehtoja tutkittiin, jotta saatiin skaalatuksi sellaisen mallin koulutus, joka toimisi vähintään yhtä hyvin kuin alkuperäinen CheXNet-121. ResNet-50 vaikutti lupaavalta sekä skaalautuvuuden että koulutuksen tarkkuuden suhteen (positiivinen AUROC). Tekijät esittelivät skaalautuvuutta suoritinjärjestelmissä, mutta meitä kiinnostaa grafiikkasuoritinten rinnakkaisuus koulutuksen nopeuttamiseksi. Dell EMC:n PowerEdge C4140 takaa sekä tiheyden että suorituskyvyn neljällä Nvidia V100 -grafiikkasuorittimella SXM2-kokoonpanossa.
Bare Metal -järjestelmä |
Kubernetes-järjestelmä |
|
Ympäristö |
PowerEdge C4140 |
PowerEdge C4140 |
Suoritin |
2 x Intel® Xeon® Gold 6148, 2,4 GHz |
2 x Intel® Xeon® Gold 6148, 2,4 GHz |
Muisti |
384 Gt:n DDR4, 2666 MHz |
384 Gt:n DDR4, 2666 MHz |
Tallennus |
Lustre |
NFS |
Grafiikkasuoritin |
V100-SXM2 32 Gt |
V100-SXM2 32 Gt |
Käyttöjärjestelmä |
RHEL 7.4 x86_64 |
CentOS 7.6 |
Linux-ydin |
3.10.0-693.x86_64 |
3.10.0-957.21.3.el7.x86_64 |
Verkko |
Mellanox EDR InfiniBand |
Mellanox EDR InfiniBand (IP over IB) |
Kuvien käsittelymäärä (kuvia sekunnissa) CheXNetin koulutuksen aikana mitattiin 1, 2, 3, 4 ja 8 grafiikkasuorittimella kahdessa C4140-solmussa järjestelmissä, jotka kuvataan taulukossa 2. Suoritustiedot esimerkiksi mallin arkkitehtuurista ja syöttötiedoista ovat tässä artikkelissa. Kuvassa 1 näkyy mitatun suorituskyvyn vertailu Kubernetes-järjestelmän ja Bare Metal -järjestelmän välillä.
Kuva 1: CheXNetin koulutus K8s:ssa verrattuna Bare Metaliin
Bare Metal -järjestelmässä näkyy 8 prosentin nousu suorituskyvyssä, kun järjestelmä laajennetaan 8 grafiikkasuorittimeen. Tämä pieni ero suorituskyvyssä saattaa kuitenkin johtua järjestelmän arkkitehtuurin suunnittelueroista eikä pelkästään käytetyistä järjestelmistä (säilö vs Bare Metal). Bare Metal -järjestelmä pystyy hyödyntämään InfiniBand-yhteyden koko kaistanleveyttä ja viivettä eikä sen tarvitse kestää ohjelmallisesti määritetyistä verkoista johtuvaa yleisrasitetta. Lisäksi K8s-järjestelmä käyttää IP over InfiniBand -järjestelmää, joka saattaa kaventaa käytettävissä olevaa kaistanleveyttä.
Nämä lukemat voivat vaihdella käytettävien sovellusten määrittämien työkuormien ja viestintätapojen mukaan. Kuvan luokitusongelman yhteydessä grafiikkasuorittimien välinen viestintätahti on kiivas, ja siksi vaihtotahtikin on suuri. Käyttötavan valinta kuitenkin määräytyy työkuorman tarpeiden mukaan. Vaikka Kubernetes-pohjaisen järjestelmän suorituskyky on hiukan heikompi (tässä tapauksessa noin 8 %), siinä käyttäjien ja järjestelmänvalvojien ei tarvitse määrittää kirjastoja, määrityksiä, ympäristöjä ja muita riippuvuuksia. Tällä tavalla tutkijat voivat keskittyä tuottavuuteen ja ratkaisemaan keskeisiä liiketoiminnan ongelmia, kuten tiedonkäsittelyä ja mallinnusta.