Ir al contenido principal
Profesional

PNY Pro Tip #01: Benchmark para Deep Learning utilizando NVIDIA GPU Cloud y Tensorflow (Parte 1)

Por 3 de febrero de 2020Sin comentarios

Publicado por PNY Pro, 03 de mayo de 2019

Como entusiasta de los PC, me encanta comparar soluciones de hardware para determinar su rendimiento relativo a la hora de realizar una tarea concreta. Este proceso también se conoce como "Benchmarking". Los resultados de las pruebas comparativas suelen considerarse la mejor herramienta para evaluar los méritos de los sistemas competidores a la hora de tomar una decisión de compra.

En esta serie de 3 partes del blog, vamos a discutir cómo construir un sistema, con énfasis en la evaluación comparativa de rendimiento de la GPU para Deep Learning utilizando Ubuntu 18.04, NVIDIA GPU Cloud (NGC) y TensorFlow.

 

La serie de blogs se desarrollará del siguiente modo:

Primera parte: Introducción

Segunda parte: Consideraciones sobre el hardware

Tercera parte: Configuración del software

La mayoría de los jugadores están familiarizados con herramientas de evaluación comparativa como 3DMark y Unigene Superposition, mientras que los profesionales confían en suites de confianza como SPECviewperf y PassMark. En lo que respecta a las pruebas de aprendizaje profundo, la "vara de medir" más conocida es el entrenamiento de una red neuronal ResNet-50 utilizando el conjunto de datos ImageNet, más concretamente el conjunto de datos ImageNet 2012 para la clasificación de imágenes.

Las empresas dedicadas al aprendizaje profundo suelen utilizar esta métrica para medir y comparar el rendimiento informático. Esta métrica apareció en un blog reciente de NVIDIA en el que se comparaba el rendimiento de diferentes marcos de aprendizaje profundo. Puedes obtener más información en: https://developer.nvidia.com/deep-learning-performance-training-inference

Consejo 12- NVIDIA

El aprendizaje profundo evoluciona rápidamente, por lo que esta métrica no es una representación completa del rendimiento del aprendizaje profundo. Sin embargo, es útil y relevante, ya que nos proporciona un estándar justo para comparar los resultados de "imágenes por segundo".

Debo señalar que el Dr. Kinghorn de Puget Systems, socio de PNY, escribió sobre este tema hace un año; sus blogs son una guía útil para principiantes y también ofrecen consejos útiles para usuarios avanzados. Sus esfuerzos son muy recomendables. Tómese su tiempo para leer su blog original de 5 partes

https://www.pugetsystems.com/labs/hpc/How-To-Setup-NVIDIA-Docker-and-NGC-Registry-on-your-Workstation—Part-1-Introduction-and-Base-System-Setup-1095/

 

Introducción a NGC.

El arma secreta para construir este benchmark de flujo de trabajo es NVIDIA GPU Cloud, o NGC.

NGC es un registro gratuito de contenedores Docker, una colección de los mejores programas para la aceleración de la ciencia de datos, el aprendizaje automático y la analítica. Los marcos más populares disponibles en NGC incluyen TensorFlow, PyTorch, Caffe2 y muchos otros. Puede navegar por el registro de NGC visitando este enlace: https: //ngc.nvidia.com/catalog, no es necesario registrarse.

Consejo 12 - NGC

¿Qué es un contenedor? Según Docker.com:

"Un contenedor es una unidad estándar de software que empaqueta el código y todas sus dependencias para que la aplicación se ejecute de forma rápida y fiable de un entorno informático a otro. Una imagen de contenedor Docker es un paquete de software ligero, independiente y ejecutable que incluye todo lo necesario para ejecutar una aplicación: código, tiempo de ejecución, herramientas del sistema, bibliotecas del sistema y configuraciones." https://www.docker.com/resources/what-container

Dada esta definición, un contenedor es un entorno de software controlado en el que todo el software está diseñado para funcionar bien conjuntamente. Al utilizar un contenedor Docker, te aseguras de que tu entorno de software sea coherente entre las pruebas y esté libre de errores de dependencia entre varias bibliotecas. Los contenedores NGC tienen la ventaja añadida de estar optimizados, validados y acelerados por la GPU de NVIDIA, por lo que funcionarán bien con las GPUs NVIDIA.

¿Por qué debe utilizar un sistema Linux? En la actualidad, NGC sólo funciona con Linux.

Antes de adentrarnos en las consideraciones sobre el hardware en el próximo blog, visite el registro de NGC y hágase una idea del variado conjunto de contenedores disponibles. A continuación, visita la página de PNY sobre Inteligencia Artificial para obtener más información sobre cómo las GPU NVIDIA están cambiando el mundo.

http://www.pny.com/ai

Consejo 12 PNY