¿Decepción o sorpresa? Así es el Google Tensor, el SoC para IA

Si ayer os hablábamos de los Apple M1 Pro y Max de cara a los nuevos ordenadores Macintosh de la empresa de la manzana mordida, hoy nos toca hablar del nuevo SoC de la empresa del buscador más utilizado del mundo al que han bautizado como Google Tensor y que será utilizado en los teléfonos inteligentes Pixel 6 que acaban de ser presentados. Veamos sus características.

Google lleva tiempo haciendo sus propios procesadores, entre otras cosas tenemos, por ejemplo, sus Tensor Processor Units para acelerar los algoritmos de búsqueda y clasificación de datos. Tampoco podemos olvidarnos de la VPU para la transcodificación de vídeo que presentaron ya hace unos meses y que es crucial para los servicios de YouTube y su servicio de juego en la nube: Stadia. Por lo que no son unos novatos en este campo y tienen además una división entera bajo el nombre de Google Silicon que se encarga de diseñar chips para sus dispositivos de bolsillo.

¿Cómo es el SoC Google Tensor?

Google Tensor

Hemos de tener en cuenta que Google al contrario de Apple no crea núcleos de procesador desde cero, sino que se ha especializado en aceleradores que combina con los diseños base de ARM. ¿Qué tiene de especial Google Tensor respecto a otros diseños? Pues para empezar el uso no de dos tipos de núcleos distintos dentro del procesador, sino de tres tipos distintos:

  • Dos núcleos Cortex X1 para llevar a cabo las tareas que requieran más rendimiento.
  • Cuatro núcleos Cortex-A76 para las tareas de rendimiento medio.
  • Cuatro núcleos Cortex-A55 para aquellas tareas que no requieren tanta potencia.

El nivel de eficiencia energética de cada uno de los núcleos es inversamente proporcional a su rendimiento. No olvidemos que la era de las arquitecturas heterogéneas donde los núcleos estaban conmutados entre sí pasó hace tiempo a mejor vida. En el presente se hace uso de la tecnología DynamIQ, la cual permite utilizar todos los núcleos al mismo tiempo y donde la clave está en la asignación de procesos a los núcleos donde estos son más eficientes por parte del sistema operativo.

Dado que Google es la creadora tanto del sistema operativo como este Google Tensor puede asociar los procesos del sistema operativo y de sus aplicaciones incluidas de serie como Gmail, Maps, Chrome y muchas otras. La idea de incluir una tercera categoría intermedia es por el hecho de que existen procesos donde los núcleos más eficientes no son lo suficientemente rápidos, pero tampoco es necesario uno de alta potencia.

Fundamentos de Tensor para IA

Google Tensor Arquitectura

La palabra Tensor se está utilizando mucho para hablar de procesadores especializados en la IA, en especial redes neurales donde las diferentes ALU están intercomunicadas entre sí en forma de matriz. ¿De dónde viene el nombre tensor? Es un concepto de las matemáticas donde si una matriz es un vector con una dimensión más entonces un tensor es una matriz con una dimensión adicional.

Desde hace años que los teléfonos inteligentes están implementando este tipo de procesadores en su interior, los cuales se utilizan de cara a realizar efectos de postprocesado en las fotografías que toma el usuario a gran velocidad. Gracias a ello es posible aplicar uno de los filtros de Instagram sin necesidad de una CPU de alta potencia que consumiría una orden de magnitud más por la misma tarea. Tampoco nos podemos olvidar de los algoritmos de reconocimiento de voz y limpieza del sonido, los cuales son clave para la comunicación, función principal, que no se nos olvide, de un teléfono móvil.

La clave de Google Tensor, es que cada uno de los aceleradores y procesadores de función específica dentro del SoC han sido diseñados para trabajar en tándem con los algoritmos de inteligencia artificial de Google de manera estrecha con el objetivo de acelerar funciones comunes en Android. En cuanto a su potencia comparada, no han querido dar información en ese aspecto y afirman que hablar de TeraOPS como medida es algo desfasado. ¿Tienen razón o es una forma de ocultar un menor rendimiento del SoC de Google Pixel 6?