Xataka
Contenidos contratados por la marca que se menciona

+info

Los terminales móviles empiezan a integrar tecnologías específicas para acelerar la ejecución de tareas de IA. Al mismo tiempo, las aplicaciones de IA empiezan a ser habituales en las tiendas de apps o en algunas habilidades del sistema, como la identificación automática de escenas en la cámara de fotos, sin ir más lejos.

De todos modos, empieza a haber también una fragmentación del hardware en los dispositivos móviles. Unos llevan tecnologías para acelerar la ejecución de tareas de IA, mientras que otros no están optimizados en algunos aspectos o no lo están en absoluto. Esto no debería suponer un mayor problema ahora, aunque en el futuro cercano llegará a darse el caso de que con un terminal dado podremos acceder a apps de IA, mientras que con otros no, o su rendimiento será muy inferior.

De qué depende la optimización

Que un dispositivo tenga un hardware compatible con la aceleración de aplicaciones de IA no significa necesariamente que se aproveche. Para que sea así, es preciso que las aplicaciones estén programadas de un modo tal que sepan “redirigir” las tareas hacia el acelerador.

De poco sirve que una app sea de IA y haya una NPU en el smartphone si el programador no ha usado las “APIs” correspondientes a la NPU de modo que asuma la ejecución de las tareas en vez de, por ejemplo, derivarlas hacia la nube o ejecutarlas en la CPU sin optimizar.

Otro tanto pasa con el procesador: si se usa, por ejemplo, un entorno de desarrollo para Qualcomm para escribir una app de IA, al ejecutarse en un procesador Kirin, puede que no funcione igual de bien y viceversa.

Lo que está sucediendo es que el propio sistema operativo empieza a encargarse de “hablar” con los procesadores o los aceleradores. De este modo, un programador, simplemente escribiendo una app en el entorno de desarrollo de Android 8.1 o Android 9 en el futuro, ya estará aprovechando la aceleración de hardware de cada procesador o acelerador, al ser el propio SO el que “habla” con el hardware.

Es lo que sucede con Android 8.1 y el benchmark Ai Benchmark del que hablaremos más adelante: en la versión beta, para Android 8.1, el software usa perfectamente la NPU del Huawei P20 Pro.

En otro orden de cosas, a pesar de que ya hay terminales con aplicaciones como la detección automática de escenas en la cámara de fotos, eso no significa necesariamente que tengamos un móvil con un hardware específico para acelerar apps de Inteligencia Artificial. Eso solo significa que el fabricante ha programado la cámara para que use un algoritmo de IA, pero puede que se ejecute usando el procesador de toda la vida, o como mucho, usando la tecnología del acelerador gráfico.

Tímidamente empiezan a verse programas para medir el rendimiento de apps de IA. Pero incluso así, no siempre tenemos la certeza de que esos benchmarks usen la aceleradora (en caso de que exista) o se ciñan al uso de la CPU y/o la GPU.

Manos a la obra

De momento, solo hay unas pocas aplicaciones que evalúen el rendimiento de los terminales en aplicaciones de IA. Concretamente nos centraremos en tres de ellasAImarkMaster Lu y AI Benchmark. En realidad son cuatro si contamos la versión beta de Ai Benchmark.

Los dos primeros llevan ya tiempo usándose para evaluar la capacidad de los smartphones para ejecutar tareas y apps de IA, pero es el tercero el que mejor representa la evolución de las herramientas de evaluación de los terminales móviles como aptos para ejecutar apps “inteligentes”.

La forma de usar estos programas es sencilla, salvo Master Lu, que está en chino y tendremos que ir “a tiro fijo” a la opción de benchmark.

El caso más ilustrativo acerca del funcionamiento de la IA en los móviles y la relación entre la programación de la app, el sistema operativo y el terminal que estemos usando es AI Benchmark. En este caso, la versión “normal” funciona sobre todos los dispositivos y muestra una dependencia fuerte con la CPU, pero menos fuerte con el hardware para acelerar la IA (la NPU o Neural Processing Unit). La versión beta solo funciona con Android 8.1 y superiores y detecta la presencia de hardware de aceleración.

