Makale, Ekim 2019'da Rakshith Vasudev ve John Lockman tarafından HPC and AI Innovation Lab'de yazılmıştır
NGC Kapsayıcısı nvcr.io/nvidia/tensorflow:19.06- py3 |
Conda ortam Sürümleri |
|
Çerçeve |
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 Sürücüsü |
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 |
İşletim Sistemi |
Ubuntu 16.04.6 |
RHEL 7.4 |
GCC |
5.4.0 |
7.2.0 |
Tablo 1
Daha önce tanıtıldığı üzere CheXNet, bir göğüs röntgeni görüntüsünde 14'e kadar patoloji tanımlamak için DenseNet'ten faydalanan yapay zekalı bir radyolog asistan modelidir. Orijinal CheXNet-121 kadar veya ondan daha iyi performans gösterebilecek bir modelin eğitimini ölçeklendirmek için çeşitli yaklaşımlar araştırılmış ve ResNet-50 hem ölçeklenebilirlik hem de artırılmış eğitim doğruluğu (pozitif AUROC) konusunda gelecek vadetmiştir. Yazarlar, CPU sistemlerinde ölçeklenebilirlikler gösterdiler ancak biz eğitim sürecini hızlandırmak için GPU'ların paralelliğinden yararlanmak istiyoruz. Dell EMC PowerEdge C4140, SXM2 yapılandırmasında dört adet Nvidia V100 GPU ile hem yoğunluk hem de performans sağlar.
Çıplak Metal Sistemi |
Kubernetes Sistemi |
|
Platform |
PowerEdge C4140 |
PowerEdge C4140 |
CPU |
2,4 GHz'de 2 x Intel® Xeon® Gold 6148 |
2,4 GHz'de 2 x Intel® Xeon® Gold 6148 |
Bellek |
2666 MHz'de 384 GB DDR4 |
2666 MHz'de 384 GB DDR4 |
Depolama |
Lustre |
NFS |
GPU |
V100-SXM2 32 GB |
V100-SXM2 32 GB |
İşletim Sistemi |
RHEL 7.4 x86_64 |
CentOS 7.6 |
Linux Çekirdeği |
3.10.0-693.x86_64 |
3.10.0-957.21.3.el7.x86_64 |
Ağ |
Mellanox EDR InfiniBand |
Mellanox EDR InfiniBand (IB üzerinden IP) |
Eğitim CheXNet'i, Tablo 2'de açıklandığı şekilde 2 C4140 düğümü genelinde 1, 2, 3, 4 ve 8 GPU kullanarak ölçüldüğünde saniye başına görüntü cinsinden ortaya çıkan görüntü sayısı. Model mimarisi, giriş verileri vb. dahil olmak üzere çalıştırmanın özellikleri bu makalede ayrıntılı olarak açıklanmıştır. Şekil 1, Kubernetes sistemi ve çıplak metal sistemi üzerinde ölçülen performans karşılaştırmasını gösterir.
Şekil 1: K8s ve Çıplak Metal sistemi üzerinde CheXNet eğitimini çalıştırma
Çıplak metal sistemi, 8 GPU seviyelerine ölçeklendirdiğimizde %8'lik bir performans artışı gösterir. Ancak sistem mimarisinin tasarımındaki farklılıklar, yalnızca kapsayıcının ve çıplak metal bağımsız değişkenin ötesinde bu küçük performans farkına neden olabilir. Çıplak metal sistemi, ham InfiniBand bağlantısının tam bant genişliğinden ve gecikme süresinden yararlanabilir ve flanel gibi Yazılım Tanımlı Ağlarla oluşturulan ek yüklerle uğraşmak zorunda değildir. K8s sisteminin, mevcut bant genişliğini azaltabilen InfiniBand üzerinden IP kullanmasının sebebi de budur.
Bu sayılar, iş yüküne ve çalıştırılan uygulamaların türüne göre tanımlanan iletişim modellerine bağlı olarak değişebilir. Görüntü sınıflandırma sorunu yaşandığında GPU'lar arasında iletişimin oluşma hızı yüksektir ve dolayısıyla yüksek bir değişim oranı vardır. Ancak bir yaklaşımın diğerine tercih edilip edilmeyeceği iş yükünün ihtiyaçlarına bağlıdır. Kubernetes tabanlı sistemimizin gibi küçük bir performans düşüklüğü (bu durumda ~%8) olmasına rağmen, kullanıcıları ve yöneticileri; kitaplıkları, yapılandırmaları, ortamları ve diğer bağımlılıkları kurmaktan kurtarır. Bu yaklaşım, veri bilimcilerinin daha üretken olmalarını, ayrıca veri tartışması ve model oluşturma gibi temel iş sorunlarını çözmeye odaklanmalarını sağlar.