Escalando TensorFlow y Caffe a 256 GPUs

By | 3 minute read | agosto 16, 2017

Deep learning ha impresionado al mundo en los últimos cuatro años, alimentando cientos de aplicaciones web y móviles que usamos todos los días. Pero los tiempos de entrenamiento extremadamente largos en la mayoría de los marcos presentan un obstáculo que está evitando una más amplia proliferación de deep learning. Hoy en día, puede tardar días o incluso semanas en entrenar modelos de IA grandes con big data para obtener los niveles de exactitud adecuados.

En el núcleo de este problema está un limitante técnico. Los populares frameworks open-source de deep-learning no parecen funcionar tan eficientemente en múltiples servidores. Por lo tanto, mientras que la mayoría de los científicos de datos están utilizando servidores con cuatro u ocho GPUs, no pueden escalar más allá de ese único nodo. Por ejemplo, cuando tratamos de entrenar un modelo con el set de datos ImageNet-22K usando un modelo ResNet-101, nos tomó 16 días en un único servidor Power Systems (S822LC para High Performance Computing) con cuatro aceleradores NVIDIA P100 GPU.

Ya que el entrenamiento del modelo es una tarea iterativa, donde un científico de datos ajusta los hiperparámetros, los modelos y hasta los datos de entrada, y entrena los modelos de IA varias veces, estos tipos de largos períodos de entrenamiento demoran el tiempo para la comprensión y puede limitar la productividad.

IBM Research inventa el motor de reacción de deep learning

El equipo de IBM Research tomó este reto y, a través de innovadores métodos de agrupación, ha construido una biblioteca de “Distributed Deep Learning” (DDL) que se conecta a los entornos populares de machine learning de código abierto como TensorFlow, Caffe, Torch y Chainer. DDL permite que estos marcos se adapten a decenas de servidores IBM aprovechando cientos de GPUs. Efectivamente, IBM Research ha inventado el motor de reacción del deep learning.

Con la biblioteca DDL, nos tomó sólo 7 horas entrenar ImageNet-22K usando ResNet-101 en 64 servidores IBM Power Systems, que tienen un total de 256 aceleradores GPU NVIDIA P100 en ellos. Bajar de 16 días a 7 horas cambia el flujo de trabajo de los científicos de datos. ¡Eso es un incremento en velocidad de 58x!

La biblioteca del distributed deep leraning (DDL) está disponible como una vista previa de la tecnología en nuestra última versión 4 de la distribución de software PowerAI de deep learning. DDL presenta una interfaz de programación de aplicaciones (API) que cada uno de los marcos de deep learning puede conectarse, para escalar a través de varios servidores. PowerAI pone a disposición estas caracteristicas de cluster scaling a las organizaciones que utilizan deep learning para formar sus modelos de IA.

Y se escala de manera eficiente – Correr a través de múltiples nodos es sólo la mitad de la batalla, hacerlo eficientemente es la mitad más importante. Afortunadamente, basándose en una rica experiencia en HPC y análisis, IBM Research fue capaz de escalar los marcos de deep learning a través de hasta 256 GPUs con hasta un 95 por ciento de eficiencia.

Figura 1: Escala de resultados usando Caffe para entrenar un modelo ResNet-50 usando el set de datos ImageNet-1K en 64 servidores de Power Systems que tienen un total de 256 aceleradores GPU NVIDIA P100 en ellos.

PowerAI está evolucionando rápidamente – Es difícil creer que ha pasado menos de un año desde que lanzamos PowerAI, especialmente con el ritmo de innovaciones y mejoras que hemos añadido a nuestro Deep Learning Suite desde su lanzamiento. Anunciamos nuestros primeros resultados hace apenas 10 meses. Hoy, estoy orgulloso de anunciar nuestra cuarta revisión a PowerAI. Esta versión incluye la biblioteca de deep learning distribuida y una vista previa de tecnología para la capacidad de visión que anunciamos en mayo. La capacidad de visión en PowerAI genera modelos entrenados de deep learning cuando se les asignan datos de entrada de imagen o video etiquetados.

PowerAI está disponible para probar en la nube Nimbix Power disponible en https://power.jarvice.com/ o se puede descargar desde https://www.ibm.biz/powerai para probar en un servidor IBM Power Systems.