Xataka
Contenidos contratados por la marca que se menciona

+info

La inteligencia artificial, tal y como la conocemos actualmente, usa básicamente los mismos métodos que se empleaban hace décadas, cuando nació un movimiento que buscaba llevar la inteligencia en sentido amplio a las máquinas. La primera red neuronal, de hecho, la desarrolló el propio Marvin Minsky en 1951.

Eran los albores de la computación, articulada a través de “súper ordenadores” construidos a base de válvulas de vacío primero, y transistores después, con una potencia de procesamiento enorme para aquella época, pero que es fácilmente superable hoy en día por la potencia de procesamiento de un smartphone.

La IA “fuerte”, entendida como la que sería capaz de rivalizar con la inteligencia humana, está lejos de ser realidad, pero la IA “débil” si se usa ampliamente. Lo cierto es que en el campo de la IA ha habido épocas de un gran optimismo y épocas en las que prácticamente se abandonó esta línea de acción en el uso de los ordenadores.

Ese momento, llamado “el invierno de la IA”, se vivió desde los años 80, cuando incluso algunos de sus “padres”, como Minsky, se mostraron pesimistas acerca de la posibilidad de conseguir que los ordenadores fueran realmente “inteligentes”.

Con la llegada del Big Data, así como con el aumento exponencial de la potencia de cálculo de los súper ordenadores y los centros de datos de empresas como Microsoft, Google, Amazon, HP o Apple, se recuperaron métodos de implementación de la IA mediante Machine Learning (ML) y métodos como Deep Learning (DL) usando redes neuronales.

IA, ML y DL

A modo de recordatorio, lo primero que hay que decir es que IA es el paraguas bajo el que se encuentran los otros dos conceptos. La IA se puede implementar a través de diferentes métodos. Uno de ellos es la programación basada en reglas, definidas laboriosamente por los desarrolladores para llevar a cabo una tarea “inteligente”, como puede ser jugar al ajedrez.

Otro de estos métodos es el aprendizaje máquina, en el que es el propio ordenador el que “aprende”. Un caso típico es el de los ordenadores que aprenden a jugar a juegos como el Go, ganando a los grandes maestros mundiales tras desarrollar un estilo de juego propio. A partir del análisis de miles y miles de partidas se evalúa la calidad de las jugadas. Es una “calidad” estadística obtenida a través del llamado aprendizaje ML.

Una de las formas de implementar los algoritmos de aprendizaje máquina es a través del aprendizaje profundo o Deep Learning (DL) usando redes neuronales de varios niveles. Hay más formas de implementar estos algoritmos como son los árboles de decisiones, pero es DL el que está revolucionando la IA.

La nube, el hogar de la IA

En los últimos años, ha sido la nube el “lugar” donde se ha desarrollado la IA. Una de las razones estriba en la enorme potencia de cálculo concentrada que se tiene en los centros de datos. Son estos data centers los que permiten que el cloud computing tenga su razón de ser. Los primeros ejemplos de IA que llegaron a los usuarios fueron los asistentes personales, como Siri, el asistente de Google o Cortana, sin olvidar a Alexa.

Estos asistentes recogían nuestros comandos de voz, los llevaban a la nube, donde tenía lugar el reconocimiento de voz y se devolvía la traducción al smartphone para llevar a cabo la petición concreta del usuario.

Otro ejemplo es la clasificación de imágenes automática. Es lo que hace Google Photos o Flickr cuando ordenan nuestras galerías de imágenes, así como Amazon entre otros. Las fotos se llevan a la nube, donde se procesan para encontrar elementos reconocibles tales como gatos, edificios, paisajes, personas, etcétera.

Básicamente, la IA se usa para la extracción de relaciones a partir de los datos que se inyectan en los sistemas de ML. Así, una imagen se identifica como un coche tras haber analizado los píxeles de la imagen y encontrado que la relaciones entre ellos corresponden a un coche.

Los dispositivos, la segunda casa de la IA

De todos modos, el uso de la nube para procesar los datos presenta algunos inconvenientes. En primer lugar, tenemos la necesidad de tener conexión de Internet para que las aplicaciones de IA funcionen. Además, la seguridad de los datos se ve expuesta al trasiego desde el dispositivo local hasta los servidores en la nube. En caso de tener conexión, nos enfrentamos a la latencia, que es el tiempo que tardan los datos en ir y volver a la nube. En aplicaciones que requieran una respuesta en tiempo real, esta latencia puede ser mayor de lo deseable, aunque hablemos de unos milisegundos.

