Procesadores Neurales

NPU, el chip que llevará tu próximo móvil

La implementación de la inteligencia artificial en móviles no ha hecho más que empezar, pero no está claro que la NPU vaya a ser un factor clave

Ya hemos hablado un poquito del Huawei Mate 10, el nuevo móvil tope de gama de la marca china que, os podemos ya decir, hace unas fotos a la altura del iPhone 8, tiene una batería que dura un porrón y un diseño muy atractivo por un precio inferior a la competencia: 700 euros de lanzamiento.

El Mate 10 es el primer móvil del mercado con una NPU integrada, ¿pero qué significa eso?

Esto ya es interesante de por sí, pero hay un asunto más a tratar: su NPU. "¿Qué es eso y en qué se parece a las otras 'U', la CPU y la GPU?", os preguntaréis.

El problema con esto es lo de siempre: ¿qué hace falta para que la industria empiece a crear este tipo de procesadores y a integrarlos en sus dispositivos, de modo que estas ventajas sean aprovechadas por los creadores de app y de software?

Neural Processing Unit, o Unidad de Procesado Neuronal, suena a algo muy de ciencia ficción, pero es algo que va camino de implantarse en la mayoría de teléfonos. El Mate 10 es el precedente más claro, porque lo llama por su nombre, pero Apple también ha creado algo similar en su 'A11 Bionic'.

¿Pero qué  es una NPU?" Se trata de un pequeño cerebro, un chip que procesa información y contenido de una manera distinta a las CPU, que funciona mediante información numérica, y una GPU, que funciona con información gráfica. Las NPU sirven para interpretar ambas y sacar conclusiones con una velocidad y una eficacia mayor que las otras.

De ahí que su inclusión en los móviles sea algo interesante para muchos fabricantes: sobre el papel, permiten gastar menos batería y aligerar la carga de todo lo que tenga que ver con el reconocimiento de rostros en fotografías, traducción d. Es una forma de ganar potencia, si se apura, porque se consigue hacer más rápido algunas cosas y también se prescinde del uso de datos para los asistentes

Es una forma de ganar potencia, si se apura, porque se consigue hacer más rápido algunas cosas y también se prescinde del uso de datos para los asistentes inteligentes o para etiquetar personas en fotos de Facebook o para aplicar el mejor filtro posible a tu foto... Si es que esto funcionara así y no tirando de servidores de Amazon, Google, Facebook o Microsoft. Huawei ha sentado un precedente, pero puede que nadie siga su estela si no desarrolla aplicaciones prácticas que la gente pueda ver y entender.

El hecho de que Apple, siempre tan imitada, haya creado un chip con algo parecido a una NPU en su interior quizá sea algo más efectivo, sobre todo si las primeros usos de un reconocimiento facial más inteligente y potenciado con un chip especial se plasma en emojis animados para hacer el tonto.

No están las cosas entre las grandes tecnológicas, que compiten en un mercado muy cruel y que puede hundir a cualquiera en cuestión de 5 años (preguntad a HTC o Sony), como para invertir en un chip cuyas aplicaciones fácticas no se pueden vender tan fácilmente como "Tiene una pantalla mejor", "Hace mejores fotos", "Su batería dura todo un día" y cuyas ventajas son a largo plazo en muchos aspectos. Pero ahí están.

Estamos en un momento iniciático en lo que a la implementación de la inteligencia artificial y las funciones 'más inteligentes' de unos teléfonos ya de por sí muy listos se refiere, por lo que es difícil saber por dónde van a ir los tiros a un año o dos vista. Los asistentes están ahí y ya lo cooncemos muy bien, pero no son demasiado prácticos y necesitan tirar de datos para todo. El reconocimiento de caras, la aplicación de filtros y la mejora automática de imágenes también.

Sabemos que el mundo Android va a intentar imitar el avanzado reconocimiento facial de Apple y su FaceID, ¿pero se procesarán esos datos tirando de fuerza bruta de los procesadores de toda la vida o se apostará por algo más sutil y delicado como una NPU? No hay muchas más certezas sobre cómo usaremos los teléfonos dentro de no mucho tiempo, así que... toca esperar.

¿Qué es NPU, CPU y GPU?


En ocasiones, las abreviaciones informáticas pueden volvernos locos y alejarnos de su significado real. Por ejemplo, ¿Sabes qué es o en qué consisten NPU, GPU y CPU?

