Turing-architectuur is de nieuwste GPU-architectuur van NVIDIA na Volta-architectuur en de nieuwe T4 is gebaseerd op Turing-architectuur. Het is ontworpen voor High-Performance Computing (HPC), deep learning-training en inferentie, machine learning, data analytics en grafische kaarten. In deze blog worden de deeplearning-trainingsprestaties van T4 GPU's op de Dell EMC PowerEdge R740 server kwantificeren met mlPerf-benchmarksuite. MLPerf-prestaties op T4 worden ook vergeleken met V100-PCIe op dezelfde server met dezelfde software.
De Dell EMC PowerEdge R740 is een 2U-rackserver met 2 sockets. Het systeem is uitgerust met Intel Skylake processors, maximaal 24 DIMM's en tot 3 dubbele breedte V100-PCIe of 4 single width T4 GPU's in x16 PCIe 3.0-slots. T4 is de GPU die gebruikmaakt van de nieuwste Turing-architectuur van NVIDIA. De specificatieverschillen van T4 en V100-PCIe GPU staan vermeld in Tabel 1. MLPerf is gekozen om de prestaties van T4 in deep learning-training te evalueren. MLPerf is een benchmarktool die is samengesteld door een diverse groep uit de sector, waaronder Google, Baidu, Intel, AMD, Harvard en Columbia, enz., om de snelheid en prestaties van software en hardware voor machine learning te meten. De eerste versie die is uitgebracht is v0.5 en omvat modelimplementaties in verschillende machine learning-domeinen, waaronder afbeeldingsclassificatie, objectdetectie en segmentatie, machinevertaling en trainingsleer. De samenvatting van MLPerf-benchmarks die voor deze evaluatie worden gebruikt, wordt weergegeven in Tabel 2. De ResNet-50 TensorFlow-implementatie van google werd gebruikt en alle implementaties van andere modellen van NVIDIA werden gebruikt. Alle benchmarks werden uitgevoerd op bare-metal zonder een container. Tabel 3 bevat de hardware en software die worden gebruikt voor de evaluatie. De T4-prestaties met MLPerf-benchmarks worden vergeleken met V100-PCIe.
Tesla V100-PCIe | Tesla T4 | |
---|---|---|
Architectuur | Volta | Turing |
CUDA-cores | 5120 | 2560 |
Tensor Cores | 640 | 320 |
Rekencapaciteit | 7.0 | 7,5 |
GPU-klok | 1245 MHz | 585 MHz |
Klok verhogen | 1380 MHz | 1590 MHz |
Type geheugen | HBM2 | GDDR6 |
Geheugengrootte | 16 GB/32 GB | 16GB |
Bandbreedte | 900 GB/s | 320 GB/s |
Slotbreedte | Dubbele sleuf | Eén slot |
Enkele Precision (FP32) | 14 TFLOPS | 8,1 TFLOPS |
Mixed Precision (FP16/FP32) | 112 TFLOPS | 65 TFLOPS |
Dubbele precisie (FP64) | 7 TFLOPS | 254,4 GFLOPS |
TDP | 250 W | 70 W |
Tabel 1: De vergelijking tussen T4 en V100-PCIe
Afbeeldingsclassificatie | Objectclassificatie | Segmentatie objectinstantie | Vertaling (terugkerend) | Tanslation (niet-terugkerend) | Aanbeveling: | |
---|---|---|---|---|---|---|
Gegevens | ImageNet | COCO | COCO | WMT E-G | WMT E-G | MovieLens-20M |
Datagrootte | 144 GB | 20 GB | 20 GB | 37 GB | 1,3 GB | 306 MB |
Model | ResNet-50 v1.5 | Single-Stage Hdd (SSD) | Masker-R-CNN | GNMT | Transformator | NCF |
Kader | Tensorflow | PyTorch | PyTorch | PyTorch | PyTorch | PyTorch |
Tabel 2: De MLF Perf-benchmarks die worden gebruikt bij de evaluatie
Platform | PowerEdge R740 |
---|---|
CPU | 2x Intel Xeon Gold 6136 bij 3,0 GHz (SkyLake) |
Geheugen | 384 GB DDR4 bij 2666 MHz |
Storage | 782 TB Lustre |
GPU | T4, V100-PCIe |
Besturingssysteem en firmware | |
Besturingssysteem | Red Hat® Enterprise Linux® 7.5 x86_64 |
Linux Kernal | 3.10.0-693.el7.x86_64 |
BIOS | 1.6.12 |
Deeplearning-gerelateerd | |
CUDA-compiler en GPU-driver | CUDA 10.0.130 (410,66) |
CUDNN | 7.4.1 |
NCCL | 2.3.7 |
Tensorflow | nacht-gpu-dev20190130 |
PyTorch | 1.0.0 |
MLPerf | V0.5 |
Tabel 3: De details van de hardwareconfiguratie en -software
Afbeelding 1 toont de prestatieresultaten van MLPerf op T4 en V100-PCIe op PowerEdge R740 server. Zes benchmarks van MLPerf zijn inbegrepen. Voor elke benchmark is de end-to-end modeltraining uitgevoerd om de nauwkeurigheid van het doelmodel te bereiken die is gedefinieerd door de MLPerf-commissie. De trainingstijd in minuten is vastgelegd voor elke benchmark. Op basis van deze resultaten kunnen de volgende conclusies worden getrokken:
De ResNet-50 v1.5-, SSD- en Mask-R-CNN-modellen schalen goed met een toenemend aantal GPU's. Voor ResNet-50 v1.5 is V100-PCIe 3,6x sneller dan T4. Voor SSD is V100-PCI 3,3x - 3,4x sneller dan T4. Voor Mask-R-CNN is V100-PCIe 2,2x - 2,7x sneller dan T4. Met hetzelfde aantal GPU's neemt elk model bijna hetzelfde aantal epochs in beslag om te convergeren voor T4 en V100-PCIe.
Voor het GNMT-model werd de super-lineaire versnelling waargenomen toen meer T4 GPU's werden gebruikt. Vergeleken met één T4 is de snelheid 3,1x met twee T4 en 10,4x met vier T4. Dit komt doordat de model-convergentie wordt beïnvloed door de willekeurige seed die wordt gebruikt voor het trainen van data shuffling en initialisatie van neurale netwerkwegingen. Het maakt niet uit hoeveel GPU's worden gebruikt, met verschillende willekeurigezaden, het model heeft mogelijk een ander aantal epochs nodig om te convergeren. In dit experiment kostte het model 12, 7, 5 en 4 tijdvakken om te convergeren met respectievelijk 1, 2, 3 en 4 T4. En het model kostte 16, 12 en 9 periodes om te convergeren met respectievelijk 1, 2 en 3 V100-PCIe. Aangezien het aantal epochs aanzienlijk verschilt, zelfs met hetzelfde aantal T4- en V100-GPU's, kunnen de prestaties niet rechtstreeks worden vergeleken. In dit scenario is de doorvoer-statistiek een eerlijke vergelijking, omdat deze niet afhankelijk is van de willekeurige seed. Afbeelding 2 toont de doorvoervergelijking voor zowel T4 als V100-PCIe. Met hetzelfde aantal GPU's is V100-PCIe 2,5x - 3,6x sneller dan T4.
Het NCF-model en het transformatormodel hebben hetzelfde probleem als GNMT. Voor het NCF-model is de grootte van de dataset klein en duurt het niet lang om te convergeren; daarom is dit probleem niet duidelijk te merken in de resultaatafbeelding. Het transformatormodel heeft hetzelfde probleem wanneer één GPU wordt gebruikt, omdat het model 12 epochs nodig had om te convergeren met één T4, maar slechts 8 epochs nodig had om te convergeren met één V100-PCIe. Wanneer twee of meer GPU's worden gebruikt, kostte het model 4 epochs om te convergeren, ongeacht hoeveel GPU's worden gebruikt of welk GPU-type wordt gebruikt. V100-PCIe is in deze gevallen 2,6x - 2,8x sneller dan T4.
Afbeelding 1: MLPerf-resultaten op T4 en V100-PCIe
Afbeelding 2: De doorvoervergelijking voor GNMT-model
In deze blog hebben we de prestaties van T4 GPU's op de Dell EMC PowerEdge R740 server beoordeeld met behulp van verschillende MLPerf-benchmarks. De prestaties van de T4 werden vergeleken met V100-PCIe met dezelfde server en software. Over het algemeen is V100-PCIe 2,2x - 3,6x sneller dan T4, afhankelijk van de kenmerken van elke benchmark. Een opmerking is dat sommige modellen stabiel zijn, ongeacht welke willekeurige seed-waarden worden gebruikt, maar andere modellen zoals GNMT, NCF en Transformator worden sterk beïnvloed door willekeurig seed. In het toekomstige werk zullen we de hyperparameters verfijnen om de instabiele modellen te laten convergeren met minder tijdvakken. We zullen MLPerf ook uitvoeren op meer GPU's en meer knooppunten om de schaalbaarheid van die modellen op PowerEdge servers te evalueren.
*Disclaimer: Voor benchmarking zijn vier T4 GPU's in de Dell EMC PowerEdge R740 geëvalueerd. Momenteel ondersteunt de PowerEdge R740 officieel een maximum van drie T4 in x16 PCIe-slots.