HPC e Inteligencia Artificial. ¿ Rivales o complementarios ? ¿ Convergentes o independientes ?.

Son dos de las tendencias actuales en ciencias de la computación y me he preguntado que posible relación podrían tener. Tras una búsqueda no he encontrado nada interesante.

¿ Se puede decir algo más que HPC es sobre todo hardware y AI sobre todo software ?. ¿ Se puede decir algo más que HPC es sobre todo fuerza bruta y la IA algoritmos sofisticados ?. Si esto es lo único que se puede decir, entonces son más complementarios que rivales.  Por otra parte desconozco cuán paralelizables (estoy pensando mucho en paralelismo últimamente) son los algoritmos de la IA, pero entiendo que en cierto modo la IA es usuaria de los sistemas HPC (más sobre ésto en el apéndice con enlaces al final de la entrada). Finalmente la relación más obvia sería el uso de la IA para resolver los problemas de diseño de un sistema HPC. Sin embargo, modulo la borrosa definición de la IA, parece que ésta se utiliza más en aplicaciones de alto nivel (identificación de imágenes, reconocimiento de habla etc…).

¿ Se puede decir algo más que en el cerebro-mente humanos ambos , ordenador potente y algoritmos sofisticados, están aparentemente integrados ?

Por una parte, al  menos esa es la sensación para el usuario. Cuando pensamos, como seres humanos, en cualquier cosa, no pensamos primero en el “hardware”, en nuestro “hardware”, cosa que de momento sí tiene que hacer un programador de un sistema de HPC (y cada vez tendrá que hacer más a menudo cualquier programador, por la tendencia multicore). Venimos programados para pensar, y en un principio nos somos conscientes de ello.

Quizás ésto sea un situación histórica, y sí lo hicimos en el pasado, cuando empezamos a pensar. Aunque lo dudo, teniendo en cuenta lo recientes que son la idea de la localización del pensamiento en el cerebro, la teoría celular y la fulminación de la teoría reticular de la organización cerebral (Cajal). Por otra parte casi es mejor que no pensemos en ello, teniendo en cuenta el estado “pañaleril” en el que se encuentran las neurociencias. De momento serían de poca ayuda.

Pero esto sólo es una parte de la historia.

La otra parte, la ejemplificamos con un directivo de empresa, que de alguna manera, “piensa” en su organización como en un sistema multiprocesador,  e incluso “piensa” en un empleado como en un sistema uniprocesador (y el sentido de la relación laboral por cuenta ajena es precisamente éste: a cambio del salario, el empleado entrega su tiempo y su voluntad, debe de seguir las instrucciones) y cuando se dirige a él tiene que intentar conocer su “hardware”, para ser eficaz.

Por lo tanto, inicialmente, uno no piensa en su propio hardware, pero sí en el de los demás (esto es lo que en neurociencias se llama tener una teoría de la mente (en un principio de los otros, y a lo mejor, más tarde, de rebote, por reflejo, de uno mismo).

Y para rizar el rizo, aunque lo que los demás tienen dentro de la cabeza es un sistema HPC (todavía no  sabemos de que tipo), cualquiera no piensa en ellos como tal, sino más bien como en un sistema uniprocesador (así es como se comportan).

Paradójico: HPC e IA, tan integrados y tan alienados, a la vez.

En fin, contestando a la pregunta sin tanta reflexión post-moderna gratuita, sin sentido ni dirección, parece que ambas disciplinas de momento siguen una trayectoria más independiente que convergente, aunque creo que su destino tiene que ser lo último, y como se puede ver en los enlaces, así está empezando a ser (combinadas con una tercera tendencia, el Big Data)…

Lector, siento no poder decir nada más elaborado sobre éste tema. Es de las pocas veces que no he encontrado ningún documento externo realmente informativo y no es fácil construir sobre el vacío con cinco minutos de tiempo.

P.s. Enlaces (la mayoría encontrados tras escribir el último párrafo; algunos muy informativos). 

I. Búsqueda [HPC “Artificial Intelligence”]

Único enlace encontrado. (ver bibliografía dónde se encuentra otra posible referencia interesante: Dean, J, Corrado, G. S, Monga, R, Chen, K, Devin, M, Le, Q. V, Mao, M. Z, Ranzato, M, Senior, A, Tucker, P, Yang, K, and Ng, A. Y. Large scale distributed deep networks. In Advances in Neural Information Processing Systems 25, 2012.).

II. Búsqueda [HPC “Deep Learning”].

a) DESTACADO (anti-Google): Baidu Supercomputer Tops Google in Image Recogition

