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 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.