Componentes

Deep learning de bajo costo con GPUs

Es bien sabida la importancia que tienen para los negocios las interpretaciones de grandes volúmenes de datos desestructurados que se consiguen con las técnicas de Deep Learning (aprendizaje profundo). Ahora, la discusión pasa por otro lado: cómo hacer para que los procesos de Deep Learning sean efectivos en cuanto al costo y al consumo energético, y estén al alcance de compañías de todo tamaño. Aquí es donde las GPUs vienen al rescate.

Si bien el mercado de GPUs para computación de alta performance (HPC) no evolucionó inicialmente con la velocidad que se esperaba, en los últimos dos años exhibió señales de un franco crecimiento. Los esfuerzos para migrar los modelos de redes neuronales a arquitecturas de GPU, combinados con el continuo crecimiento de éstas últimas en términos de performance, no sólo creó un mercado viable de GPUs para Deep Learning, sino también uno que está creciendo a grandes pasos.

Comparación de performance para Deep Learning
Comparación de performance para Deep Learning

 

El escenario no se parece en nada a lo que cualquiera hubiese imaginado diez años atrás cuando comenzaron las primeras iniciativas de cómputo en GPU, pero es algo común que las aplicaciones revolucionarias no se dejen ver al comienzo de cada nueva tecnología.

El mercado de Deep Learning es joven y sus aplicaciones no están aún bien definidas, pero a medida que el software madura, aumenta el consenso en relación a la utilidad de aplicar redes neuronales para obtener verdades a partir de grandes cantidades de datos desestructurados.

APRENDIZAJE PROFUNDO PARA TODOS

No sólo los gigantes de la industria, como Google o Microsoft, están investigando o haciendo uso de tecnologías de Deep Learning. También muchos jugadores de envergadura infinitamente menor las están proponiendo para usos más mundanos.

El perfeccionamiento de aplicaciones como chat-bots de atención al público, sistemas de predicción de fallas en equipamientos críticos, detección de transacciones potencialmente fraudulentas, entre otras, son áreas en las que Deep Learning puede aportar un importante valor de negocios a compañías de todo tamaño.

Gracias a las potentes GPUs disponibles actualmente en el mercado masivo, las tareas de Deep Learning pueden llevarse a cabo con una computadora hogareña. Es lo que nos explica Denys Katerenchuk, investigador de Ciencias de la Computación en la Universidad de la Ciudad de Nueva York (CUNY), especializado en reconocimiento automático del habla, al relatar su experiencia: “Para trabajar en Deep Learning en forma cotidiana, necesitaba encontrar una configuración eficiente de trabajo con una GPU accesible. Algunas opciones eran: 1) usar la GPU del laboratorio; 2) alquilar una instancia de GPU en AWS (Amazon Web Services), o 3) construir una PC hogareña. Cada opción tenía sus desventajas: 1) difícil de administrar (por no tener acceso root), problemas constantes con librerías y dependencias, y la imposibilidad de correr proyectos personales en recursos compartidos; 2) el precio y la ejecución en una máquina virtual, y 3) comprar, ensamblar, administrar, etc.”

A pesar de la resistencia de Katerenchuk a invertir esfuerzos en ensamblar una PC hogareña para usar como sistema de Deep Learning, se sorprendió por el bajo costo de un servidor Lenovo de rango bajo, con un mínimo conjunto de componentes preinstalados. La decisión clave de su ensamblaje pasaba por la GPU. “La mayoría de las librerías de Deep Learning soportan únicamente CUDA”, explica el investigador. “Esto significa que debía limitarme a GPUs Nvidia. La GeForce GTX TITAN X y la GTX 980 TI eran las mejores GPUs para consumidores en ese momento, aunque un poco costosas. Para un ensamblaje de bajo presupuesto, una GTX 970 hubiese sido una buena opción, aunque por las particularidades de su arquitectura de memoria, no resultaba lo más conveniente para Deep Learning. Finalmente opté por una versión aún más económica, la GTX 960 de 4 GB”.

