Wydajność głębokiego uczenia przy kartach graficznych T4, badanie przy użyciu testów MLPerf
Summary: Informacje na temat architektury Turing, która jest najnowszą architekturą GPU firmy NVIDIA po architekturze Volta, a nowa T4 jest oparta na architekturze Turing.
Symptoms
Cause
Resolution
Spis treści:
Streszczenie
Architektura Turing to najnowsza architektura procesora graficznego NVIDIA po architekturze Volta, a nowa karta T4 jest oparta na architekturze Turing. Została zaprojektowana z myślą o systemach obliczeniowych o wysokiej wydajności (HPC), szkoleniu głębokiego uczenia i wnioskowania, uczeniu maszynowym, analizie danych i grafice. Ten blog określa wydajność głębokiego uczenia procesorów graficznych T4 na serwerze Dell EMC PowerEdge R740 z pakietem testów porównawczych MLPerf. Wydajność MLPerf na T4 zostanie również porównana z V100-PCIe na tym samym serwerze z tym samym oprogramowaniem.
Omówienie
Dell EMC PowerEdge R740 to szafa serwerowa 2U na 2 gniazda. System jest wyposażony w procesory Intel Skylake, do 24 modułów DIMM i do 3 podwójnej szerokości kart V100-PCIe lub w 4 karty graficzne T4 o pojedynczej szerokości w gniazdach x16 PCIe 3.0. T4 to karta graficzna, która korzysta z najnowszej architektury Turing firmy NVIDIA. Różnice specyfikacji kart graficznych T4 i V100-PCIe zostały wyszczególnione w tabeli 1. MLPerf wybrano do oceny wydajności T4 w szkoleniu głębokiego uczenia. MLPerf to narzędzie testowe, które zostało zmontowane przez zróżnicowaną grupę ze środowisk akademickich i branżowych, w tym Google, Baidu, Intel, AMD, Harvard, Stanford itp. w celu pomiaru szybkości i wydajności oprogramowania i sprzętu do uczenia maszynowego. Pierwsza wydana wersja to 0.5, obejmuje implementacje modeli w różnych domenach uczenia maszynowego, w tym klasyfikację obrazów, wykrywanie i segmentację obiektów, tłumaczenie maszynowe i uczenie przez wzmacnianie. Podsumowanie testów porównawczych MLPerf użytych do tej oceny przedstawiono w tabeli 2. Wykorzystano wdrożenie ResNet-50 TensorFlow ze zgłoszenia Google i użyto implementacji wszystkich innych modeli ze zgłoszenia NVIDIA. Wszystkie testy porównawcze zostały przeprowadzone od podstaw bez kontenera. W Tabeli 3 przedstawiono sprzęt i oprogramowanie używane do oceny. Wydajność karty T4 przy użyciu testów porównawczych MLPerf zostanie porównana z technologią V100-PCIe.
| Tesla V100-PCIe | Tesla T4 | |
|---|---|---|
| Architektura | Volta | Turing |
| Rdzenie CUDA | 5120 | 2560 |
| Rdzenie Tensor | 640 | 320 |
| Zdolności obliczeniowe | 7,0 | 7,5 |
| Zegar procesora graficznego | 1245 MHz | 585 MHz |
| Zegar przyspieszenia | 1380 MHz | 1590 MHz |
| Typ pamięci | HBM2 | GDDR6 |
| Rozmiar pamięci | 16 GB/32 GB | 16GB |
| Przepustowość | 900 GB/s | 320 GB/s |
| Szerokość gniazda | Podwójne gniazdo | Pojedyncze gniazdo |
| Pojedyncza precyzja (FP32) | 14 TFLOPS | 8,1 TFLOPS |
| Mieszana precyzja (FP16/FP32) | 112 TFLOPS | 65 TFLOPS |
| Podwójna precyzja (FP64) | 7 TFLOPS | 254,4 GFLOPS |
| TDP | 250 W | 70 W |
Tabela 1: Porównanie między T4 a V100-PCIe
| Klasyfikacja obrazów | Klasyfikacja obiektów | Segmentacja instancji obiektów | Tłumaczenie (cykliczne) | Tłumaczenie (niecykliczne) | Zalecenie | |
|---|---|---|---|---|---|---|
| Dane | ImageNet | COCO | COCO | WMT E-G | WMT E-G | MovieLens-20M |
| Rozmiar danych | 144GB | 20GB | 20GB | 37GB | 1.3GB | 306MB |
| Model | ResNet-50 v1.5 | Single-Stage Detector (SSD) | Mask-R-CNN | GNMT | Transformer | NCF |
| Zakres | TensorFlow | PyTorch | PyTorch | PyTorch | PyTorch | PyTorch |
Tabela 2: Testy porównawcze MLF Perf użyte w ewaluacji
| Platforma | PowerEdge R740 |
|---|---|
| Procesor | 2x Intel Xeon Gold 6136, 3,0 GHz (Skylake) |
| Pamięć | 384 GB DDR4 2666 MHz |
| Pamięć masowa | Lustre 782 TB |
| GPU | T4, V100-PCIe |
| System operacyjny i oprogramowanie wewnętrzne | |
| System operacyjny | Red Hat® Enterprise Linux® 7.5 x86_64 |
| Linux Kernal | 3.10.0-693.el7.x86_64 |
| BIOS | 1.6.12 |
| Związane z głębokim uczeniem | |
| Kompilator CUDA i sterownik GPU | CUDA 10.0.130 (410.66) |
| CUDNN | 7.4.1 |
| NCCL | 2.3.7 |
| TensorFlow | nightly-gpu-dev20190130 |
| PyTorch | 1.0.0 |
| MLPerf | V0.5 |
Tabela 3: Szczegółowe informacje o konfiguracji sprzętu i oprogramowaniu
Ocena wydajności
Rysunek 1 przedstawia wyniki wydajności MLPerf na T4 i V100-PCIe na serwerze PowerEdge R740. Uwzględniono sześć testów porównawczych MLPerf. W przypadku każdego testu porównawczego przeprowadzono kompleksowe szkolenie modelowe, aby osiągnąć dokładność modelu docelowego zdefiniowaną przez komitet MLPerf. Zanotowano czas szkolenia w minutach dla każdego testu porównawczego. Na podstawie tych wyników można wyciągnąć następujące wnioski:
-
Modele ResNet-50 v1.5, SSD i Mask-R-CNN dobrze skalują się wraz ze wzrostem liczby procesorów graficznych. W przypadku systemu ResNet-50, v1.5 karta V100-PCIe jest 3,6x szybsza niż T4. W przypadku dysków SSD, V100-PCI jest 3,3x–3,4x szybsza niż T4. W przypadku Mask-R-CNN, V100-PCIe jest 2,2x–2,7x szybsza niż T4. Przy takiej samej liczbie GPU każdy model ma prawie taką samą liczbę epok do konwergencji dla T4 i V100-PCIe.
-
W przypadku modelu GNMT zaobserwowano przyspieszenie superliniowe w przypadku użycia większej liczby procesorów graficznych T4. W porównaniu z jedną T4, przyspieszenie wynosi 3,1x z dwiema T4 i 10,4x z czterema T4. Dzieje się tak dlatego, że na konwergencję modelu wpływa losowa wartość początkowa, stosowana do tasowania danych i inicjowania wag sieci neuronowych. Niezależnie od liczby używanych GPU, przy różnych losowych wartościach początkowych, model może wymagać różnych epok do konwergencji. W tym eksperymencie model potrzebował odpowiednio 12, 7, 5 i 4 epok do konwergencji odpowiednio z 1, 2, 3 i 4 T4. Model potrzebował 16, 12 i 9 epok do konwergencji odpowiednio z 1, 2 i 3 V100-PCIe. Ponieważ liczba epok znacznie się różni, nawet przy tej samej liczbie GPU T4 i V100, wydajności nie można bezpośrednio porównać. W tym scenariuszu metryka przepustowości jest dobrym porównaniem, ponieważ nie zależy od losowej wartości początkowej. Rysunek 2 przedstawia porównanie przepustowości dla kart T4 i V100-PCIe. Przy tej samej liczbie procesorów graficznych karta V100-PCIe jest 2,5x–3,6x szybsza niż T4.
-
Model NCF i model transformatora mają taki sam problem jak GNMT. W przypadku modelu NCF rozmiar zestawu danych jest mały, a model nie potrzebuje dużo czasu do konwergencji; w związku z tym problem ten nie jest oczywisty do zauważenia na rysunku wyników. W przypadku korzystania z jednego GPU model Transformer ma taki sam problem, ponieważ potrzebował 12 epok do konwergencji z jedną T4, ale 8 epok do konwergencji z jedną kartą V100-PCIe. W przypadku korzystania z dwóch lub większej liczby GPU model potrzebował 4 epok do konwergencji, niezależnie od liczby używanych GPU lub typu GPU. V100-PCIe jest 2,6x–2,8x szybsza niż T4 w tych przypadkach.



