Índice de referencia Mxnet™
El propósito del siguiente artículo es presentar los resultados de las pruebas de mxnet™ en diversas GPU y comparar los costes del procesamiento de datos en AWS frente a LeaderGPU®.
En el siguiente cuadro se muestran los resultados de las pruebas de rendimiento, a saber, el número de imágenes que pueden procesarse por unidad de tiempo (medido en segundos).
Resultados de puntuación
Hemos utilizado el índice de referencia oficial de mxnet™ benchmark_score.py y cuDNN 6.0
Los resultados son los siguientes:
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 |
A continuación se presentan los resultados de las pruebas con GPU en AWS K80 (EC2 p2.xlarge), M40 y P100 (DGX-1).
Aquí se ha utilizado un índice de referencia oficial de mxnet™ benchmark_score.py.
Los resultados de las pruebas se han extraído de página web oficial de mxnet™.
Los resultados son los siguientes:
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 |
A continuación, nos gustaría abordar la parte de esta prueba relativa a los precios, calcularemos el coste del procesamiento de 1 000 000 imágenes y el tiempo dedicado a este proceso, con un tamaño de lote de 32:
Los resultados son los siguientes:
GPU | Modelo | Tiempo | Precio (por minuto) | Coste total |
---|---|---|---|---|
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 |
Resultados del entrenamiento
En la siguiente sección, examinaremos los resultados de las pruebas relativas al entrenamiento de redes en mxnet™.
Estos resultados se basan en example/image-classification/train_imagenet.py y cuDNN 6.0. Además, el script de prueba está disponible en aquí. En el caso de la red Alexnet, el tamaño de lote aumentó 8 veces.
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 |
** La cantidad disponible de memoria de GPU no es suficiente para el procesamiento de lotes.
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 |
Resultados del entrenamiento en múltiples dispositivos
Esta sección se dedicará al análisis de los datos recopilados a través de las pruebas de mxnet™ utilizando varias GPU en las instancias de LeaderGPU®.
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 |
* Hay demasiadas porciones y, por tanto, algunas particiones están vacías.