Una vez que el sistema estuvo ensamblado, Katerenchuk estuvo en condiciones de comparar su rendimiento con el de otros sistemas. Para ello utilizó una red neuronal TensorFlow y midió el tiempo que requirió construir un modelo de reconocimiento de imágenes, entrenándolo con una “receta” de 100 mil pasos (obtenida del sitio web de TensorFlow). “Llevé a cabo el experimento en los sistemas que tenía a mano, que fueron los siguientes: 1) Xeon E5450 3.0 GHz (8 núcleos); 2) Nvidia Tesla K20c 5 GB; 3) Nvidia GeForce GTX 960 4 GB; 4) Nvidia Tesla K80 12 GB. Desde el principio resultó obvio que entrenar un modelo de red neuronal usando una CPU no es una buena idea, y requiere un tiempo muy largo. Incluso mi GPU de bajo costo fue más de 6 veces superior que el sistema Xeon. La comparación de la GTX 960 con la Tesla K20 resultó sorprendente, teniendo en cuenta que la Tesla K20 cuesta más de 10 veces lo que cuesta la GTX 960, pero resultó 2,25 veces más lenta. La Tesla K80, por su parte, fue sólo un 23 por ciento más veloz, considerando que su costo es entre 20 y 30 veces superior”.

Crecimiento exponencial esperado del mercado de aprendizaje artificial
Crecimiento exponencial esperado del mercado de aprendizaje artificial

 

El investigador señala que las ventajas de las GPUs Tesla se deben hacer más notables cuando se las utiliza intensivamente, gracias a que en su memoria cabe más información. Pero para tareas de Deep Learning de “entrecasa”, una GPU económica como la GTX 960 es más que adecuada. “Cualquiera que tenga curiosidad por Deep Learning puede hacer la prueba por su cuenta, por el costo de un solo mes de suscripción a una instancia de GPU de AWS”, concluye Katerenchuk.

RADEON INSTINCT, LA RESPUESTA DE AMD

A pesar de que el por ahora incipiente mercado de Deep Learning de bajo costo depende casi exclusivamente de GPUs Nvidia equipadas con tecnología CUDA, AMD tiene preparada su ofensiva, denominada Radeon Instinct.

Ahora que el lanzamiento de sus GPUs Polaris está concluido, AMD comenzó a poner su foco en el mercado cómputo de alta performance (HPC, por High Performance Computing), pensando tanto en el presente como en el futuro de sus GPUs. En tal sentido, la empresa develó recientemente su iniciativa que combina hardware y software para servidores, denominada Radeon Instinct.

Dirigida directamente al floreciente mercado de Deep Learning y redes neuronales, con su nueva iniciativa AMD busca adueñarse de una parte significativa del que promete ser un muy grande y lucrativo filón para creadores de GPUs. La familia de placas Radeon Instinct puede considerarse una derivación de las FirePro S: placas con enfriamiento pasivo orientadas a instalaciones de servidores de gran escala, ofrecidas en un amplio rango de opciones de consumo y performance.

Las placas Radeon Instinct prometen la ventaja de un ecosistema abierto para Deep Learning
Las placas Radeon Instinct prometen la ventaja de un ecosistema abierto para Deep Learning

 

Mientras que el hardware sólido y potente es el necesario punto de partida para construir una plataforma consistente para Deep Learning, AMD aprendió a través de los años que se necesita más que eso para hacerse un lugar en el mercado HPC. Las librerías y frameworks son las que hacen el trabajo pesado para que a los programadores les resulte lo más fácil posible crear soluciones de negocios basadas en inteligencia artificial. Gracias a CUDA y a cuDNN (CUDA Deep Neural Network), Nvidia consiguió llevar a la mayoría de desarrolladores de software abocados a Deep Learning hacia su lado.

