この記事は、2019年10月にHPC AI Innovation LabのRakshith Vasudev氏とJohn Lockman氏によって作成されました。
NGCコンテナ:nvcr.io/nvidia/tensorflow:19.06- py3 |
Conda環境バージョン |
|
フレームワーク |
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は、DenseNetを活用して、指定された胸のレントゲン写真から最大14の病状を特定できるAI放射線技師アシスタント モデルです。拡張性とトレーニング精度の向上(陽性AURORAC)の両方を実証しながら、ResNet-50を使用した従来のCheXNet-121と同等以上のパフォーマンスを発揮できる可能性のあるモデルのトレーニングをスケールアウトするため、いくつかのアプローチが検討されました。作者によって、CPUシステムでの拡張性については実証されましたが、GPUの並列化を活用してトレーニング プロセスを高速化することについて関心が寄せられました。Dell EMC PowerEdge C4140は、SXM2構成の4台のNVIDIA V100 GPUで密度とパフォーマンスの両方を提供します。
ベア メタル システム |
Kubernetesシステム |
|
プラットフォーム |
PowerEdge C4140 |
PowerEdge C4140 |
CPU |
2 x インテル® Xeon® Gold 6148 @2.4GHz |
2 x インテル® 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) |
この画像スループットは、1秒あたりの画像で測定されます。このトレーニングでは、表2に記載されている両方のシステム上の2つのC4140ノードで1、2、3、4、8台のGPUを使用してCheXNetを測定しました。モデル アーキテクチャ、入力データなどを含む実行の仕様については、この記事 で詳しく説明しています。図1は、Kubernetesシステムとベア メタル システムで測定されたパフォーマンスの比較を示しています。
図1: k8sとベア メタルでCheXNetトレーニングを実行
ベア メタル システムでは、8GPUにスケールアウトするとパフォーマンスが8%向上しました。ただし、システム アーキテクチャの設計の違いにより、コンテナとベア メタルの違いだけでなく、このわずかなパフォーマンスの違いが発生する可能性があります。ベア メタル システムは、InfiniBand接続(Raw)の全帯域幅とレイテンシーを活用でき、ソフトウェア デファインド ネットワーク(flannelなど)で作成されたオーバーヘッドに対処する必要はありません。また、k8sシステムがInfiniBand経由でIPを使用しており、使用可能な帯域幅を削減できる可能性もあります。
これらの数値は、ワークロードと、実行されるアプリケーションの種類により定義された通信パターンによって異なる場合があります。画像の分類に関する問題の場合、GPU間で通信が発生するレートが高いため、交換レートが高くなります。ただし、どちらのアプローチを使用するかは、ワークロードのニーズによって異なります。Kubernetesベースのシステムはパフォーマンスの低下が少なくなります(この場合は8%以下)。それにより、ユーザーと管理者がライブラリー、構成、環境、その他の依存関係を設定する必要がなくなります。このアプローチにより、データ サイエンティストは生産性を向上させ、データ ラングリングやモデル構築などのコア ビジネス上の問題の解決に専念できるようになります。