NPU

https://en.wikipedia.org/wiki/AI_accelerator

D'après ce que j'ai compris, ce sont des puces spécialisés pour exécuter des Inference Engines.

Voir aussi TPU.


Journaux liées à cette note :

Journal du mardi 25 février 2025 à 22:12 #llm, #Inference, #selfhosting, #OnMePoseLaQuestion, #ollama

Un ami me demande :

Je vais bientôt acheter un nouveau portable PC. Je veux utiliser l'IA en local pour analyser des documents privés, concevoir des articles (il faut qu'elle puisse surfer), mais que les données restent locales. Il me faut donc un PC Copilot avec un NPU ?

Réponse courte : je pense qu'un NPU ne te sera d'aucune utilité pour exécuter un LLM de qualité sur ton laptop 😔.


Quand mon ami parle d'une « IA en local », je suppose qu'il souhaite exécuter un agent conversationnel qui exploite un LLM, du type ChatGPT, Claude.ia, LLaMa, DeepSeek, etc.

Sa motivation première est la confidentialité.

Cela fait depuis juin 2023 que je souhaite moi aussi self host un LLM, avant tout pour éviter le vendor locking, maitriser son coût et éviter la "la merdification des choses".

En juin 2024, je pensais moi aussi que les NPU étaient une solution technique pour self hosted un LLM. Mais depuis, j'ai compris que j'étais dans l'erreur.

Je trouve que ce commentaire résume aussi bien la fonction des NPU :

Also, people often mistake the reason for an NPU is "speed". That's not correct. The whole point of the NPU is rather to focus on low power consumption.

...

I have a sneaking suspicion that the real real reason for an NPU is marketing. "Oh look, NVDA is worth $3.3T - let's make sure we stick some AI stuff in our products too."

source