Ésto ya lo sabía, o más bien, ya lo he experimentado yo desde hace tiempo.

Extracto.

In an effort to oust Google from its the top spot in image recognition, Baidu, Inc. has dedicated a supercomputer to what it claims to be the world’s most accurate computer vision system.

Pero no sabía que era gracias a un sistema HPC.

b) Quizás se puede considerar que el procesador de IBM TrueNorth, basado en el paradigma neuromórfico,  intenta integrar ambas corrientes. Cabe decir que se trata más de un proyecto, de un prototipo que de un producto comercial.

The new approach to design, referred to variously as neuromorphic or cognitive computing, is still in its infancy, and the IBM chips are not yet commercially available. Yet the design has touched off a vigorous debate over the best approach to speeding up the neural networks increasingly used in computing. 

Proyecto además financiado por fuentes externas:

IBM’s research was funded by the Defense Advanced Research Projects Agency, a research arm of the Pentagon, under a program called Systems of Neuromorphic Adaptive Plastic Scalable Electronics, or SyNapse. According to Gill Pratt, the program manager, the agency is pursuing twin goals in its effort to design ultralow-power biological processors.

Fuente. El titular no puede ser más inexacto: nadie sabe de momento como  funciona el cerebro de verdad.

La idea de diseñar un chip específico para aplicaciones de redes neuronales ya existía. Nos lo cuenta el pionero en Deep Learning, Yann LeCun,  en su página de Facebook:

First, I’m all in favor of building special-purpose chips to run neural nets. In fact, I have worked on this myself. My NYU lab started the NeuFlow project, which implements convolutional neural nets in hardware (seehttp://www.neuflow.org/ ). the NeuFlow project was initially implemented at NYU on a Xilinx Virtex-6 FPGA (http://yann.lecun.com/exdb/publis/index.html#farabet-suml-11 ), and later turned into an ASIC design by Eugenio Culurciello and his team at Purdue (http://yann.lecun.com/exdb/publis/index.html#pham-mwscas-12 ).

The NeuFlow design implements convolutional networks which we know can produce state of the art performance on a number of vision tasks such as object recognition, semantic segmentation, obstacle detection, etc. So we know that the hardware could be practically useful and was worth the effort and the cost (mostly paid for by ONR).

Por cierto no le convence True North.

Now, what wrong with TrueNorth? My main criticism is that TrueNorth implements networks of integrate-and-fire spiking neurons. This type of neural net that has never been shown to yield accuracy anywhere close to state of the art on any task of interest (like, say recognizing objects from the ImageNet dataset). Spiking neurons have binary outputs (like neurons in the brain). The advantage of spiking neurons is that you don’t need multipliers (since the neuron states are binary). But to get good results on a task like ImageNet you need about 8 bit of precision on the neuron states. To get this kind of precision with spiking neurons requires to wait multiple cycles so the spikes “average out”. This slows down the overall computation. 

c) En relación con lo anterior debemos de destacar el trabajo del destacado investigador en teoría de la computación, Leslie Valiant que ha trabajado tanto en teoría de redes neuronales como en teoría de computación paralela (Modelo BSP, y más recientemente el Bridging model para la computación multicore).

Extractos de su página web.

Computer science encompasses the study of both artificial as well as natural phenomena. The former concern artificially created devices such as computers. The latter relate to the many step-by-step, or computational, processes found in nature such as in the brain or in the course of biological evolution. In most areas, whether natural or artificial, the ultimate limitations of such processes are as yet not well understood. The potential of computing devices may be currently far from being fully realized, while fundamental quantitative questions in neuroscience and evolution remain unanswered.

In computer systems major conceptual challenges remain in controlling, load-balancing and programming large parallel systems, whether they be multicore devices on a chip or highly distributed systems. Professor Valiant’s most recent interest in this area concerns the problem of how to design algorithms for multi-core devices that are portable, and run efficiently on wide classes of architectural designs with widely varying performance characteristics.

A fundamental question for artificial intelligence is to characterize the computational building blocks that are necessary for cognition. A specific challenge is to build on the success of machine learning so as to cover broader issues in intelligence. This requires, in particular a reconciliation between two contradictory characteristics–the apparent logical nature of reasoning and the statistical nature of learning. Professor Valiant has developed a formal system, called robust logics, that aims to achieve  such a reconciliation.

d) Presentación de Baidu: Deep Learning Meets Heterogeneous Computing. Baidu lo tiene claro, son complementarias, también con Big Data:

Baidu Chief Scientist Andrew Ng delivered a keynote address at the GPU Technology Conference on March 19 in San Jose, Calif. During his hour-long talk to a packed house of 2500+, Dr. Ng provided a look at the driving forces behind recent advances in deep learning.

