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.

金屬裸面與 Kubernetes:TensorFlow 的分散式訓練

Summary: TensorFlow, Kubernetes, GPU, 分散式訓練

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

文章作者:Rakshith Vasudev 和 John Lockman - HPC AI Innovation Lab,2019 年 10 月

Cause

-

Resolution

目錄

  1. 簡介
    1.金屬裸面
    2. Kubernetes
  2. 軟體版本
  3. 實際使用案例: CheXNet
  4. 硬體規格
  5. 效能
  6. 摘要
     

簡介

在本文中,我們採用現代資料中心使用的兩種方法,在 Dell EMC C4140 伺服器的 Nvidia V100 SXM2 GPU 上訓練 CheXNet 時,評估擴充效能。傳統的 HPC「金屬裸面」搭配 Anaconda 建立的環境,以及在內部部署 Kubernetes 環境中執行 Nvidia GPU Cloud (NGC) 容器的容器化系統。

金屬裸面
金屬裸面系統是一種傳統的 HPC 叢集,其中的軟體堆疊會直接安裝在本機硬碟或共用網路掛接裝置上。軟體環境的管理是由系統管理員執行。使用者只能在共用 /home 檔案系統中建立軟體。使用者代碼是由 Slurm 工作負荷管理員排定批次。

Kubernetes
我們的 Kubernetes (K8) 系統使用 Nvidia 的 NGC 容器,提供所有必要的軟體先決條件、環境組態等。系統管理員僅安裝基本作業系統、驅動程式和 k8。這些 docker 型容器可在執行期間從 NGC 下載,或儲存在本機登錄檔中。K8 負責處理工作負荷管理、資源可用性、啟動分散式工作及隨選擴充。
 

軟體版本

 

NGC 容器 nvcr.io/nvidia/tensorflow:19.06- py3

Conda env  版本

框架

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 驅動程式

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

作業系統

Ubuntu 16.04.6

RHEL 7.4

GCC

5.4.0

7.2.0

表 1
 


實際使用案例:CheXNet

如前所述,CheXNet 是利用 DenseNet 的人工智慧放射師助理模型,可從提供的胸部 X 光影像中識別多達 14 種病理特性。我們探索了多種方法,以水平式擴充訓練可執行等同或優於原始 ChexNet-121 的模型,其中 ResNet-50 證明了強大的擴充能力和更高的訓練準確度 (陽性 AUROC)。作者在 CPU 系統上示範了擴充能力,但我們也對透過並行 GPU 加速訓練程式十分有興趣。Dell EMC PowerEdge C4140 具備採用 SXM2 組態的四個 NVIDIA V100 GPU,可提供優異的密度和效能。
 


硬體規格

 

金屬裸面系統

Kubernetes 系統

平台

PowerEdge C4140

PowerEdge C4140

CPU

2 x Intel® Xeon® Gold 6148 @2.4GHz

2 x Intel® Xeon® Gold 6148 @2.4GHz

記憶體

384 GB DDR4 @ 2666MHz

384 GB DDR4 @ 2666MHz

儲存裝置

Lustre

NFS

GPU

V100-SXM2 32GB

V100-SXM2 32GB

作業系統

RHEL 7.4 x86_64

CentOS 7.6

Linux 核心

3.10.0-693.x86_64

3.10.0-957.21.3.el7.x86_64

網路

Mellanox EDR InfiniBand

Mellanox EDR InfiniBand

(IP over IB)

表 2
 

效能

在表 2 所述的兩個系統上,在 2 個 C4140 節點上使用 1、2、3、4 和 8 GPU 測量訓練 CheXNet 時,映像輸送量會以每秒映像為單位測量。本文會詳述執行的規格,包括型號架構、輸入資料等。圖 1 顯示 Kubernetes 系統和金屬裸面系統的測量效能比較。

 SLN318899_en_US__1image(12054)
圖 1:在 K8 與金屬裸面上執行 CheXNet 訓練
 


摘要

金屬裸面系統顯示當我們擴充至 8 GPU 時,效能提升了 8%。然而,除了容器與金屬裸面辯論之外,系統架構設計上的差異可能會導致此微幅效能差異。金屬裸面系統可充分利用原始 InfiniBand 連線的完整頻寬和延遲,且不必處理使用軟體定義網路所產生的負荷,例如 flannel。此外,K8 系統會使用 IP over InfiniBand,使得可用頻寬減少。
這些數字可能會因工作負荷和所執行應用程式類型定義的通訊模式而有所不同。在映像分類問題方面,GPU 之間的通訊發生率很高,因此交換率很高。然而,是否使用其中一種方法,取決於工作負荷的需求。雖然我們以 Kubernetes 為基礎的系統效能處罰微小,在這種情況下約 8%,但使用者和系統管理員則不必設定程式庫、組態、環境和其他相依性。此方法可讓資料科學家提高生產力,並專注於解決核心業務問題,例如資料整頓和模型建立。


 


 

 

Article Properties


Affected Product

High Performance Computing Solution Resources, Poweredge C4140

Last Published Date

23 Sep 2021

Version

5

Article Type

Solution