La buena noticia para AMD es que el software de base requerido para hacer Deep Learning con Radon Instinct está casi terminado con ROCm, la plataforma de cómputo en GPU pensada específicamente para brindar alta escalabilidad e independencia del lenguaje. Con ROCm, AMD cuenta con las herramientas de bajo nivel, como lenguajes de programación y compiladores, necesarias para la construcción de librerías y frameworks específicos para Deep Learning. Entonces, la construcción del stack de software de Radeon Instinct se trata simplemente de montar piezas sobre ROCm.

Ese stack ya tiene nombre: MIOpen, la respuesta de AMD a cuDNN. Las comparaciones de performance exhibidas por AMD en sus diapositivas deben tomarse con pinzas, pero como mínimo refuerzan el hecho de que la empresa ha hecho todo lo posible para poner a punto una librería poderosa para dar soporte a sus placas Instinct. Dicha librería será responsable de brindar rutinas optimizadas para las funciones básicas de las redes neuronales, como convolución, agrupación, normalización y activación.

En la capa superior del stack MIOpen estarán las versiones actualizadas de los principales frameworks de Deep Learning, como Caffe, Torch 7 y TensorFlow. Además de brindar soporte directo para librerías y frameworks, se espera que AMD esgrima los beneficios de ser open source. La plataforma ROCm descansa sobre esta filosofía, que representa un importante punto de contraste con el ecosistema cerrado de Nvidia. AMD considera que los desarrolladores de Deep Learning buscan un stack de software más abierto de lo que ofrece Nvidia, lo que le da la oportunidad de pasar a la cabeza.

Según AMD, MIOpen estará disponible durante el primer trimestre de 2017, mientras que las placas Instinct saldrán al mercado durante la primera mitad del mismo año.

SERVIDORES INSTINCT

AMD está en la situación privilegiada de poder ofrecer una plataforma de hardware completa, que incluya tanto GPU como CPU, por lo que aprovechará para ofrecer algo que sus rivales no puedan brindar.

De eso se trata la plataforma Naples para servidores, basada en arquitectura Zen. Además de prometer un incremento masivo de performance por sobre la ya arcaica plataforma Bulldozer, Naples permitirá a AMD reforzar la propuesta de aplicaciones heterogéneas con HSA.

Naples todavía no tiene fecha de lanzamiento, pero AMD se muestra optimista acerca de su capacidad de situarse en instalaciones de Deep Learning de gran escala, proveyendo tanto el poder de cómputo de GPU como de CPU.

TODO POR APRENDER

La empresa Dato, especializada en software de aprendizaje artificial, saltó a la fama gracias a la oferta de soluciones de la talla de IBM Watson a una fracción de su costo. Actualmente se está enfocando en llevar el aprendizaje artificial a las empresas medianas y pequeñas. “La novedad es que estamos lanzando kits de herramientas que son simples para poner en marcha, pueden ejecutar su propio modelo de validación y además informar cuánta ventaja se está obteniendo de su uso”, explica Carlos Guestrin, CEO de Dato. “El mercado para herramientas de aprendizaje artificial está actualmente haciendo posible que cualquiera las use. Quienes están familiarizados con los algoritmos de aprendizaje artificial pueden usar herramientas open source, pero nosotros brindamos herramientas que posibilitan construir aplicaciones sofisticadas sin necesidad de tener ningún conocimiento avanzado en esta materia”.

El caso de Dato es un ejemplo de los negocios que se están creando a partir de la aplicación de inteligencia artificial a problemas cotidianos. La clave para ingresar al ruedo es elegir la tecnología de GPU más conveniente y comenzar a ofrecer soluciones que den a los clientes la ventaja de contar con máquinas que piensan por ellos.

Autor

  • Pamela Stupia

    Editora de ITSitio para toda la región. Comenzó su camino en medios gráficos y digitales hace más de 10 años. Escribió para diario La Nación y revista Be Glam del mismo grupo.

    Ver todas las entradas

[mdx-adserve-bstreet region="MED"]

Pamela Stupia

Editora de ITSitio para toda la región. Comenzó su camino en medios gráficos y digitales hace más de 10 años. Escribió para diario La Nación y revista Be Glam del mismo grupo.

Publicaciones relacionadas

Botón volver arriba