Rysunek 1. Wyniki MLPerf na T4 i V100-PCIe

Rysunek 2. Porównanie przepustowości dla modelu GNMT
Wnioski i przyszłe prace
W tym blogu oceniliśmy wydajność kart graficznych T4 na serwerze Dell EMC PowerEdge R740 przy użyciu różnych testów porównawczych MLPerf. Wydajność kart T4 została porównana z V100-PCIe przy użyciu tego samego serwera i oprogramowania. Ogólnie rzecz biorąc, V100-PCIe jest 2,2x–3,6x szybsza niż T4 w zależności od cech każdego testu porównawczego. Jeden z wniosków jest taki, że niektóre modele są stabilne niezależnie od losowych wartości początkowych, ale inne modele, w tym GNMT, NCF i Transformer, są w dużym stopniu narażone na losową wartość początkową. W przyszłych pracach dostosujemy hiper-parametry, aby niestabilne modele były konwergentne z mniejszą ilością epok. Uruchomimy również narzędzie MLPerf na większej liczbie GPU i większej liczbie węzłów w celu oceny skalowalności tych modeli na serwerach PowerEdge.
* Zastrzeżenie: dla celów testów porównawczych oceniono cztery GPU T4 w serwerze Dell EMC PowerEdge R740. Obecnie serwer PowerEdge R740 oficjalnie obsługuje maksymalnie trzy karty T4 w gniazdach PCIe x16.