Prestazioni di deep learning su GPU T4 con benchmark MLPerf (in inglese)
Summary: Informazioni sull'architettura Turing, ovvero l'architettura GPU più recente di NVIDIA dopo Volta, e la nuova T4 è basata sull'architettura Turing.
Symptoms
Cause
Resolution
Sommario:
Abstract
L'architettura Turing è l'architettura GPU più recente di NVIDIA dopo Volta e la nuova T4 è basata sull'architettura Turing. È stata progettata per l'High Performance Computing (HPC), il training e l'inferenza dell'apprendimento approfondito, l'apprendimento automatico, l'analisi dei dati e la grafica. Questo blog quantifica le prestazioni di formazioni sull'apprendimento approfondito delle GPU T4 sul server Dell EMC PowerEdge R740 con la suite di benchmark MLPerf. Le prestazioni di MLPerf su T4 vengono confrontate anche con V100-PCIe sullo stesso server con lo stesso software.
Panoramica
Dell EMC PowerEdge R740 è un server rack 2U a 2 socket. Il sistema è dotato di processori Intel Skylake, fino a 24 DIMM e fino a 3 GPU V100-PCIe double-width o 4 GPU T4 single-width in slot PCIe 3.0 x16. T4 è la GPU che utilizza l'architettura Turing più recente di NVIDIA. Le differenze nelle specifiche delle GPU T4 e V100-PCIe sono elencate nella Tabella 1. La suite MLPerf è stata scelta per valutare le prestazioni di T4 nel training dell'apprendimento approfondito. MLPerf è uno strumento di benchmarking assemblato da un gruppo diversificato di membri provenienti dal mondo accademico e del settore, tra cui Google,Mxdu, Intel, AMD, Harvard e Stanford e così via, per misurare la velocità e le prestazioni del software e dell'hardware di apprendimento automatico. La versione iniziale rilasciata è la v0.5 e copre le implementazioni dei modelli in diversi domini di apprendimento automatico, tra cui la classificazione delle immagini, il rilevamento e la segmentazione degli oggetti, la traduzione automatica e l'apprendimento per rinforzo. Il riepilogo dei benchmark MLPerf utilizzati per questa valutazione è illustrato nella Tabella 2. È stata utilizzata l'implementazione di ResNet-50 TensorFlow dall'invio di Google e sono state utilizzate le implementazioni di tutti gli altri modelli dall'invio di NVIDIA. Tutti i benchmark sono stati eseguiti su bare metal senza un container. La Tabella 3 elenca l'hardware e il software utilizzati per la valutazione. Le prestazioni T4 con i benchmark MLPerf vengono confrontate con V100-PCIe.
| Tesla V100-PCIe | Tesla T4 | |
|---|---|---|
| Architettura | Volta | Turing |
| Core CUDA | 5120 | 2560 |
| Core Tensor | 640 | 320 |
| Capacità di elaborazione | 7.0 | 7.5 |
| Clock GPU | 1.245 MHz | 585 MHz |
| Boost clock | 1.380 MHz | 1.590 MHz |
| Tipo di memoria | HBM2 | GDDR6 |
| Dimensioni della memoria | 16 GB/32 GB | 16 GB |
| Larghezza di banda | 900 GB/s | 320 GB/s |
| Larghezza slot | Slot doppio | Slot singolo |
| Precisione singola (FP32) | 14 TFLOPS | 8,1 TFLOPS |
| Precisione mista (FP16/FP32) | 112 TFLOPS | 65 TFLOPS |
| Precisione doppia (FP64) | 7 TFLOPS | 254,4 GFLOPS |
| TDP | 250 W | 70 W |
Tabella 1. Confronto tra T4 e V100-PCIe
| Classificazione dell'immagine | Classificazione degli oggetti | Segmentazione dell'istanza di oggetto | Traduzione (ricorrente) | Traduzione (non ricorrente) | Raccomandazioni | |
|---|---|---|---|---|---|---|
| Dati | ImageNet | COCO | COCO | WMT E-G | WMT E-G | MovieLens-20M |
| Dimensione dati | 144 GB | 20 GB | 20 GB | 37 GB | 1,3 GB | 306 MB |
| Modello | ResNet-50 v1.5 | Single-Stage Detector (SSD) | Mask-R-CNN | GNMT | Transformer | NCF |
| Framework | TensorFlow | PyTorch | PyTorch | PyTorch | PyTorch | PyTorch |
Tabella 2. Benchmark MLF Perf utilizzati nella valutazione
| Piattaforma | PowerEdge R740 |
|---|---|
| CPU | 2 Intel Xeon Gold 6136 a 3 Ghz (SkyLake) |
| Memoria | DDR4 da 384 GB a 2.666 MHz |
| Storage | Lustre da 782 TB |
| GPU | T4, V100-PCIe |
| Sistema operativo e firmware | |
| Sistema operativo | Red Hat® Enterprise Linux® 7.5 x86_64 |
| Kernel Linux | 3.10.0-693.el7.x86_64 |
| BIOS | 1.6.12 |
| Correlazione all'apprendimento approfondito | |
| Compilatore CUDA e driver 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 |
Tabella 3. Dettagli sulla configurazione hardware e sul software
Valutazione delle prestazioni
La Figura 1 mostra i risultati delle prestazioni di MLPerf su T4 e V100-PCIe su un server PowerEdge R740. Sono inclusi sei benchmark di MLPerf. Per ogni benchmark è stato eseguito il training del modello end-to-end per raggiungere l'accuratezza del modello di destinazione definita dal comitato MLPerf. Il tempo di training in minuti è stato registrato per ogni benchmark. Sulla base di questi risultati, è possibile trarre le seguenti conclusioni:
-
I modelli ResNet-50 v1.5, SSD e Mask-R-CNN sono perfettamente scalabili con un numero crescente di GPU. Per ResNet-50 v1.5, V100-PCIe è 3,6 volte più veloce rispetto a T4. Per SSD, V100-PCI è 3,3 volte - 3,4 volte più veloce rispetto a T4. Per Mask-R-CNN, V100-PCIe è 2,2 volte - 2,7 volte più veloce rispetto a T4. Con lo stesso numero di GPU, ogni modello utilizza quasi lo stesso numero di periodo per la convergenza per T4 e V100-PCIe.
-
Per il modello GNMT, è stato osservato un aumento di velocità super lineare quando sono state utilizzate più GPU T4. Rispetto a una T4, la velocità è 3,1 volte maggiore con due T4 e 10,4 volte con quattro T4. Ciò è dovuto al fatto che la convergenza del modello è influenzata dal Valore di inizializzazione casuale utilizzato per il training del data shuffling e l'inizializzazione del peso della rete neurale. Indipendentemente dal numero di GPU utilizzate, con valori di inizializzazione casuale diversi, il modello potrebbe richiedere un numero diverso di periodo per la convergenza. In questo esperimento, il modello ha impiegato 12, 7, 5 e 4 periodi per la convergenza rispettivamente con T4 1, 2, 3 e 4. Il modello ha inoltre impiegato 16, 12 e 9 periodi per la convergenza rispettivamente con V100-PCIe 1, 2 e 3. Poiché il numero di periodi è significativamente diverso anche con lo stesso numero di GPU T4 e V100, le prestazioni non possono essere confrontate direttamente. In questo scenario, la metrica di throughput è un confronto equo, poiché non dipende dal valore di inizializzazione casuale. La Figura 2 mostra il confronto tra throughput per T4 e V100-PCIe. Con lo stesso numero di GPU, V100-PCIe è 2,5 volte - 3,6 volte più veloce rispetto a T4.
-
Il modello NCF e il modello Transformer presentano lo stesso problema di GNMT. Per il modello NCF, le dimensioni del dataset sono ridotte e il modello non richiede molto tempo per la convergenza; pertanto, questo problema non è ovvio da notare nella figura dei risultati. Il modello Transformer presenta lo stesso problema quando viene utilizzata una GPU, in quanto il modello ha impiegato 12 periodi per la convergenza con una T4, ma solo 8 periodi con una V100-PCIe. Quando vengono utilizzate due o più GPU, il modello ha impiegato 4 periodi per la convergenza, indipendentemente dal numero o dal tipo di GPU utilizzate. In questi casi, V100-PCIe è da 2,6 a 2,8 volte più veloce rispetto a T4.