Así pues, empresas como Amazon empezaron a hablar, allá por 2016, de llevar la IA más cerca de las aplicaciones. La llamada “computación en el edge” consiste en hacer que los dispositivos que no están en la nube, pero se comunican con ella, sean los que se encarguen de procesar datos localmente en vez de tener que llevarlos a la nube para identificarlos, clasificarlos o encontrar relaciones entre ellos.

La nube es el gimnasio de la IA

El concepto es sencillo: las redes neuronales se “entrenan” en la nubepara modelar los parámetros estadísticos que permiten que esa red neuronal se comporte de un modo inteligente. Un ejemplo es el de la identificación de una persona en un vídeo para aplicar filtros digitales como el desenfoque de la escena en segundo plano.

Este entrenamiento es el que se vale del Big Data y la elevada potencia de cálculo de los centros de datos para construir los modelos de Deep Learning a partir de la parametrización de las redes neuronales.

Una vez creado el modelo de red neuronal, se lleva a los dispositivos, que serían, siguiendo la metáfora de la nube, como una especie de gimnasio, la pista de atletismo donde la IA competiría. De este modo, es posible que una imagen captada por una cámara se identifique en el propio dispositivo a través un proceso llamado “inferencia”. La inferencia es el proceso mediante el cual, en el ejemplo del reconocimiento de imágenes, los píxeles pasan por los diferentes niveles de la red neuronal hasta llegar a una identificación positiva en alguna de las categorías para las que se ha entrenado a la red neuronal.

En otros casos, se reconocería un comando de voz, o se traduciría una palabra, y sin que haya que estar conectado a Internet para ello.

El smartphone, paradigma del edge computing

Los teléfonos móviles pueden verse como dispositivos “en el edge”. Se comunican con la nube, cuentan con un procesador de gran potencia de cálculo y son capaces de ejecutar apps. De todos modos, la potencia de cálculo de los procesadores “clásicos” no es suficientemente elevada como para manejar modelos de redes neuronales, que, básicamente, necesitan manejar grandes cantidades de datos de forma simultánea. Sean los píxeles de una foto o los “simples” de un sonido, se necesita procesamiento en paralelo.

Empresas como Amazon o Huawei han sabido entender este mensaje “lanzándose a la piscina” y, en el caso de Huawei, desarrollando un chip específico para el procesamiento de estas redes neuronales en los smartphonesla NPU o Neural Processing Unit. En general, podemos hablar de que la NPU que debutó en los Kirin 970 de los móviles Mate 10 está pensada para procesamiento en paralelo en escenarios tales como el reconocimiento de imágenes. El potencial de este tipo de chips radica en ofrecer un procesamiento varios órdenes de magnitud más acelerado que usando la CPU, con un consumo de energía también varios órdenes de magnitud menor.

De este modo, el reconocimiento de voz, de imágenes o de otros datos que se empleen en aplicaciones de IA, puede llevarse a cabo localmente sin que sea preciso llevar estos datos a la nube y sin que el usuario aprecie retardo alguno durante el uso de las apps de IA.

Una tendencia en alza

Cada vez más empresas están desarrollando su estrategia Cloud incorporando a los dispositivos en el edge como actores del procesamiento de los algoritmos de IA. Es un escenario que tiene sentido, a la vista de la potencia de procesamiento de los SoCs para dispositivos móviles y de las ventajas que ofrece en aspectos como la latencia o la seguridad.

Huawei ha apostado por ello y ha abierto el camino para una aceleración mediante hardware a través de la NPU que ya va por la segunda generación, una vez integrada en el Kirin 980 con una tecnología de 7 nm y doble chip. Es necesario que las herramientas de desarrollo de aplicaciones lleguen a los programadores para que aprovechen todo el potencial de este acelerador de IA, pero el camino está ya trazado.

Fotos | Huawei, Red Neuronal de Marvin Minsky: Image courtesy Gregory LoanML/DL/IA de NVIDIACentro de datos de GoogleDiferencia entre entrenamiento en inferencia de NVIDIA