viernes, 6 de abril de 2018

Procesadores de inteligencia artificial para móviles: qué son y para qué sirven

Si hay un concepto que lleva meses en boga, ése es seguramente el de la Inteligencia Artificial. Así, en mayúsculas, pues nos referimos al concepto general, al nombre que hemos dado al conjunto de procesos que se articulan mediante programas informáticos, software, y que prometen llevar a cabo determinadas operaciones que se consideran más propias de la inteligencia humana.

La Inteligencia Artificial se conoce desde hace mucho pero hasta hace poco no fue auténtica tendencia. Y lo fue gracias a que sus procesos llegaron a los teléfonos móviles. Primero únicamente como software y después con componentes del propio teléfono específicos para su ejecución. Fue cuando nacieron los procesadores de inteligencia artificial, los chips para procesamiento neural. Es lo que exploraremos en este artículo, qué son exactamente y para qué sirven.

Qué es el procesamiento neural



Hablar de procesamiento neural es hablar de algoritmos, de código, que tratan de emular el funcionamiento de un cerebro humano. Pese a que habitualmente suele englobarse todo dentro del concepto de Inteligencia Artificial, cuando lo reducimos a los procesos que se ejecutan en este tipo de software es más correcto hablar tanto de machine learning como de deep learning, siendo el primero más general y el segundo más específico. Concretamente, un subconjunto de operaciones englobadas dentro del primero.

El machine learning consiste en "usar algoritmos para parsear datos, aprender de ellos y luego ser capaces de hacer una predicción o sugerencia sobre algo", mientras que el deep learning es "un subconjunto dentro del campo del Machine Learning, el cual predica con la idea del aprendizaje desde el ejemplo".

Hablar de procesamiento neural es hablar de algoritmos, de código, que tratan de emular el funcionamiento de un cerebro humano

Todo ello puede resumirse, perdiendo matices por el camino, en que ambos procesos buscan que un algoritmo resuelva problemas por su cuenta en base a los datos que les aportamos, habiendo varias formas de aportar estos datos. Su uso en móviles trata de resolver distintas cuestiones para las que estas inteligencias artificiales han sido diseñadas, como a procesar fotografías, a ahorrar energía o sencillamente, a hacer que el teléfono sea más fluido aprendiendo de nuestro uso y el software del propio teléfono.

Así que gracias a este procesamiento neural que hemos comentado, los teléfonos son ahora capaces de utilizar la cámara para reconocer objetos, escenas e incluso personas, que es probablemente el uso más llamativo de estos algoritmos. Y para su correcto funcionamiento, los fabricantes han ofrecido apoyo en forma de chips específicos, los chips de procesamiento neural que ya están en circulación por el mercado.

Hardware para apoyar al software



Recorriendo el mismo camino para llegar al mismo punto, o a un punto muy similar, los diseñadores y fabricantes de procesadores para móviles empezaron el pasado año a ofrecer soluciones de hardware para los procesos de aprendizaje neural. Como apoyo para el software, se empezaron a incluir chips específicos dentro de los distintos SoCs, y en la actualidad casi todos los fabricantes tienen su propia solución.

Casi todos los procesadores del mundo móvil se basan en la arquitectura ARM, lo que significa que las litografías o diseños de éstos marcan en buena medida el devenir del resto del mercado, aunque a cada fabricante le compete después implementar o no implementar estas mejoras. Así que ARM puso un importante grano de arena cuando desarrolló DynamIQ, una estructura interna para núcleos que serviría para potenciar la ejecución e código de inteligencia artificial.

Apple, Qualcomm, Huawei y Samsung cuentan ya con soluciones físicas para la ejecución de código de machine learning y deep learning

Yendo más allá de la estructura clásica de CPUs, GPUs y distintos añadidos para fotografía, soporte de pantallas y compañía, DynamIQ proponía una nueva estructura para ejecutar procesos de procesamiento neural, machine learning y deep learning. Pero el resto de fabricanetes también puso de su parte y no tardaron en llegar las implementaciones reales de estos chips específicos.

Apple incluyó un chip llamado Neural Engine, o motor neural, en su reciente Apple A11 Bionic, Huawei hizo lo propio con su NPU, o Neural Processing Unit, en el Kirin 970 y no tardaron en llegar las respuestas tanto de Qualcomm como de Samsung. Los primeros, por ejemplo, añadieron el NPU Zeroth o componentes remodelados, como un DSP Hexagon rediseñado a tal efecto. Pero, ¿de qué se encargan estos chips?

Qué hace un chip de procesamiento neural



Podemos resumirlo en que el chip del procesamiento neural es el que manda en un procesador que lo contiene, al menos cuando hablamos de la ejecución de código específico para machine learning o deep learning. Este código requiere de una cantidad ingente de cálculos, de ahí que el chip se encarga de realizar parte de ellos y de asignar los restantes en base a la disponibilidad de cada una de las partes del SoC.

Un chip de procesamiento neural se encarga de poner a trabajar a todos los componentes internos del procesador para ejecutar código de inteligencia artificial. La 'paralelización" de procesos se logra gracias a que algunas partes del código se ejecutan en la GPU, las más complejas en la GPU y el ordenamiento y parte de la carga se la lleva el propio chip, ya sea el NE, el NPU o la implementación que toque en cada momento.

Durante la ejecución de código de procesamiento neural, un chip diseñado para ello trata de que todo se ejecute a la mayor velocidad posible, pero también de la forma más eficiente. Lo mismo ocurre con el resto del código, pues entre las atribuciones de este tipo de chips encontramos otras tareas como las que comentábamos antes. El control de la cámara, la gestión de la batería, la interfaz.

Una IA gestionará los recursos de todo el teléfono y procesará la información de forma más eficiente.

Gracias a estos chips, la información captada por los sensores de las cámaras de un smartphone se procesan de forma más veloz y eficiente, y en función de qué teléfono tengamos entre manos también obtendremos funciones más avanzadas. Como la lectura de la profundidad, la selección de los ajustes más adecuados para cada fotografía o incluso la predicción del movimiento de lo que tengamos delante.

Así que a la pregunta de si la inteligencia artificial es algo útil o sólo se trata de un concepto para tratar de vender humo, la respuesta es la primera. Una IA instalada en nuestro teléfono hará que todo funcione mejor, y el beneficio siempre será para el usuario. Luego dependerá, claro está, de que la propia IA esté mejor o peor diseñada. Pero ahí entra la labor de cada fabricante.

No, una inteligencia artificial instalada en nuestro móvil no hará que éste tome conciencia de sí mismo, no hablamos de utopías de la ciencia ficción plausibles a medio o largo plazo en otros sectores. Una IA gestionará los recursos de todo el teléfono y procesará la información de forma más eficiente. En definitiva, nos beneficia. Y cada nueva versión que llegue al mercado será mejor que la anterior. En teoría.

Fuente: xatakamovil

No hay comentarios:

Publicar un comentario