Článek napsali Rakshith Vasudev a John Lockman – HPC AI Innovation Lab v říjnu 2019
Kontejner NGC nvcr.io/nvidia/tensorflow:19.06- py3 |
Verze prostředí Conda |
|
Rámec |
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 |
Ovladač CUDA |
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 |
Operační systém |
Ubuntu 16.04.6 |
RHEL 7.4 |
GCC |
5.4.0 |
7.2.0 |
Tabulka 1.
Jak již bylo uvedeno dříve, CheXNet je model AI asistenta rentgenu, který využívá síť DenseNet k identifikaci až 14 patologií z daného rentgenového snímku hrudníku. Prozkoumali jsme několik přístupů, jak škálovat učení modelu, aby mohl fungovat stejně, nebo dokonce lépe než původní model CheXNet-121. Síť ResNet-50 přitom slibuje zlepšení na poli škálovatelnosti a přesnosti školení (pozitivní AUROC). Autoři demonstrovali škálovatelnost v systémech s procesory, nicméně my chceme využít paralelismus grafických karet k urychlení procesu učení. Server Dell EMC PowerEdge C4140 poskytuje hustotu a výkon díky čtyřem grafickým kartám Nvidia V100 v konfiguraci SXM2.
Systém Bare Metal |
Systém Kubernetes |
|
Platforma |
PowerEdge C4140 |
PowerEdge C4140 |
CPU |
2x Intel® Xeon® Gold 6148 s frekvencí 2,4 GHz |
2x Intel® Xeon® Gold 6148 s frekvencí 2,4 GHz |
Paměť |
384 GB DDR4 s rychlostí 2 666 MHz |
384 GB DDR4 s rychlostí 2 666 MHz |
Úložiště |
Lustre |
NFS |
GPU |
V100-SXM2 32 GB |
V100-SXM2 32 GB |
Operační systém |
RHEL 7.4 x86_64 |
CentOS 7.6 |
Jádro Linux |
3.10.0-693.x86_64 |
3.10.0-957.21.3.el7.x86_64 |
Síť |
Mellanox EDR InfiniBand |
Mellanox EDR InfiniBand (IP přes IB) |
Propustnost obrazu měřená v obrázcích za sekundu, když bylo učení CheXNet měřeno pomocí 1, 2, 3, 4 a 8 grafických karet napříč 2 uzly C4140 na obou systémech popsaných v tabulce 2. Specifikace série včetně architektury modelu, vstupních dat, atd. jsou uvedeny v tomto článku. Obrázek 1 znázorňuje porovnání změřeného výkonu systému Kubernetes a systému Bare Metal.
Obrázek 1: Spuštění učení CheXNet na systému K8s vs. Bare Metal
Systém Bare Metal vykazuje 8% zvýšení výkonu při škálování na 8 GPU. Rozdíly v provedení architektury systému by však mohly způsobit tento mírný rozdíl výkonu, a to nejen v porovnání kontejneru a systému Bare Metal. Systém Bare Metal může využít plnou šířku pásma a latenci čistého připojení InfiniBand a nemusí se vypořádat s režií vytvořenou softwarově definovanými sítěmi, jako je flannel. Systém K8s také používá IP přes InfiniBand, což může snížit dostupnou šířku pásma.
Tato čísla se mohou lišit v závislosti na pracovním zatížení a komunikačních vzorech definovaných druhem spuštěných aplikací. V případě problému s klasifikací obrázků je míra komunikace mezi GPU vysoká, a proto dochází k vysoké míře výměn. Zda však chcete použít jeden přístup oproti druhému, závisí na potřebách pracovního zatížení. Přestože má náš systém založený na Kubernetes malou penalizaci výkonu, v tomto případě to představuje přibližně 8 %, zabraňuje uživatelům a správcům nastavovat knihovny, konfigurace, prostředí a další závislosti. S tímto přístupem mohou být datoví vědci produktivnější a soustředit se na řešení základních obchodních problémů, jako je zpracování dat a budování modelů.