He noted that deep learning has taken off in the last five years as a result of two factors: high-performance computing (HPC) and the increasing digitization of our lives.

Drawing an analogy to building a rocket, Dr. Ng described how GPU-based HPC systems provide a powerful “engine” while massive amounts of data create the “fuel.”

Screen-Shot-2015-03-20-at-5.07.34-PM

Es más afirma que la condición de posibilidad de Deep Learning es el HPC.

e) Nvidia y Deep Learning, artículo en InsideHPC.

f) Ersatz Labs is a newly-launched company that provides deep neural network architectures paired with GPUs for fast computation.

g) Interesante. Compilación de varios testimonios de expertos. Un nombre destaca: Andrew Ng.

Extracto.

We can think of two reasons for using distributed machine learning: because you have to (so much data), or because you want to (hoping it will be faster). Only the first reason is good.

Distributed computation generally is hard, because it adds an additional layer of complexity and communication overhead. The ideal case is scaling linearly with the number of nodes; that’s rarely the case. Emerging evidence shows that very often, one big machine, or even a laptop, outperforms a cluster.

We’ve compiled a few benchmarks and expert opinions on this matter.

h) Interesante también (HPC Wire, 30 abril 2015: Machine Learning Guru Sees Future in Multi-GPU Clusters) y con esto cerramos la recopilación: tema de guru, tema recién salido del horno. Es decir queda claro que la relación de estas dos tendencias / disciplinas es un tema recién bastante nuevo. El  HPC es una tecnología con una trayectoria tecnológica y comercial madura, realmente quien acaba de salir del laboratorio es la IA.

Extracto.

NVIDIA’s Kimberly Powell shares the news in a recent blog post, noting that until recently, many deep learning researchers worked on systems with just one GPU. The field underwent a burst of activity, facilitated by the rise of algorithms, the availability of large datasets (thanks to sensor data and the Internet) and of course parallel processing via GPUs. Trailblazers in the space set new records in applications like feature detection and language processing with fairly humble, from an HPC perspective, GPU-accelerated systems, but it wasn’t long before the models hit the compute ceiling.

Nótese que afirma que Deep Learning está avanzando no por la necesidad que Big Data tenga de Deep Learning, sino por lo contrario, por la necesidad que Deep Learning tenía de Big Data.

For NYU, the logical next step was moving to a multi-GPU cluster to support bigger models with more training parameters. Their new deep learning computing system, called “ScaLeNet,” is an eight-node Cirrascale cluster with 32 NVIDIA Tesla K80 dual-GPU accelerators.

Me gusta el nombre de Cirrascal.

“Multi-GPU machines are a necessary tool for future progress in AI and deep learning,” says deep learning pioneer Yann LeCun, who founded the NYU Center for Data Science. “Potential applications include self-driving cars, medical image analysis systems, real-time speech-to-speech translation, and systems that can truly understand natural language and hold dialogs with people.”

Actualización 20 de junio 2015..

–Visto en el blog SO: ¡¡ Muy relevante !!

Un investigador que ha explorado a fondo la relación del hardware con la IA es Olivier Temam. Se recomienda explorar su página web.

Extracto. 

  • Putting it all together. These remarkably simultaneous trends provide an almost unique opportunity: designing accelerators which can be highly energy efficient because they need to execute only a very limited set of algorithms (ASIC-like), but which would still be useful for a broad set of applications. And on top of it, the inherent robustness of neural networks can make such accelerators fault-tolerant.
    I gave a keynote on the topic at ISCA in 2010 entitled The Rebirth of Neural Networks; I added on the slides comments roughly corresponding to what I said; the content could be a bit outdated though.
  • How to proceed ? Our “roadmap” consists in progressively improving the application scope, machine-learning accuracy, energy efficiency, performance and fault tolerance of neural network accelerators. On the way, we create different designs which illustrate our progress. We implement all accelerators at least till the layout stage, and whenever possible funding-wise, we tape them out.

Too far-fetched for industry ? Think again. There is no commercial product yet, but several major companies have recently started to work on (hardware) neural networks:

hype_curve

 

–Visto en InsideHPC.

La última conferencia GPU Technology Conference se ha centrado en Deep Learning. Los videos de algunas presentaciones.

 

Terms and conditions: 1. Any commenter of this blog agrees to transfer the copy right of his comments to the blogger. 2. RSS readers and / or aggregators that captures the content of this blog (posts or comments) are forbidden. These actions will be subject to the DMCA notice-and-takedown rules and will be legally pursued by the proprietor of the blog.

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: