La NPU vs CPU es una comparativa interesante, ya que existen algunas diferencias y semejanzas entre estas dos unidades. Deberías conocer a fondo qué son ambas y cómo funcionan, para así comprender un poco mejor los nuevos SoCs que integran ambas unidades de procesamiento para propósito general y aceleración de IA.
Índice de contenidos
En la actualidad existe un abanico de cargas de trabajo muy variadas que un único procesador no puede dominar con eficiencia. Es aquí donde la computación heterogénea entra en juego, como un equipo de especialistas trabajando en conjunto.
Esta estrategia permite que cada procesador se dedique a lo que mejor puede hacer, según sus fortalezas, consiguiendo la mejor fiabilidad y rendimiento. Por ejemplo, una CPU se encarga del control secuencial de los programas genéricos, la GPU se dedica a flujos de datos en paralelo, como los gráficos, y la NPU al procesamiento de cargas de trabajo relacionadas con la IA. Además de estos, puede haber más tipos de unidades, como los DSP, DSA, etc.
No se trata de una sustitución, sino de que todas se complementen y trabajen juntas. Al aprovechar el procesador adecuado para cada tarea, la computación heterogénea maximiza el rendimiento y la eficiencia. Esto se traduce en consumos de energía más bajos y mayor rapidez de ejecución.
La idea de utilizar procesadores especializados para mejorar el rendimiento informático no es nueva. Durante décadas, los sistemas se han basado en coprocesadores como los aceleradores gráficos o tarjetas gráficas, tarjetas de sonido (con DSP), etc. Esta tendencia continuó en la década de 2010 con el auge del aprendizaje profundo y las cargas de trabajo de IA.
La búsqueda de un procesamiento de IA más rápido comenzó con intentos tempranos como el chip ETANN, que utilizaba circuitos analógicos para cálculos neuronales. A esto le siguieron diseños completamente digitales como el Ni1000. Curiosamente, incluso en la década de 1990, los investigadores estaban explorando procesadores de señal digital y FPGAs para acelerar las redes neuronales. La necesidad de procesamiento paralelo condujo al desarrollo de sistemas de alto rendimiento diseñados específicamente para simulaciones de redes neuronales. Estos primeros esfuerzos se comenzaron a centrar en la GPU.
La historia no termina ahí. A lo largo de la década de 2000, las CPU también evolucionaron, incorporando instrucciones específicas en la ISA para las tareas de IA, así como unidades de procesamiento vectorial más grandes y soporte para tipos de datos de baja precisión, tanto enteros como de coma flotante, que son los utilizados por estas cargas de IA.
La demanda de potencia de procesamiento en redes neuronales y aprendizaje automático se está disparando, debido al auge de la IA. Si bien las CPU y GPU tradicionales pueden manejar estas tareas, la NPU (Neural Processing Unit) es la candidata para encargarse de acelerar estas tareas, ya que es un procesador diseñado especialmente para ejecutar estas cargas de forma rápida y eficiente.
Para especializarse en cargas de IA, la NPU se caracteriza por:
TOPS, corresponden a Tera Operations Per Second, es decir, representa la capacidad de una NPU para realizar un trillón (un millón de millones) de operaciones aritméticas básicas (suma, multiplicación) en un segundo. Gracias a esto, se puede comparar y medir el rendimiento de una NPU.
Gracias a esto, las NPUs están resultando cruciales para aplicaciones como: dispositivos móviles con apps basadas en IA, como el reconocimiento de voz, efectos de cámara, etc.; así como también para vehículos autónomos, para reconocimiento de imagen y tomar decisiones en tiempo real; sistemas de vigilancia automáticos; reconociimento facial; ciberseguridad; robótica y automatización; IoT; ocio; y más.
Te recomiendo leer los mejores portátiles con NPU
Existen varias unidades que pueden ejecutar tareas de IA, como la propia CPU y la GPU como he comentado antes. Pero también se puede hacer desde un DSP (Digital Signal Processor), puesto que estas unidades están optimizadas precisamente para hacer tareas MAC. Otra alternativa es implementar un DSA (Domain Specific Accelerator) en un FPGA, o en un ASIC. Sin embargo, existen unidades específicas como la NPU, muchas de ellas no son más que otros nombres para NPU que le han dado algunos diseñadores, pero se refieren a lo mismo:
Es decir, estamos hablando de tipos de unidades de procesamiento de aprendizaje profundo o DLP (Deep Learning Processor).
Te puede interesar leer los mejores procesadores del mercado
Como es lógico, existen diferencias entre la NPU vs CPU, y también con otras unidades como la GPU. Aquí vamos a ver algunas de las más destacadas:
Si tienes alguna duda o información que aportar, no dudes en dejar tus comentarios…
CHIEFTEC acaba de presentar dos nuevas cajas para PC, Visio y Visio Air con un…
Asus ZenWiFi BT8 es un sistema Mesh Wi-Fi 7 el cual se sitúa por debajo…
Qualcomm anuncia nuevos SoC Snapdragon X, pero no se trata de una nueva generación, sino…