Vamos a ir por partes porque, aunque suenen parecido y las tres sean unidades de procesamiento, no podrían ser más distintos.

Por eso vamos a empezar por el más conocido, que nos servirá como base para explicar los demás: la CPU.El término CPU se acuñó en 1960, y hace referencia al núcleo central de algunos aparatos electrónicos. El dispositivo recibe peticiones desde el software, órdenes que le llegan en forma de complejos algoritmos que la CPU. La unidad las resuelve convirtiéndolas en instrucciones que seguirán el resto de los componentes de nuestro dispositivo.

Por poner un ejemplo, si ahora mismo subís el volumen del aparato desde el que nos estáis viendo, ésta orden llegará a la CPU, que la interpretará y dará instrucciones a los altavoces para que suenen más alto.

Por su parte, una GPU puede definirse como la unidad de procesamiento gráfico que trabaja junto a la CPU. Al ejecutar aplicaciones, juegos o contenidos que exigen un alto rendimiento de gráficos, si sólo estuviese trabajando la CPU acabaría sobrecargada.

Aquí es donde interviene la GPU, que alivia esta carga de trabajo asumiendo las tareas relacionadas con el aspecto gráfico. De ahí su nombre: Graphics Processing Unit.

Debido a que su función no es la misma que la de la CPU, tiene una arquitectura distinta y realiza los procesos de procesamiento de forma completamente diferente.

Y por último, desde hace muy poco podemos empezar a hablar de NPU o Neural Processing Unit. Si la GPU venía a ayudar al procesador, la NPU viene a sustituirlo.

Darwin, un procesador que funciona como un cerebro humano

Aunque su función es la misma que la de la CPU, este nuevo chip está concebido de forma completamente distinta, como una red neural.

Pero, ¿que ventajas tiene la NPU? Para empezar, la optimización, utiliza menos batería, es hasta 25 veces más rápida y hasta 50 veces más eficiente energéticamente.

Uno de los ejemplos más recientes es la NPU utilizada por el Huawei Mate 10 Pro, que es capaz de procesar 200 fotos en 6 segundos, mientras que si tuviera que hacer el mismo proceso con una CPU tardaría 120 segundos. Por eso en algunos casos se deja de hablar de "procesamiento" y se empieza a hablar de "Inteligencia artificial".

Contar con Inteligencia Artificial en una NPU mejorará el rendimiento de cualquier terminal, reducirá el consumo de la batería, otorgará una mayor seguridad y añadirá funciones adicionales a la cámara. Asimismo, podrá aprender de nuestros hábitos y ajustará cualquier parámetro para que nuestro dispositivo esté siempre en estado óptimo de funcionamiento.

                        Procesamiento Neuronal Artificial

El procesamiento neuronal originalmente se refería a la forma en que funciona el cerebro, pero el término es más típicamente usado para describir una arquitectura de computadoras que simula la función biológica. En las computadoras, el procesamiento neuronal da la capacidad al software de adaptarse a situaciones cambiantes y mejorar su función a medida que más información está disponible. El procesamiento neuronal se utiliza en el software para realizar tareas tales como reconocer una cara humana, predecir el tiempo, analizar los patrones de un discurso, y aprender nuevas estrategias en los juegos.



Myriad X es el primer sistema en chip (SOC) en el mundo que incluye un Motor de Informática Neuronal especial para acelerar las inferencias de aprendizaje profundo en dispositivos externos.

El nuevo chipset de Huawei es capaz de reconocer imágenes a una velocidad de dos mil unidades por minuto.

El cerebro humano está compuesto de aproximadamente 100 mil millones de neuronas. Estas neuronas son células nerviosas que individualmente tienen la función simple de procesar y transmitir información. Cuando las células nerviosas transmiten y procesan en grupos, llamado red neuronal, los resultados son complejos - como la creación y el almacenamiento en la memoria, el procesamiento del lenguaje, y reaccionar a los movimientos bruscos.