Figura 1. Risultati di MLPerf su T4 e V100-PCIe

Figura 2. Confronto tra throughput per il modello GNMT
Conclusioni e lavoro futuro
In questo blog abbiamo valutato le prestazioni delle GPU T4 sul server Dell EMC PowerEdge R740 utilizzando vari benchmark MLPerf. Le prestazioni delle GPU T4 sono state confrontate con quelle di V100-PCIe utilizzando lo stesso server e lo stesso software. Nel complesso, V100-PCIe è da 2,2 a 3,6 volte più veloce rispetto a T4 a seconda delle caratteristiche di ciascun benchmark. Si osserva che alcuni modelli sono stabili indipendentemente dai valori di inizializzazione casuale utilizzati, ma altri modelli, tra cui GNMT, NCF e Transformer, sono altamente interessati dal valore di inizializzazione casuale. In futuro metteremo a punto iperparametri per far convergere i modelli instabili con meno periodi. Eseguiremo inoltre MLPerf su più GPU e più nodi per valutare la scalabilità di tali modelli sui server PowerEdge.
*Esclusione di responsabilità: per finalità di benchmarking, sono state valutate quattro GPU T4 nel server Dell EMC PowerEdge R740. Attualmente il server PowerEdge R740 supporta ufficialmente massimo tre T4 in slot PCIe x16.