AImark

Este software es bastante sencillo de instalar y de usar. Tras instalarlo, nos da la opción START, luego nos preguntará acerca de los permisos de la aplicación y pasará a realizar la prueba de rendimiento.

Una vez hecha una primera evaluación, podemos hacer RE-TEST o acceder a la BENCHMARK CHART con un listado de terminales y su puntuación. Es una prueba que usa tres conocidos algoritmos para la implementación de redes neuronales, especialmente en el reconocimiento de imágenes: Inception V3, ResNet34, y VGG16. Esta app usa el SDK de Qualcomm. Con todo, los mejores resultados se obtienen con terminales Huawei.

Samsung, en el Note 8, con procesador Exynos 9810, no consigue buenos resultados, posiblemente porque la app no “sabe usar” los procesadores Exynos al no estar programada con el SDK de Samsung. El ranking es una forma de ver si nuestro terminal es óptimo para el uso de app de IA.

Master Lu

Es parecido a AImark en tanto en cuanto usa básicamente los mismos tres algoritmos para el reconocimiento de imágenes. Para acceder al benchmark, en la pantalla de inicio tendremos que pulsar en el icono de abajo a la izquierda que parece un reloj cuentarrevoluciones. Después, debemos pulsar en el icono con la cabeza y la palabra AI. Seguidamente, pincharemos en el primer botón que está debajo del icono de la izquierda. El botón resaltado bajo este último abre la página de ranking.

En este benchmark encontramos resultados similares para terminales de gama alta. Con el resultado y el ranking, podemos ubicar a nuestro terminal en la escala de competencia de uso de apps de IA.

AI Benchmark

La versión “normal” de este benchmark ofrece resultados favorables a algunos terminales y bastante malos para otros que, teóricamente, tendrían que destacar de manera especial. Los resultados no son demasiado coherentes, estando las diferencias de resultados en aspectos que pueden estar relacionados con versiones concretas del kernel del sistema operativo. Con todo, el ranking de resultados da una indicación sobre lo que podemos esperar de nuestro terminal. En este caso, se usan nueve algoritmos para el procesamiento de redes neuronales.

La versión beta de este benchmark, sin embargo, cambia radicalmente. El sistema operativo Android 8.1 tiene integrada la compatibilidad con IA de un modo más fuerte que en Android 8.0 y la app está programada para que los algoritmos usen el hardware de aceleración, si existe.

En este caso, el Huawei P20 Pro destaca con una claridad meridiana sobre el resto, al ser el único que tiene NPU. En concreto, el primer puesto del ranking (Your Device) es un Huawei P20 Pro.

El benchmark es capaz de reconocer la aceleradora por hardware (la NPU) y la usa sin mayor problema, con un resultado más de 3 veces mejor que el siguiente en el ranking.

No es una ciencia exacta

Del uso de estos benchmarks podemos concluir que la integración de la IA en los terminales depende de varios factores, entre los que se cuentan las propias apps y cómo están programadas; el sistema operativo, que también hace de “intermediario” entre las apps; y el hardware y la versión del sistema operativo.

Las nuevas versiones de Android, como Android 8.1 o Android 9, facilitan que las apps usen correctamente el hardware acelerador. De hecho, AI Benchmark beta permite ver cómo la NPU del Huawei P20 Pro es capaz de fulminar a los procesadores más potentes casi “sin despeinarse”. De momento, parece que el Kirin 970 de Huawei es el SoC más “bestia” para el uso de IA, aunque, como hemos visto, tanto las apps como el sistema tienen que estar programados para que detecten y usen adecuadamente la aceleración.

Imágenes / AImark, Master Lu y AI Benchmark