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