Índice de referencia VGG16 en Tensorflow™

LeaderGPU® —un servicio revolucionario que le permite abordar la computación por GPU desde una nueva perspectiva. La velocidad de los cálculos del modelo VGG16 en LeaderGPU® es 1,8 veces más rápida en comparación con Google Cloud y 1,7 veces más rápida en comparación con AWS (datos relativos a un ejemplo con 8x GTX 1080). El precio del alquiler por minuto de GPU en LeaderGPU® comienza desde tan solo 0,02 euros, que es más de 4 veces más bajo que el precio del alquiler en Google Cloud y más de 5 veces más bajo que el precio en AWS (al 7 de julio de 2017).

En este artículo, probaremos el modelo VGG16 en varios servicios que ofrecen GPU en alquiler, incluidos LeaderGPU®, AWS y Google Cloud. Los resultados de las pruebas muestran por qué LeaderGPU® es la oferta más rentable entre las opciones examinadas.

Todas las pruebas se realizaron utilizando Python 3.5 y Tensorflow-gpu 1.2 en máquinas con GTX 1080, GTX 1080 TI y Tesla® P 100 con sistema operativo CentOS 7 instalado y biblioteca CUDA® 8.0 instalada.

Se utilizaron los siguientes comandos para ejecutar las pruebas:

# git clone https://github.com/tensorflow/benchmarks.git
# python3.5 benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py --num_gpus=2(Número de tarjetas en el servidor) --model vgg16 --batch_size 32 (64)

Instancias de GTX 1080

En la primera prueba utilizamos instancias con GTX 1080. Los datos del entorno de prueba (con tamaños de lote 32 y 64) se indican a continuación:

Entorno de prueba:

  • Tipos de instancias: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
  • Comando:
    # python3.5 benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py --num_gpus=2 --model vgg16 --batch_size 32 (optional 64)
  • Modelo:VGG16
  • Fecha de la prueba:junio de 2017

Los resultados de la prueba se muestran en el diagrama siguiente:

VGG16 GTX 1080 test results

Instancias de GTX 1080TI

Ahora probemos instancias con GTX 1080 Ti. Los datos del entorno de prueba (con tamaños de lote 32 y 64) se indican a continuación:

Entorno de prueba:

  • Tipos de instancias: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
  • Comando:
    # python3.5 benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py --num_gpus=2 (4) --model vgg16 --batch_size 32 (optional 64)
  • Modelo:VGG16
  • Fecha de la prueba:junio de 2017

Los resultados de la prueba se muestran en el diagrama siguiente:

VGG16 GTX 1080TI test results

Instancias de Tesla® P100

Por último, es hora de probar las instancias con Tesla® P100. En este caso, el entorno de prueba será el siguiente (con tamaños de lote 32 y 64):

Entorno de prueba:

  • Tipo de instancia:ltbv20
  • GPU:2x NVIDIA® Tesla® P100
  • OS:CentOS 7
  • CUDA / cuDNN:8.0 / 5.1
  • TensorFlow GitHub hash:b1e174e
  • Benchmark GitHub hash:9165a70
  • Comando:
    # python3.5 benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py --num_gpus=2 --model vgg16 --batch_size 32 (optional 64)
  • Modelo:VGG16
  • Fecha de la prueba:junio de 2017

Los resultados de la prueba se muestran en el diagrama siguiente:

VGG16 Tesla P100 test results

En el cuadro a continuación se muestran los resultados de las pruebas con VGG16 en Google Cloud y AWS:

GPU Google cloud AWS
1x Tesla K80 35.4 36.3
2x Tesla K80 64.8 69.4
4x Tesla K80 120 141
8x Tesla K80 234 260

* Datos obtenidos de las siguientes fuentes:

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

Calcularemos el coste y el tiempo de procesamiento de 1 000 000 imágenes en cada máquina de LeaderGPU®, AWS y Google (cálculo basado en el resultado más alto de cada máquina):

GPU Número de imágenes Tiempo Coste (por minuto) Coste total
2x GTX 1080 1000000 96m 13sec € 0,03 € 2,89
4x GTX 1080 1000000 60m 17sec € 0,02 € 1,21
8x GTX 1080 1000000 38m 53sec € 0,10 € 3,89
4x GTX 1080TI 1000000 41m 29sec € 0,02 € 0,83
2х Tesla P100 1000000 114m 45sec € 0,02 € 2,30
8x Tesla K80 Google cloud 1000000 71m 12sec € 0,0825** € 4,84
8x Tesla K80 AWS 1000000 64m 6sec € 0,107 € 6,85

** El servicio Google Cloud no ofrece planes de pago por minuto. Los cálculos del precio por minuto se basan en el precio por hora (5645 $).

Como se puede ver en el cuadro, la máxima velocidad de procesamiento de imágenes en el modelo VGG16 se obtiene con 8x GTX 1080 de LeaderGPU®, mientras que:

El precio inicial del alquiler en LeaderGPU® comienza desde tan solo € 0,02 por minuto, que es alrededor de 4,13 veces más bajo que el de las instancias de 8x Tesla® K80 ofrecidas por Google Cloud y alrededor de 5,35 veces más bajo que el de las instancias de 8x Tesla® K80 de AWS;

el tiempo de procesamiento fue de 38 minutos y 53 segundos, que es 1,8 veces más rápido que en las instancias de 8x Tesla® K80 de Google Cloud y 1,7 veces más rápido que en las instancias de 8x Tesla® K80 de AWS.

Todo esto sugiere que LeaderGPU® es mucho más rentable que sus competidores y permite alcanzar la máxima velocidad a un precio óptimo. ¡Alquile hoy mismo las mejores GPU con una política de precios flexible en LeaderGPU®!