D'après ce que j'ai compris, voici ce que les NPU exécutent en local (ce qui inclut également la technologie Microsoft nommée Copilot) :

  • L'accélération des modèles d'IA pour la reconnaissance vocale, la transcription en temps réel, et la traduction.
  • Traitement plus rapide des images et vidéos pour des effets en direct (ex. flou d'arrière-plan, suppression du bruit audio).
  • Réduction de la consommation électrique en exécutant certaines tâches IA en local, sans solliciter massivement le CPU/GPU.

Je pense que les fonctionnalités MS Windows Copilot qui utilisent des LLM sont exécutées sur des serveurs mutualisés avec de gros GPU.

Si j'ai bien compris, pour faire tourner efficacement un LLM en local, il est essentiel de disposer d'une grande quantité de RAM avec une bande passante élevée.

Par exemple :

  • Une carte NVIDIA RTX 5090 avec 32Go de RAM (2700 €)
  • Une carte NVIDIA RTX 3090 avec 24Go de RAM d'accasion (1000 €)
  • Une Puce Apple M4 Max avec CPU 16 cœurs, GPU 40 cœurs et Neural Engine 16 cœurs 128 Go de mémoire unifiée (plus de 5000 €)
  • Une Puce Apple M4 Pro avec CPU 12 cœurs, GPU 16 cœurs, Neural Engine 16 cœurs 64 Go de mémoire unifiée (2400 €)

Je ne suis pas disposé à investir une telle somme dans du matériel que je ne parviendrai probablement jamais à rentabiliser. À la place, il me semble plus raisonnable d'opter pour des Managed Inference Service tels que Replicate.com ou Scaleway Managed Inference.

Voici les tarifs de Scaleway Generative APIs :

Il y a quelques semaines, j'ai connecté Open WebUI à l'API de Scaleway Managed Inference avec succès. Je pense que je vais utiliser cette solution sur le long terme.

Si je devais garantir une confidentialité absolue dans un cadre professionnel, je déploierais Ollama sur un serveur dédié équipé d'un GPU :

Journal du samedi 08 juin 2024 à 11:38 #tops, #MachineLearning, #hardware

Dans 2024-06-08_1056 j'ai listé la puissance en TOPS de NPU AMD.
Suite à cela, j'ai eu envie de comparer la puissance de ces NPU à des puces Apple et Intel ainsi qu'à des GPU de NVidia.

Concernant Apple

Ici je lis :

  • M1, M1 Pro, M1 Max : NPU à 11 TOPS
  • M1 Ultra : NPU à 22 TOPS

Ici je lis :

  • M2, M2 Pro, M2 Max : NPU à 15,8 TOPS
  • M2 Ultra : NPU à 31,6 TOPS

Ici je lis :

  • M3, M3 Pro, M3 Max : NPU à 18 TOPS

Ici je lis :

  • M4 (sortie en mai 2024) : NPU à 38 TOPS

Concernant AMD

Dans cet article je lis :

  • Des puces de la série Ryzen 7040 intègrent des NPU à 10 TOPS
  • Des puces de la série Ryzen 8000 intègrent des NPU à 16 TOPS
  • Des puces de la série Ryzen AI 300 intègrent des NPU à 50 TOPS

Concernant Intel

J'ai l'impression que ce sont les puces Intel Core Ultra qui intègrent des NPU.

For the Ultra 7 165H chip, you get roughly up to 34 TOPS with 11 TOPS for the NPU, 18 TOPS for the GPU and the rest for the CPU.

  • Ici je lis que les prochaines puces de Intel basé sur l'architecture Lunar Lake intégre un NPU de 48 TOPS

Concernant Nvidia

Je ne sais pas si les TOPS d'un NPU sont comparables aux TOPS de GPU mais d'après ce document je lis qu'une puce Nvidia T4 :

  • Single-Precision : 8.1 TFLOPS
  • Mixed-Precision (FP16/FP32) : 65 TFLOPS
  • INT8 : 130 TOPS
  • INT4 : 260 TOPS

Conclusion

J'ai l'impression qu'ici les ratios de puissances en TOPS entre des NPU et GPU tournent autour de x5 et x30.

Journal du samedi 08 juin 2024 à 10:56 #hardware, #NPU, #CPU, #AMD, #MachineLearning, #Inference, #tops, #JaiDécouvert

En lisant ceci :

AI accelerators are used in mobile devices, such as neural processing units (NPUs) in Apple iPhones, AMD Laptops or Huawei cellphones, and personal computers such as Apple silicon Macs, to cloud computing servers such as tensor processing units (TPU) in the Google Cloud Platform.

#JaiDécouvert que AMD XDNA semble être l'architecture des puces NPU de AMD.

Je lis ici que Ryzen AI est le nom commercial du matériel AMD qui implémente l'architecture XDNA.

La première puce qui intégrèe AMD XDNA est le Ryzen 7040 sorti 2023.

Dans cet article je lis :

  • Des puces de la série Ryzen 7040 intègrent des NPU à 10 TOPS
  • Des puces de la série Ryzen 8000 intègrent des NPU à 16 TOPS
  • Des puces de la série Ryzen AI 300 intègrent des NPU à 50 TOPS

Journal du samedi 08 juin 2024 à 10:35 #Inference, #MachineLearning, #vocabulaire, #llm, #JaiDécidé

Dans 2024-06-06_1047 #JaiDécidé d'utiliser le terme Inference Engines pour définir la fonction ou la catégorie de Llama.cpp.

J'ai échangé avec un ami au sujet des NPU et j'ai dit que j'avais l'impression que ces puces sont spécialés pour exécuter des Inference Engines, c'est-à-dire, effectuer des calculs d'inférence à partir de modèles.

Après vérification, dans cet article je lis :

An AI accelerator, deep learning processor, or neural processing unit (NPU) is a class of specialized hardware accelerator or computer system designed to accelerate artificial intelligence and machine learning applications, including artificial neural networks and machine vision.

et je comprends que mon impression était fausse. Il semble que les NPU ne sont pas seulement dédiés aux opérations d'exécution d'inférence, mais semblent être optimisés aussi pour faire de l'entrainement 🤔.

Un ami me précise :

Inference Engines

Pour moi, c'est un terme très générique qui couvre tous les aspects du machine learning, du deep learning et des algorithmes type LLM mis en œuvre.

et il me partage l'article Wikipedia Inference engine que je n'avais pas lu quand j'avais rédigé 2024-06-06_1047, honte à moi 🫣.

Dans l'article Wikipedia Inference engine je lis :

In the field of artificial intelligence, an inference engine is a software component of an intelligent system that applies logical rules to the knowledge base to deduce new information.

et

Additionally, the concept of 'inference' has expanded to include the process through which trained neural networks generate predictions or decisions. In this context, an 'inference engine' could refer to the specific part of the system, or even the hardware, that executes these operations.

Je comprends qu'un Inference Engines n'effectue pas l'entrainement de modèles.

Pour éviter la confusion, #JaiDécidé d'utiliser à l'avenir le terme "Inference Engine (comme LLama.cpp)".

Le contenu de l'article Wikipedia Llama.cpp augmente mon niveau de confiance dans ce choix de vocabulaire :

llama.cpp is an open source software library written in C++, that performs inference on various Large Language Models such as Llama

Journal du jeudi 06 juin 2024 à 19:49 #JaiLu

Suite à la lecture de Intel Unveils Lunar Lake Architecture #JaiLu l'article Wikipedia au sujet de NPU : https://en.wikipedia.org/wiki/AI_accelerator.

#JaiLu l'article Wikipedia au sujet des TPU de Google : https://en.wikipedia.org/wiki/Tensor_Processing_Unit


Il y a quelques jours, je me posais des questions au sujet du matériel spécialisé pour exécuter des Inference Engines. La page Puce d'accélération de réseaux de neurones est très intéressante à ce sujet.