Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Çıplak Metal ve Kubernetes: TensorFlow ile Dağıtılmış Eğitim

Summary: TensorFlow, Kubernetes, GPU, Dağıtılmış eğitim

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

Makale, Ekim 2019'da Rakshith Vasudev ve John Lockman tarafından HPC and AI Innovation Lab'de yazılmıştır

Cause

-

Resolution

İçindekiler

  1. Giriş
    1. Çıplak Metal
    2. Kubernetes
  2. Yazılım Sürümleri
  3. Gerçek Dünyada Kullanım Örneği: CheXNet
  4. Donanım Özellikleri
  5. Performans
  6. Özet
     

Giriş

Bu makalede, modern veri merkezlerinde kullanılan iki yaklaşımı kullanarak Dell EMC C4140 sunucularında Nvidia V100 SXM2 GPU'larda CheXNet eğitimi sırasında ölçeklendirme performansını değerlendireceğiz. Anaconda tarafından oluşturulmuş geleneksel HPC "Çıplak Metal" ve şirket içindeki Kubernetes ortamında çalışan Nvidia GPU Cloud (NGC) kapsayıcılarına sahip kapsayıcı sistem.

Çıplak Metal
Çıplak metal sistemi, yazılım yığınlarının doğrudan yerel sabit diske veya paylaşılan bir ağ bağlantısına yüklendiği geleneksel bir HPC kümesidir. Yazılım ortamlarının yönetimi, bir sistem yöneticisi tarafından gerçekleştirilir. Kullanıcılar, paylaşılan / ev dosya sisteminde yazılım oluşturmayla sınırlandırılmıştır. Kullanıcı kodu, Slurm iş yükü yöneticisi tarafından toplu olarak planlanır.

Kubernetes
Kubernetes (K8s) sistemimiz, gerekli tüm yazılım ön koşullarını, ortam yapılandırmalarını vb. sağlamak için Nvidia'nın NGC kapsayıcılarını kullanır. Sistem yöneticisi yalnızca temel işletim sistemini, sürücüleri ve k8s'yi yükler. Bu docker tabanlı kapsayıcılar, çalıştırma sırasında NGC'den indirilebilir veya yerel bir kayıt defterinde saklanabilir. K8s; iş yükü yönetimini, kaynakların kullanılabilirliğini, dağıtılmış işleri başlatmayı ve talep üzerine ölçeklendirmeyi yönetir.
 

Yazılım Sürümleri

 

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
 


Gerçek Dünyada Kullanım Örneği: CheXNet

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.
 


Donanım Özellikleri

 

Çı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

Mellanox EDR InfiniBand

Mellanox EDR InfiniBand

(IB üzerinden IP)

Tablo 2
 

Performans

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.

 SLN318899_en_US__1image(12054)
Şekil 1: K8s ve Çıplak Metal sistemi üzerinde CheXNet eğitimini çalıştırma
 


Özet

Çı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.


 


 

 

Article Properties


Affected Product

High Performance Computing Solution Resources, Poweredge C4140

Last Published Date

23 Sep 2021

Version

5

Article Type

Solution