Tensorflow™ ResNet-50-benchmark

LeaderGPU® is een gloednieuwe dienst die de markt voor GPU-computers al geruime tijd serieus betreedt. De snelheid van de berekeningen voor het ResNet-50-model in LeaderGPU® is 2,5 keer sneller dan Google Cloud en 2,9 keer sneller dan AWS (gegevens worden verstrekt voor een voorbeeld met 8x GTX 1080 vergeleken met 8x Tesla® K80). De kosten voor het per minuut huren van de GPU in LeaderGPU® beginnen al vanaf € 0,02. Dat is meer dan 4 keer lager dan de kosten voor het huren bij Google Cloud en meer dan 5 keer lager dan de kosten bij AWS (per 7 juli, 2017).

In dit artikel testen wij het ResNet-50-model in populaire diensten zoals LeaderGPU®, AWS en Google Cloud. U zult in de praktijk kunnen zien waarom LeaderGPU® aanzienlijk beter presteert dan de vertegenwoordigde concurrenten.

Alle testen werden uitgevoerd met python 3.5 en Tensorflow-gpu 1.2 op machines met GTX 1080, GTX 1080 Ti en Tesla® P 100 met geïnstalleerd besturingssysteem CentOS 7 en CUDA® 8.0-bibliotheek.

De volgende commando's werden gebruikt om de test uit te voeren:

# git clone https://github.com/tensorflow/benchmarks.git
# python3.5 benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py --num_gpus=?(Aantal kaarten in de server) --model resnet50 --batch_size 32 (64, 128, 256, 512)

GTX 1080-instanties

Voor de eerste test gebruiken we instanties met de GTX 1080. De testomgevinggegevens (met batchgroottes 32 en 64) staan hieronder:

  • Typen instanties:ltbv17, ltbv13, ltbv16
  • GPU: 2x GTX 1080, 4x GTX 1080, 8x GTX 1080
  • OS:CentOS 7
  • CUDA / cuDNN:8.0 / 5.1
  • TensorFlow GitHub hash:b1e174e
  • Benchmark GitHub hash:9165a70
  • Opdracht:
    # python3.5 benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py --num_gpus=2 (4,8) --model resnet50 --batch_size 32 (optional 64, 128,256, 512)
  • Model:ResNet50
  • Testdatum:juni 2017

De testresultaten zijn weergegeven in het volgende diagram:

ResNet-50 GTX 1080 test results

GTX 1080Ti-instanties

De volgende stap is het testen van instanties met de GTX 1080Ti. De testomgevinggegevens (met batchgroottes 32, 64 en 128) staan hieronder:

  • Typen instanties:ltbv21, ltbv18
  • GPU: 2x GTX 1080TI, 4x GTX 1080TI
  • OS:CentOS 7
  • CUDA / cuDNN:8.0 / 5.1
  • TensorFlow GitHub hash:b1e174e
  • Benchmark GitHub hash:9165a70
  • Opdracht:
    # python3.5 benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py --num_gpus=2 (4) --model resnet50 --batch_size 32 (optional 64, 128,256, 512)
  • Model:ResNet50
  • Testdatum:juni 2017

De testresultaten zijn weergegeven in het volgende diagram:

ResNet-50 GTX 1080 TI test results

Tesla® P100-instantie

De laatste stap is testen van instanties met Tesla® P100. De testomgevinggegevens (met batchgroottes 32, 64 en 128) staan hieronder:

  • Type instantie:ltbv20
  • GPU:2x NVIDIA® Tesla® P100
  • OS:CentOS 7
  • CUDA / cuDNN:8.0 / 5.1
  • TensorFlow GitHub hash:b1e174e
  • Benchmark GitHub hash:9165a70
  • Opdracht:
    # python3.5 benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py --num_gpus=2 --model resnet50 --batch_size 32 (optional 64, 128, 256, 512)
  • Model:ResNet50
  • Testdatum:juni 2017

De testresultaten zijn weergegeven in het volgende diagram:

ResNet-50 Tesla P100 test results

De volgende tabel toont de testresultaten van Resnet50 voor Google Cloud en AWS (batchgrootte 64):

GPU Google cloud AWS
1x Tesla K80 51.9 51.5
2x Tesla K80 99 98
4x Tesla K80 195 195
8x Tesla K80 387 384

* De verstrekte gegevens zijn afkomstig uit de volgende bronnen:

https://www.tensorflow.org/lite/performance/measurement#details_for_google_compute_engine_nvidia_tesla_k80
https://www.tensorflow.org/lite/performance/measurement#details_for_amazon_ec2_nvidia_tesla_k80

Laten we de kosten en verwerkingstijd berekenen van 1.000.000 beelden op elke machine van LeaderGPU®, AWS en Google. Berekeningen zijn beschikbaar met een batchgrootte van 64 voor alle machines.

GPU Aantal beelden Tijd Prijs (per minuut) Totale kosten
2x GTX 1080 1000000 64m 15sec € 0,03 € 1,93
4x GTX 1080 1000000 34m 17sec € 0,02 € 0,69
8x GTX 1080 1000000 17m 32sec € 0,10 € 1,75
4x GTX 1080TI 1000000 23m 34sec € 0,02 € 0,47
2х Tesla P100 1000000 40m 33sec € 0,02 € 0,81
8x Tesla K80 Google cloud 1000000 43m 3sec € 0,0825** € 3,55
8x Tesla K80 AWS 1000000 43m 24sec € 0,107 € 4,64

** De Google Cloud-dienst biedt geen betaalplannen per minuut. De berekening van de kosten per minuut is gebaseerd op de uurprijs ($ 5.645).

Zoals uit de tabel kan worden opgemaakt, is de beeldverwerkingssnelheid in het ResNet-50-model maximaal met 8x GTX 1080 van LeaderGPU®, waarbij:

de initiële leasekosten bij LeaderGPU® beginnen al vanaf € 0,02 per minuut. Dat is ongeveer 4,13 keer lager dan bij instanties van 8x Tesla® K80 van Google Cloud en ongeveer 5,35 keer lager dan bij instanties van 8x Tesla® K80 van AWS;

de verwerkingstijd 17 minuten 32 seconden bedroeg. Dat is 2,5 keer sneller dan in de instanties van 8x Tesla® K80 van Google Cloud en 2,49 keer sneller dan in de instanties van 8x Tesla® K80 van AWS.

LeaderGPU® presteert aanzienlijk beter dan zijn concurrenten, zowel wat betreft de beschikbaarheid van diensten als de snelheid van de beeldverwerking. Huur een GPU met een betaling per minuut in LeaderGPU® om verschillende taken in de kortste tijd op te lossen.