Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Qué es una NPU, cómo funciona y por qué es importante para la IA


Qué es una NPU, cómo funciona y por qué es tan importante para la inteligencia artificial. Puede que en los últimos tiempos hayas oído hablar mucho de este tipo de procesadores, aunque como te cuento después no son nuevos. La cuestión es que, desde la llegada de los Microsoft Copilot+ PC, este término se ha vuelto habitual. 



El SoC de un móvil es lo que comunmente se conoce como el procesador, su cerebro. Pero realmente el SoC no es solo la CPU, que es el procesador central, sino que es un chip compuesto por varios procesadores, como la CPU y la GPU, esta última siendo algo así como la tarjeta gráfica. Pues ahora, en los SoC modernos de los móviles también se está incluyendo la NPU.


LA NPU es un chip que permite «liberar» a la CPU y GPU de la carga de procesamiento de tareas con IA, ya que es capaz de ejecutarlas con mucha más rapidez y fluidez, lo que es algo positivo. Cabe destacar que los próximos procesadores de Qualcomm para ordenadores Windows con ARM, los Snapdragon X Plus y X Elite, integrarán este tipo de chip, así como también los Core Ultra de Intel, anteriormente conocidos como Meteor Lake. Recientemente se han presentado equipos con la última generación de procesadores de Qualcomm con potentes NPU como los nuevos Dell, Surface Pro o Surface Laptop.



La NPU, un tipo de procesador que suele venir en los SoC de los móviles más modernos. Se trata de una unidad de procesado especial para tareas concretas como las relacionadas con inteligencia artificial, y que no debes confundir con la CPU ni GPU, ya que se complementa con ellas.

Qué es una NPU

Una NPU es una unidad de procesamiento neuronal, aunque estas siglas se corresponden con la terminología en inglés Neural Processing Unit. Como su nombre indica, se trata de un procesador diseñado especificadamente para ejecutar las tareas de las redes neuronales. Este otro concepto, las “redes neuronales”, nos sirve para enlazar las NPU con la inteligencia artificial.



Una red neuronal es conjunto de algoritmos que imitan la estructura del cerebro humano. Gracias a esa estructura, las personas somos capaces de aprender, identificar patrones y predecir el futuro basándonos en nuestra experiencia. En los algoritmos, esta estructura permite a las máquinas emular esas capacidades de la mente humana.

Las redes neuronales son la base de lo que se conoce como aprendizaje automático o machine learning, que es un área específica de la IA. Gracias a esta técnica, es posible generar modelos con los que después crear aplicaciones, como ChatGPT. Lo que pasa es que los modelos de IA pueden servir para muchas cosas. El machine learning y las redes neuronales son útiles en campos como estos:

  • Reconocimiento de imágenes. Si has usado Google Lens sabes de lo que te hablo. Con una entrada de datos, que puede ser una foto o un gráfico, la IA puede extraer información y explicar qué es lo que “ve”. Los modelos, como en todos los casos, puedes ser genéricos, por ejemplo, para identificar cualquier objetivo, o específicos, por ejemplo, para identificar plantas.
  • Procesamiento de lenguaje natural. En este caso, el machine learning es capaz de extraer patrones del lenguaje humano. Es la base de servicios como ChatGPT, traductores como DeepL o servicios de transcripción.
  • Sistemas de recomendación. Las redes neuronales pueden aprender de las cosas que te gustan. Sin ir más lejos, Netflix monitoriza el uso que haces de la plataforma y los contenidos que visualizas para proporcionarte sugerencias efectivas. Aunque muchos no lo sepan, esto también es machine learning e IA.

Además, las redes neuronales y el aprendizaje automático son aplicables en otros campos, como diagnóstico médico o la conducción autónoma, como el Autopilot de Tesla.

Todas estas tareas de las que te hablo requieren una enorme capacidad de procesamiento. Con el fin de poder ejecutar de forma local, muchos dispositivos incluyen una NPU, que no es más que un procesador específico para tareas de inteligencia artificial. Recuerda, es una unidad de procesamiento neuronal para ejecutar tareas de redes neuronales. Estas son la base de la inteligencia artificial y el aprendizaje automático de las máquinas.

, ¿qué es una NPU para cada marca? Las marcas hablan:

  • Qualcomm dice que la NPU se dedica al procesamiento de IA para mejorar el rendimiento/vatio.
  • Huawei también se refiere como un chip que permite resolver tareas a más velocidad disminuyendo el consumo y mejorando la autonomía.
  • Apple apunta a la NPU como una especie de GPU que acelera operaciones de red neuronal (convoluciones y multiplicación de matrices).
  • AMD tiene su NPU en CPU (con arquitectura XDNA) y en GPU tienen aceleradores IA (AI Accelerators).  Su NPU ofrece una mayor densidad de cálculo en comparación con las arquitecturas tradicionales . Los procesadores AMD Ryzen de las series 7040 y 8040 se basan en las NPU AMD XDNA y los núcleos AMD "Zen" para ofrecer una aceleración de la IA líder en los PC.
  • Intel considera la NPU como una unidad que otorga a la CPU de capacidades IA de bajo consumo que son compatibles con interfaces OpenVINO.
  • Samsung dice que está considerada para operaciones matriciales simultáneas, además de aprender basándose en los datos acumulados.

Las NPU no es nada novedoso

Al hilo de lo anterior, es crucial hacer una aclaración: las NPU no son algo nuevo. Lo que pasa es que, con la llegada de los AI PC, una denominación más comercial que técnica, las NPU han saltado a la palestra. Sin embargo, permíteme que te ponga algunos ejemplos lejanos en el tiempo del uso que se le ha dado a las unidades de procesamiento neuronal.

Año 2017. Se cumplen 10 años del lanzamiento del primer iPhone y la compañía lo celebra lanzando el iPhone X. Una de las principales novedades de este dispositivo es el Face ID. Para que esta tecnología fuera posible, la compañía lanza el A11 Bionic, un procesador que, además de la CPU y la GPU, incluye un motor neuronal. Aunque en ese momento no obtiene el nombre de NPU, ya te lo confirmo: en 2017 Apple lanzó tres móviles (también los iPhone 8 y 8 Plus venían con este chip) con NPU.

Ha llovido mucho desde entonces, pero lo cierto es que las NPU, las redes neuronales, el machine learning y la ejecución de tareas de IA en local ya lleva con nosotros bastantes años.

Cómo funciona una NPU

En esencia, una NPU es un procesador más, como una CPU y una GPU. No obstante, está diseñado de una forma distinta. Primero, puede procesar muchas operaciones paralelas, ideal para las tareas repetitivas que exigen las redes neuronales. Segundo, están optimizados para operaciones específicas, como la multiplicación de matrices. De nuevo, son un tipo de operación típica en las redes neuronales. Y, tercero, a diferencia de las CPU, las tareas que ejecutan son muy específicas. Así que, la mayor parte del tiempo, consumen pocos o ningún recurso.

Las NPU son muy parecidas a las GPU. Estas últimas también son capaces de ejecutar muchas operaciones de manera paralela y, además, se emplean en un campo específico: el renderizado de gráficos. Por eso, cuando una GPU se dedica a tareas de IA, es altamente efectiva. Lo que sucede es que, debido a su mayor potencia, tienen un consumo energético muy elevado. Las unidades de procesamiento neuronales son más equilibradas en este sentido, aportando una mayor eficiencia.

Entonces, sabemos que el NPU se dedica a tareas relacionadas con la IA, el Machine Learning y operaciones súper complejas. Pero, ¿de qué tareas hablamos? Apple las enfoca a estas, y estoy seguro de que las demás marcas también:

  • Clasificación de imágenes. Quienes tengáis iPhone veréis que en la galería nos clasifican fotos en forma de vídeos o nos hacen recomendaciones. Además, el buscador de fotografías es muy interesante.
  • Traducción automática. Cuando tenemos el teclado en español, pero ponemos una palabra en inglés y nos sale una sugerencia corregida ortográficamente en el mismo idioma.
  • Sugerencias de usos de apps. En el caso de iOS, registra nuestro uso diario, se entrena y Siri nos ofrece sugerencias de uso según los hábitos que hemos tenido a unas horas determinadas. Por ejemplo, si son las 22:00 y siempre vemos Twitch en el móvil mientras cenamos, el día que no lo hagamos nos lo puede sugerir.
  • Procesamiento de lenguaje natural. Esto es el reconocimiento de voz más rápido, dictado para Siri, Google Lens, etc.
  • Realidad aumentada.
  • Detección de rostros, algo muy usado en la galería de iPhone.
  • Efectos de cámara.
  • Smart HDRy muchas funcionalidades en fotografía con las cámaras.

La pregunta es, ¿qué tareas nos va a aportar a nivel CPU en el futuro? Sabemos que Intel está implementando el NPU en sus CPU, así como AMD ya está integrando Ryzen AI (antiguas unidades XIE de Xilinx) en los procesadores.



Pues bien, aplicado en el ámbito del CPU x86, podrían aprovechar funciones de Windows Copilot, un asistente para tareas reiteradas y cotidianas. Microsoft se ha inspirado un poco en los smartphones porque las tareas IA tienen que ver con emails y fotografías:

  • Quitarle o difuminarle el fondo a una foto.
  • Clasificar fotografías.
  • Usar el Paint con capas a lo “Photoshop”.
  • Reconocimiento de voz o una especie de chatbot al que le podemos solicitar prompts y con ellas hacer o programar tareas:
    • Ponernos música.
    • Organizar las ventanas.
    • Poner modo oscuro.
    • Resumir un texto.
    • Escribir contenido.
    • Recortar imágenes o quitarle el fondo.
    • Crear Reels.

Al final, veis que Microsoft se centra en lo mismo que Apple: funciones multimedia.

Por qué tener una NPU es importante para la IA

Las tareas de IA requieren un tipo de procesamiento específico, como hemos visto en el apartado anterior. Las CPU no son capaces de ejecutar estas tareas con la velocidad necesaria. Por su parte, aunque las GPU sí que cumplen con los requisitos de la inteligencia artificial, son menos eficientes. Las NPU son importantes para el desarrollo de esta tecnología porque permiten implementarla de manera local en casi cualquier dispositivo, sin sufrir las desventajas típicas de las tarjetas gráficas.

Una NPU permite asumir tareas relacionadas con las redes neuronales de forma eficiente, gastando poca energía y a una velocidad suficiente para proporcionar una experiencia de usuario positiva. Por eso, son tan importantes en portátiles y teléfonos móviles, donde desempeñan funciones de reconocimiento de imagen, procesamiento fotográfico, análisis biométrico y más. Y, aunque por ahora no alcanzan la potencia bruta que sí tienen las GPU, es de esperar que estos procesadores especializados sean cada vez más potentes.

Principales implementaciones de NPU, ¿qué fabricantes se han animado a ello?

Para ilustrarte en esta importancia de las NPU vamos a ver cuáles de los principales fabricantes y diseñadores de chips para smartphone y ordenadores se han animado a incorporar una Neural Processing Unit en sus productos.

Realmente, a estas alturas son todas, así que vamos a ver los principales casos: Apple, Google, Intel y AMD. Nos faltaría hablar de incluso más compañías, tanto grandes (Qualcomm, Samsung…) como pequeñas.

Apple Silicon y su Neural Engine





El Neural Engine de los SoC de Apple es la implementación de NPU más famosa, puesto que ya existe desde el año 2017, cuando se introdujo en el Apple A11 Bionic, el chip usado en los iPhone 8 / X.

Este fue evolucionando con cada generación de iPhone y iPad, llegando además a los ordenadores Mac cuando en 2020 Apple abandonó Intel y empezó a usar sus propios SoC en ordenadores. Es decir, con el Apple M1 y sus sucesores.

El Apple Neural Engine (ANE) consiste básicamente en unos cuantos núcleos dedicados a operaciones de redes neuronales (convolución, multiplicación de matrices…) tal y como cualquier otra NPU.

De esta forma, un SoC Apple actual incluye en el mismo chip CPU, GPU, NPU, memoria RAM, seguridad e I/O. Aquí aprovechamos para recordar que algunos chips que denominamos CPU o APU en realidad encajan en la definición de SoC, ya que cualquier procesador actual de PC incluye esos componentes, salvo la RAM y (en general) la NPU.

El Neural Engine se utiliza para tareas como:

  • Face ID y Animoji.
  • Mejoras de la cámara.
  • Realidad aumentada.
  • Reconocimiento de personas, objetos y mascotas en imágenes.
  • Detección de texto en imágenes.
  • Dictado.
  • Básicamente cualquier función basada en IA en un iPhone o Mac.

Los desarrolladores de terceros también cuentan con una API para hacer uso del Neural Engine. Su rendimiento además se ha multiplicado enormemente: el iPhone X podía con 0.6 TFLOPS (billones de operaciones) FP16 con el ANE, ahora un chip M3 puede con 18 TFLOPS y un A17 PRO de iPhone 15 Pro con 35 TFLOPS.

Google Tensor (TPU)

Google es otra de las grandes pioneras en el hardware específico para procesar redes neuronales, y en su caso cuentan con un concepto propio como son las TPU Tensor Processing Unit. Se trata de ASICS (es decir, chips diseñados a medida para este propósito) que desde el año 2015 utilizan en sus centros de datos.



Como te hemos explicado, optamos por llevar el concepto de NPU a núcleos más «pequeños» que son parte de un SoC de un dispositivo doméstico. Por eso, una TPU de un centro de datos no entraría en nuestra definición de NPU.

No obstante, lo que sí nos interesa son los chips Google Tensor usados en los móviles Pixel 6 en adelante. Esta familia de SoC están altamente destinados a la inteligencia artificial, al incluir su propia TPU (NPU) en el conjunto.

NPU integrada de Intel

Sigamos hablando de chips de móviles y ordenadores, pero dejemos de hablar de Arm por un rato (tanto Apple como Google usan arquitecturas Arm) y pasemos a la arquitectura x86-64 que domina en PC.



Intel y AMD no se han dormido en los laureles como algunos piensan, y ya tienen en su catálogo conceptos de NPU. En el caso del «gigante azul» de los procesadores, ya introducen NPU en ordenadores portátiles de la mano de los procesadores Meteor Lake, es decir, una serie de CPU de 14ª generación con un diseño más complejo y novedoso.

Estas NPU en ordenadores portátiles sirven muy bien para algunas tareas respaldadas por IA como son los algoritmos que cambian el fondo en videoconferencias, que hacen que parezca que nuestros ojos miran al frente, etc.

Microsoft también se está poniendo las pilas para aprovecharlo, y están potenciando todo un conjunto de herramientas para Windows 11 que permitan a los desarrolladores implementar de manera eficiente la IA y que se pueda aprovechar la NPU del ordenador en caso de estar disponible. También con funciones como Copilot.

AMD Ryzen AI

Este movimiento de Intel Meteor Lake (que se lanzan en diciembre de 2023) ya lo realizó AMD meses atrás, con sus procesadores para portátiles Ryzen serie 7040 (Zen 4), que incluyen la llamada Ryzen AI, que es por ello la primera NPU integrada en un procesador x86 y pensada para Windows.



Se trata específicamente del AMD Ryzen 9 7940HS (8 núcleos), Ryzen 7 7840HS (8 núcleos), Ryzen 5 7640HS (6 núcleos), Ryzen 7 7840U (8 núcleos) y Ryzen 5 7640U (6 núcleos). Por ahora AMD solo destaca características como el «encuadre automático», «corrección del contacto visual» y «efectos de fondo avanzados», es decir, las prestaciones de videoconferencia que comentábamos antes. Pero irán mucho más allá.

Ojo porque a AMD y a Intel le acecha Qualcomm con sus procesadores Snapdragon X basados en Arm, muy centrados en las NPU y que podrían comerse el pastel del mercado de portátiles si los gigantes x86 no se esfuerzan lo suficiente.

Tarjetas gráficas frente a NPUs, ¿es un Tensor Core una NPU?

La diferencia entre una NPU y una CPU está bastante clara, porque los procesadores tradicionales son muy buenos para realizar tareas de propósito general bastante potentes de manera secuencial, mientras que donde una GPU brilla es en el procesamiento paralelo y cálculos de punto flotante. Precisamente esos cálculos de punto flotante son lo que hace falta en la inferencia, por lo que tiene sentido que nos preguntemos la diferencia entre GPU vs NPU.

La NPU tiene unos propósitos más restringidos que una GPU, en cuanto al tipo de cálculos que se le dan bien. Una GPU hará de maravilla cualquier operación de coma flotante (para que nos entendamos, con decimales representados en forma binaria), mientras que la NPU está más restringida a las operaciones necesarias en inferencia de redes neuronales. También suelen plantearse como elementos de menor consumo y tamaño.

De hecho, quienes estéis más actualizados en el mundo del hardware os habréis dado cuenta de que los Tensor Cores de NVIDIA parecen algo similar a una NPU. Es una equiparación tan razonable como cuando hablamos de las TPU de Google.

Al fin y al cabo, todo es una cuestión de optimización para ciertas tareas y de tamaño. Una tarjeta gráfica sirve para mucho más que para la inferencia de algoritmos de IA, y mucho hardware de su interior es prescindible para esta tarea. La idea es que cada parte del chip se encargue de lo suyo, y los fabricantes han concluido que integrar una pequeña NPU en un procesador o SoC es beneficioso. Simplemente el caso de los SoC Apple debería dejarlo claro.

Fuentes:
https://www.lavanguardia.com/andro4all/tecnologia/que-es-una-npu-como-funciona-y-por-que-es-importante-para-la-ia

https://www.pccomponentes.com/npu-que-es

https://www.profesionalreview.com/2023/12/11/npu/


0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.