MXNet™-Benchmark

Im folgenden Artikel werden die Ergebnisse des Tests mit dem MXNet™-Modell auf verschiedenen GPUs vorgestellt und die Kosten der Datenverarbeitung in AWS und LeaderGPU® verglichen.

Die folgende Tabelle zeigt die Ergebnisse des Leistungstests, d. h. die Anzahl der Bilder, die pro Zeiteinheit (gemessen in Sekunden) verarbeitet werden können.

Ergebnisse

Wir haben den offiziellen Benchmark von MXNet™ benchmark_score.py und cuDNN 6.0 verwendet.

Die Ergebnisse sehen wie folgt aus:

Ltbv 14 (GTX 1080 single):

Batch Alexnet VGG Inception-BN Inception-v3 Resnet 50 Resnet 152
1 484.21 193.85 168.71 81.41 169.28 68.38
2 829.39 188.82 301.96 143.85 257.01 106.14
4 1255.73 279.13 472.93 207.13 335.21 141.79
8 2103.98 361.24 653.59 306.01 391.55 166.75
16 2531.79 467.27 765.40 312.82 429.70 182.00
32 3295.19 525.39 826.41 345.28 453.44 191.84

Ltbv 19 (GTX 1080TI single):

Batch Alexnet VGG Inception-BN Inception-v3 Resnet 50 Resnet 152
1 567.68 275.97 161.42 84.16 184.49 66.96
2 1087.14 193.07 317.53 150.89 322.72 123.60
4 1556.19 314.09 558.75 244.64 465.17 197.84
8 2543.31 611.98 846.34 362.18 578.75 249.68
16 4033.49 757.19 1101.56 478.16 660.71 279.48
32 5435.72 827.58 1216.74 506.96 697.81 291.98

Ltbv 20 (Tesla P100 single):

Batch Alexnet VGG Inception-BN Inception-v3 Resnet 50 Resnet 152
1 540.79 273.88 122.57 64.97 140.88 53.96
2 985.37 352.77 249.28 119.37 245.47 94.08
4 1570.85 478.42 424.92 195.56 374.74 155.38
8 2556.58 586.46 646.51 285.70 489.39 197.19
16 4162.64 819.96 899.54 392.91 609.39 255.19
32 5565.39 889.52 1116.51 468.03 682.52 279.87

Nachfolgend finden Sie die Testergebnisse bei Verwendung von GPUs in AWS K80 (EC2 p2.xlarge), M40 und P100 (DGX-1).

Es wurde ein offizieller Benchmark von MXNet™ benchmark_score.py verwendet.

Die Testergebnisse stammen von der offiziellen MXNet™-Website.

Die Ergebnisse sehen wie folgt aus:

K80 (single GPU):

Batch Alexnet VGG Inception-BN Inception-v3 Resnet 50 Resnet 152
1 202.66 70.76 74.91 42.61 70.94 24.87
2 233.76 63.53 119.60 60.09 92.28 34.23
4 367.91 78.16 164.41 72.30 116.68 44.76
8 624.14 119.06 195.24 79.62 129.37 50.96
16 1071.19 195.83 256.06 99.38 160.40 66.51
32 1443.90 228.96 287.93 106.43 167.12 69.73

M40(single GPU):

Batch Alexnet VGG Inception-BN Inception-v3 Resnet 50 Resnet 152
1 412.09 142.10 115.89 64.40 126.90 46.15
2 743.49 212.21 205.31 108.06 202.17 75.05
4 1155.43 280.92 335.69 161.59 266.53 106.83
8 1606.87 332.76 491.12 224.22 317.20 128.67
16 2070.97 400.10 618.25 251.87 335.62 134.60
32 2694.91 466.95 624.27 258.59 373.35 152.71

P100 (single GPU):

Batch Alexnet VGG Inception-BN Inception-v3 Resnet 50 Resnet 152
1 624.84 294.6 139.82 80.17 162.27 58.99
2 1226.85 282.3 267.41 142.63 278.02 102.95
4 1934.97 399.3 463.38 225.56 423.63 168.91
8 2900.54 522.9 709.30 319.52 529.34 210.10
16 4063.70 755.3 949.22 444.65 647.43 270.07
32 4883.77 854.4 1197.74 493.72 713.17 294.17

Als Nächstes untersuchen wir den Kostenaspekt dieses Tests. Dazu berechnen wir die Kosten für die Verarbeitung von 1.000.000 Bildern und die dafür aufgewendete Zeit bei einer Stapelgröße von 32:

Die Ergebnisse sehen wie folgt aus:

GPU Modell Zeit Preis (pro Minute) Gesamtkosten
GTX 1080 Alexnet 5m 3sec € 0,06 € 0,303
GTX 1080 TI 3m 3sec € 0,07 € 0,2135
P100 2m 55sec € 0,08 € 0,23333
K80 11m 31sec € 0,01 € 0,11517
GTX 1080 VGG 31m 43sec € 0,06 € 1,903
GTX 1080 TI 20m 8sec € 0,07 € 1,40933
P100 18m 40sec € 0,08 € 1,49333
K80 72m 50sec € 0,01 € 0,72833
GTX 1080 Inception-BN 20m 21sec € 0,06 € 1,221
GTX 1080 TI 13m 41sec € 0,07 € 0,95783
P100 14m 58sec € 0,08 € 1,19733
K80 57m 45sec € 0,01 € 0,5775
GTX 1080 Inception-v3 48m 15sec € 0,06 € 2,895
GTX 1080 TI 32m 49sec € 0,07 € 2,29717
P100 35m 38sec € 0,08 € 2,85067
K80 156m 35sec € 0,01 € 1,56583
GTX 1080 Resnet 50 36m 46sec € 0,06 € 2,206
GTX 1080 TI 23m 53sec € 0,07 € 1,67183
P100 24m 27sec € 0,08 € 1,956
K80 99m 39sec € 0,01 € 0,9965
GTX 1080 Resnet 152 86m 50sec € 0,06 € 5,21
GTX 1080 TI 57m 5sec € 0,07 € 3,99583
P100 59m 32sec € 0,08 € 4,76267
K80 239m 1sec € 0,01 € 2,39017

Trainingsergebnisse

Im folgenden Abschnitt sind die Testergebnisse der in MXNet™ trainierten Netzwerke dargestellt.

Diese Ergebnisse basieren auf example/image-classification/train_imagenet.py und cuDNN 6.0. Außerdem ist ein Testskript hier verfügbar. Für das AlexNet-Modell wurde die Stapelgröße um das 8-fache erhöht.

Ltbv 14 (GTX 1080 single):

Batch Alexnet(*8) Resnet 50 Inception-v3
1 432,26 11,78 21,21
2 655,14 19,31 34,56
4 989,15 29,61 49,79
8 1167,86 39,83 71,92
16 1343,68 48,72 80,80
32 1407,41 -** 87,93

Ltbv 19 (GTX 1080TI single):

Batch Alexnet(*8) Resnet 50 Inception-v3
1 1068,59 13,75 21,84
2 1341,03 23,20 39,08
4 1573,10 37,93 62,49
8 1770,16 54,98 90,64
16 1850,01 69,26 114,24
32 1729,24 75,57 124,84

Ltbv 20 (Tesla P100 single):

Batch Alexnet(*8) Resnet 50 Inception-v3
1 1138,47 10,60 21,73
2 1462,89 20,29 33,05
4 1717,54 35,05 57,97
8 1914,71 51,05 83,90
16 1977,86 67,17 109,90
32 1754,03 77,74 123,48

** Der verfügbare GPU-Speicher reicht für die Stapelverarbeitung nicht aus.

K80 (single GPU)

Batch Alexnet(*8) Resnet 50 Inception-v3
1 230.69 9.81 13.83
2 348.10 15.31 21.85
4 457.28 20.48 29.58
8 533.51 24.47 36.83
16 582.36 28.46 43.60
32 483.37 29.62 45.52

M40(single GPU)

Batch Alexnet(*8) Resnet 50 Inception-v3
1 405.17 14.35 21.56
2 606.32 23.96 36.48
4 792.66 37.38 52.96
8 1016.51 52.69 70.21
16 1105.18 62.35 83.13
32 1046.23 68.87 90.74

P100(single GPU)

Batch Alexnet(*8) Resnet 50 Inception-v3
1 809.94 15.14 27.20
2 1202.93 30.34 49.55
4 1631.37 50.59 78.31
8 1882.74 77.75 122.45
16 2012.04 111.11 156.79
32 1869.69 129.98 181.53

Trainingsergebnisse auf mehreren Geräten

Dieser Abschnitt befasst sich mit der Analyse der Daten, die beim Testen des MXNet™-Modells unter Verwendung mehrerer GPUs auf den LeaderGPU-Instanzen gesammelt wurden.

Ltbv 14 (4х GTX 1080):

Batch Alexnet(*8) Resnet 50 Inception-v3
1 98,30 -* -*
2 193,09 -* -*
4 384,72 26,76 48,76
8 723,01 46,96 88,99
16 13341,50 68,90 155,29
32 1839,47 93,37 236,57

Ltbv 19 (4х GTX 1080TI):

Batch Alexnet(*8) Resnet 50 Inception-v3
1 126,66 -* -*
2 217,72 -* -*
4 422,59 30,22 49,37
8 768,48 56,97 94,79
16 1599,70 103,13 165,64
32 2973,28 172,37 275,70

Ltbv 20 (2х Tesla P100):

Batch Alexnet(*8) Resnet 50 Inception-v3
1 465,45 -* -*
2 637,42 18,47 15,76
4 1002,77 33,48 28,98
8 1857,60 63,66 46,13
16 2755,08 93,42 63,84
32 3500,40 129,25 78,66

* Zu viele Slices, daher sind einige Felder leer