El procesamiento neuronal originalmente se refería a la forma en que funciona el cerebro, pero el término es más típicamente usado para describir una arquitectura de computadoras que simula la función biológica. En las computadoras, el procesamiento neuronal da la capacidad al software de adaptarse a situaciones cambiantes y mejorar su función a medida que más información está disponible. El procesamiento neuronal se utiliza en el software para realizar tareas tales como reconocer una cara humana, predecir el tiempo, analizar los patrones de un discurso, y aprender nuevas estrategias en los juegos.El cerebro humano está compuesto de aproximadamente 100 mil millones de neuronas. Estas neuronas son células nerviosas que individualmente tienen la función simple de procesar y transmitir información. Cuando las células nerviosas transmiten y procesan en grupos, llamado red neuronal, los resultados son complejos - como la creación y el almacenamiento en la memoria, el procesamiento del lenguaje, y reaccionar a los movimientos bruscos.El procesamiento neuronal artificial imita este proceso a un nivel más simple. Una pequeña unidad de transformación, llamada neurona o nodo, realiza una tarea simple de procesamiento y transmisión de datos. Como las unidades de proceso sencillo combinan la información básica a través de conectores, la información y el tratamiento se vuelve más complejo. A diferencia de los procesadores de ordenador tradicionales, que necesitan un programador humano para introducir información nueva, los procesadores neuronales pueden aprender por su cuenta una vez que se programan.

Por ejemplo, un procesador neuronal puede mejorar en las Damas. Al igual que un cerebro humano, el equipo se entera de que ciertos movimientos por un oponente se hacen para crear trampas. La programación básica podría permitir que el equipo caiga en la trampa la primera vez. Cuanto más a menudo aparezca una trampa, sin embargo, mayor es la atención que el equipo presta a los datos y comienza a reaccionar en consecuencia.

Los programadores neuronales llaman "peso" a la atención cada vez mayor que el equipo presta a ciertos resultados. El procesamiento tradicional proporcionaría el equipo sólo con las reglas básicas del juego y un número limitado de estrategias. El procesamiento neuronal, mediante la recopilación de datos y el prestar mayor atención a la información más importante, aprende las mejores estrategias con el tiempo.El poder del procesamiento neuronal está en su flexibilidad. En el cerebro, la información se presenta como un impulso electroquímico - una pequeña sacudida o una señal química. En el procesamiento neuronal artificial, la información se presenta como un valor numérico. Ese valor determina si la neurona artificial se activa o se queda dormida, y también determina dónde se envía la señal. Si una cierta pieza es trasladada a un cuadrado determinado, por ejemplo, la red neuronal lee esa información como datos numéricos. Esos datos se comparan con una cantidad creciente de información, que a su vez crea una acción o salida.

Un procesador digital tradicional hace muy bien muchas tareas. Es muy rápida, y hace exactamente lo que le diga que haga. Por desgracia, no puede ayudarle cuando usted mismo no entiende por completo el problema que desea resolver. Peor aún, los algoritmos estándar no manejan bien los datos ruidosos o incompletos, sin embargo, en el mundo real, esos son frecuentemente los que se encuentran. Una respuesta es utilizar una red neuronal artificial (RNA), un sistema de cómputo que puede aprender por sí mismo.La primera red neuronal artificial fue inventada en 1958 por el psicólogo Frank Rosenblatt. Llamada Perceptrón, intentaba modelar cómo el cerebro humano procesaba los datos visuales y aprendía a reconocer los objetos. Otros investigadores han utilizado desde entonces las redes neuronales artificiales similares para estudiar la cognición humana.Eventualmente, alguien se dio cuenta de que además de proporcionar conocimientos sobre la funcionalidad del cerebro humano, las RNA pueden ser herramientas útiles por su propia cuenta. Su patrón de coincidencia y las capacidades de aprendizaje les permitió hacer frente a muchos problemas que eran difíciles o imposibles de resolver por los métodos de cálculo y estadística. A fines de 1980, muchos institutos del mundo real estaban usando redes neuronales artificiales para una variedad de propósitos.A pesar de que las redes neuronales artificiales se refieren a menudo simplemente como redes neuronales, el nombre más bien pertenece a los cerebros biológicos en los que se basaron en un principio.

Estructura


Una red neuronal artificial funciona mediante la creación de conexiones entre muchos elementos de procesamiento diferentes, cada uno similar a una sola neurona en un cerebro biológico. Estas neuronas pueden estar físicamente construidas o simuladas por una computadora digital. Cada neurona tiene muchas señales de entrada y luego, sobre la base de un sistema de peso interno, produce una sola señal de salida que es normalmente enviada como entrada a otra neurona.Las neuronas están estrechamente interconectadas y organizadas en capas diferentes. La capa de entrada recibe la entrada, la capa de salida produce el resultado final. Por lo general, una o más capas ocultas se intercalan entre las dos. Esta estructura hace que sea imposible predecir o conocer el caudal exacto de los datos.