El Snapdragon 845 de Qualcomm incluye en su interior un potente chip de aprendizaje automático. Se llama Hexagon 685 DSP y es un gran paso adelante en el hardware de IA.
El Snapdragon 845, el sistema en chip más nuevo de la familia Snapdragon de Qualcomm, es un procesador potente. Cuenta con núcleos de CPU rápidos, un procesador de señal de imagen (ISP) Spectra de tercera generación y una arquitectura que es un 30 por ciento más eficiente energéticamente que la generación anterior. Pero podría decirse que su componente más impresionante es un coprocesador, el Hexagon 685 DSP, hecho a medida para la inteligencia artificial y el aprendizaje automático.
¿Qué es lo que motiva al DSP Hexagon 685 de Qualcomm?
"Las matemáticas vectoriales son la base del aprendizaje profundo". - Travis Lanier, director sénior de gestión de productos de Qualcomm
Para comprender qué hace que Hexagon DSP sea tan único, es útil saber que la IA está impulsada por el tipo de matemáticas con las que los estudiantes de ingeniería de las universidades están íntimamente familiarizados. El aprendizaje automático implica computación con vectores grandes, lo que plantea un desafío para los procesadores de teléfonos inteligentes, tabletas y PC. Es difícil para los chips de uso general calcular algoritmos como el descenso de gradiente estocástico (el tipo de algoritmos que están en el centro de las aplicaciones impulsadas por IA) de manera rápida y eficiente. El Hexagon DSP de Qualcomm se introdujo en parte para resolver esto: es excelente para manejar datos de imágenes y sensores, especialmente fotografía.
Pero el Hexagon DSP es capaz de hacer mucho más que mejorar los selfies. Los contextos HVX incluidos (más sobre ellos más adelante) le dan la ventaja tanto de procesadores de uso general como de núcleos de función fija; El Hexagon 685 DSP es increíblemente eficiente a la hora de calcular las matemáticas detrás del aprendizaje automático en el dispositivo, pero conserva la flexibilidad de los procesadores más programables.
Chips de IA como el Hexagon 685 DSP, a los que a veces se hace referencia como "unidades de procesamiento neuronal", Los "motores neuronales" o "núcleos de aprendizaje automático" se adaptan específicamente a las funciones matemáticas de los algoritmos de IA. necesidades. Tienen un diseño mucho más rígido que las CPU tradicionales y contienen instrucciones y disposiciones especiales (en el caso del Hexagon 685 DSP, la arquitectura HVX antes mencionada) que aceleran ciertas operaciones escalares y vectoriales, que se vuelven notables en grandes escalas. implementaciones.
El DSP Hexagon 685 del Snapdragon 845 puede manejar miles de bits de unidades vectoriales por ciclo de procesamiento, en comparación con los cientos de bits por ciclo del núcleo de CPU promedio. Eso es por diseño. Con cuatro subprocesos escalares paralelos para operaciones de palabras de instrucción muy largas (VLIW) y múltiples contextos HVX, el DSP es capaz de hacer malabarismos con múltiples unidades de ejecución en una sola instrucción y atravesar números enteros y decimales de punto fijo operaciones.
En lugar de impulsar el rendimiento a través de MHz brutos, el diseño del Hexagon 685 apunta a altos niveles de trabajo por ciclo a una velocidad de reloj reducida. Incluye subprocesos múltiples de hardware que funcionan bien para VLIW, ya que los subprocesos múltiples ocultan las latencias de canalización y permiten una mejor utilización de los paquetes VLIW. El multiproceso del DSP significa que puede dar servicio a múltiples sesiones de descarga, es decir, aplicaciones simultáneas para audio, cámara, visión por computadora, etc., y acelerar varias tareas simultáneamente, evitando que las aplicaciones tengan que luchar por Tiempo de ejecución.
Pero esos no son los únicos puntos fuertes del Hexagon DSP. Su arquitectura de conjunto de instrucciones (ISA) cuenta con una eficiencia mejorada con respecto a VLIW tradicional gracias a la código de control mejorado y emplea trucos inteligentes para recuperar el rendimiento de inactivo y estancado hilos. También implementa la programación de subprocesos por turnos de latencia cero, lo que significa que los subprocesos del DSP procesan nuevas instrucciones inmediatamente después de completar el paquete de datos anterior.
Nada de esto es nuevo, para ser claros. Qualcomm presentó el Hexagon DSP de “primera generación” (o propiamente dicho), el Hexagon 680 o QDSP6 v6. junto con el Snapdragon 820 en 2015, y al Hexagon 680 le siguió el ligeramente mejorado Hexágono 682. Pero la última generación es la más sofisticada hasta el momento y ofrece hasta tres veces el rendimiento general del DSP del Snapdragon 835.
Esto se debe en gran parte al HVX, que funcionó muy bien para el procesamiento de imágenes (piense en realidad aumentada, visión por computadora, video e imágenes). Los registros HVX del DSP se pueden controlar mediante dos registros escalares cualesquiera, y las unidades HVX y las unidades escalares se pueden usar simultáneamente, lo que resulta en ganancias sustanciales de rendimiento y simultaneidad.
Aquí está La explicación de Qualcomm:
“Supongamos que está procesando en la CPU móvil en modo de código de control y cambia al modo computacional en el coprocesador. Si necesita algún código de control, debe detenerse y regresar del coprocesador a la CPU principal. Con Hexagon, tanto el procesador de código de control en el DSP como el procesador de código computacional en HVX pueden ejecutarse al mismo tiempo para lograr un acoplamiento estrecho entre el código de control y computacional. Eso permite al DSP tomar el resultado de un cálculo HVX y usarlo en una decisión de código de control en el siguiente ciclo de reloj”.
El HVX ofrece otra gran ventaja en el procesamiento de sensores de imágenes. Los dispositivos Snapdragon con Hexagon 685 DSP pueden transmitir datos directamente desde el sensor de imágenes a la memoria local del DSP (caché L2), sin pasar por el controlador de memoria DDR del dispositivo. Eso reduce la latencia, por supuesto, pero también mejora la duración de la batería: el procesador Snapdragon está diseñado para estar inactivo durante toda la operación.
Está optimizado específicamente para redes de punto flotante de 16 bits y controlado por el software de aprendizaje automático de Qualcomm: Snapdragon Neural Processing Engine.
"Lo hemos tomado muy en serio", dijo un portavoz de Qualcomm. "Hemos estado trabajando con socios durante los últimos tres años para que utilicen [...] nuestro silicio para IA e imágenes".
Esos socios incluyen a Google, que utilizó la parte de procesamiento de imágenes de Hexagon DSP para impulsar el algoritmo HDR+ de Pixel y Pixel 2, por ejemplo. Si bien Google también ha presentado su propio Pixel Core, vale la pena señalar que los dispositivos habilitados para DSP Hexagon 685 son los los que obtienen los mejores resultados con el famoso puerto de cámara de Google, en parte gracias (como hemos confirmado) a HVX utilización. Facebook, otro socio, trabajó estrechamente con Qualcomm para acelerar los filtros y efectos de la cámara en tiempo real de Messenger.
Oppo optimizó su tecnología de desbloqueo facial para el Hexagon 685 DSP y Lenovo desarrolló su función de detección de puntos de referencia a su alrededor.
Una de las razones del gran soporte de la plataforma es su simplicidad. El extenso SDK Hexagon de Qualcomm admite el lenguaje Halide para el procesamiento de imágenes de alto rendimiento, y no es necesario preocuparse por los marcos de capacitación de aprendizaje automático: implementar un modelo es tan simple como realizar una llamada API, en la mayoría casos.
"No estamos [...] compitiendo con empresas como IBM y Nvidia [en IA], pero tenemos áreas que los desarrolladores pueden aprovechar, y ya las tienen", dijo Qualcomm a XDA Developers.
Hexágono vs. la competencia
El DSP Hexagon 685 del Snapdragon 845 surge cuando un número cada vez mayor de fabricantes de equipos originales (OEM) buscan sus propias soluciones de inteligencia artificial móviles y en dispositivos. Huawei Kirin 970 -- el sistema en chip dentro del compañero 10 y amigo 10 pro - tiene una “unidad de procesamiento neuronal” (NPU) que, según se informa, puede reconocer más de 2000 imágenes por segundo con solo 1/50 del consumo de energía de la CPU promedio de un teléfono inteligente. Y el sistema en chip Apple A11 Bionic del iPhone 8, iPhone 8 Plus y iPhone X tiene un "motor neuronal" que realiza modelado facial en tiempo real y hasta 600 mil millones de operaciones por segundo.
Pero Qualcomm dice que el agnosticismo de la plataforma de Hexagon le da una ventaja. A diferencia de Apple y Huawei, que obligan en gran medida a los desarrolladores a utilizar API patentadas, Qualcomm buscó admitir algunos de los marcos de código abierto más populares desde el principio. Por ejemplo, trabajó con Google para optimizar TensorFlow, la plataforma de aprendizaje automático de Google, para el Hexagon 685 DSP: Qualcomm dice que funciona hasta ocho veces más rápido y 25 veces más eficientemente energéticamente que en dispositivos que no son de Hexagon.
En cuanto a la arquitectura DSP de Qualcomm, Google Red neuronal profunda de inicio de GoogLeNet - un algoritmo de aprendizaje automático diseñado para evaluar la calidad de los sistemas de detección y clasificación de objetos - demostró ganancias en una demostración que muestra una aplicación de reconocimiento de imágenes basada en TensorFlow en dos teléfonos inteligentes: uno que ejecuta la aplicación en la CPU y el otro que la ejecuta en Hexagon de Qualcomm DSP. La aplicación para teléfonos inteligentes acelerada por DSP capturó más imágenes por segundo, identificó objetos más rápido y tuvo mayor confianza en su conclusión sobre qué era el objeto que la aplicación solo con CPU.
Google también utiliza el DSP Hexagon 685 para acelerar Project Tango, su plataforma de realidad aumentada para teléfonos inteligentes. El Phab 2 Pro de Lenovo, el ZenFone AR de Asus y otros dispositivos con el módulo IR de detección de profundidad y cámaras de seguimiento de imágenes de Tango aprovechan las ventajas de Qualcomm. Arquitectura de procesamiento heterogéneo, que delega tareas de procesamiento entre el DSP Hexagon 685 del chipset Snapdragon, el concentrador de sensores y la señal de imagen. procesador (ISP). El resultado es una sobrecarga de “menos del 10 por ciento” en la CPU del sistema en chip, según Qualcomm.
"Hasta donde sabemos, somos los únicos usuarios de dispositivos móviles que optimizan el rendimiento y la eficiencia energética", dijo un portavoz de Qualcomm.
Por supuesto, los competidores también están trabajando para ampliar su esfera de influencia y fomentar el apoyo de los desarrolladores en sus plataformas. El chip neuronal Kirin 970 se lanzó con soporte para TensorFlow y café (marco API abierto de Facebook) además de las API Kirin de Huawei, con TensorFlow Lite y cafe2 integración en camino a finales de este año. Y Huawei trabajó con Microsoft para optimizar su traductor con tecnología de inteligencia artificial para el Mate 10.
Pero Qualcomm tiene otra ventaja: el alcance. El fabricante de chips controló el 42 por ciento del mercado de chips para teléfonos inteligentes en el primer semestre de 2017, seguido por Apple y MediaTek con el 18 por ciento cada uno, según Strategy Analytics. Basta decir que todavía no le tiemblan las botas.
Y Qualcomm predice que sólo crecerá. El fabricante de chips proyecta 160 mil millones de dólares en ingresos para 2025 con tecnologías de software de inteligencia artificial como la visión por computadora, y considera que el mercado de teléfonos inteligentes, que se espera que alcance los 8.600 millones de unidades enviadas para 2021, sea el mayor plataforma.
Con el Hexagon 685 DSP y otras mejoras “terciarias” avanzando continuamente hacia el rango medio hardware, también es más fácil para los chips Qualcomm llevar el aprendizaje automático en el dispositivo a todo tipo de dispositivos en el futuro cercano. futuro. También ofrecen un SDK útil para que los desarrolladores (sin necesidad de jugar con el lenguaje ensamblador DSP) aprovechen el Hexagon 685 DSP y HVX en sus aplicaciones y servicios.
"Existe la necesidad de estas unidades de procesamiento dedicadas al procesamiento neuronal, pero también es necesario expandirlas para poder admitir marcos [de código abierto]", dijo un portavoz de Qualcomm. "Si no se crea ese ecosistema, no hay forma [...] de que los desarrolladores puedan crear en él".