Avec sa puce Napier, Tensordyne veut faire 13x à 17x mieux que les GPU NVIDIA
Et tu Tape Tape Tape c’est ta façon d’AImer
Le 18 juin à 17h27
Remplacer les multiplications par des additions, telle est l’approche de Tensordyne pour augmenter de manière importante les performances des processeurs pour l’intelligence artificielle. Le fabricant utilise une « sauce secrète » et promet jusqu’à 13 fois plus de tokens par seconde que NVIDIA. On vous explique cette astuce.
Avec sa puce Napier, Tensordyne veut faire 13x à 17x mieux que les GPU NVIDIA
Et tu Tape Tape Tape c’est ta façon d’AImer
Remplacer les multiplications par des additions, telle est l’approche de Tensordyne pour augmenter de manière importante les performances des processeurs pour l’intelligence artificielle. Le fabricant utilise une « sauce secrète » et promet jusqu’à 13 fois plus de tokens par seconde que NVIDIA. On vous explique cette astuce.
Hardware
Hardware
8 min
L’IA : des centaines de milliards de calculs
Comme nous l’avons déjà expliqué dans un #Nextquick, une simple requête à une IA générative (via un grand modèle de langage) entraine déjà des centaines de milliards de calculs… au bas mot. GPT-3, avec ses 175 milliards de paramètres, représente environ 350 milliards de calculs par token… avec des multiplications et des additions. On peut généralement multiplier par deux le nombre de paramètres pour avoir une approximation du nombre de calculs.
Les GPU avec la parallélisation massive des calculs sont largement devant les CPU pour ce genre d’opérations. NVIDIA domine dans ce domaine, surtout pour entrainer de gros modèles. Il existe certes des concurrents avec des ASIC (notamment les TPU de Google), mais encore faut-il réussir à embarquer l’écosystème face à la plateforme à tout faire CUDA de NVIDIA (là encore, nous avons un Nextquick sur le sujet) qui s’est installée comme une référence et un standard de facto.
- #Nextquick Une simple requête à ChatGPT, c’est déjà des centaines de milliards de calculs
- #Nextquick Pourquoi tout le monde se jette encore sur les GPU NVIDIA pour l’IA
Tensordyne transforme les multiplications en additions
Tensordyne propose une autre approche, comme l’indique notamment CNET. Au lieu d’effectuer des calculs sur des nombres à virgule flottante – c’est-à-dire des nombres décimaux classiques comme 1,32 ou encore 0,78 –, la start-up germano-américaine passe dans le monde des logarithmes.
Ces nombres ont un avantage intéressant : une multiplication devient une addition, une opération moins coûteuse et qui demande moins de place sur un circuit électronique. Toutefois, effectuer une addition dans le monde des logarithmes est bien plus compliqué.
Vous avez des nœuds dans le cerveau ? Reprenons, calmement. Dans le monde des mathématiques classiques, une multiplication entre a et b sur un GPU coûte « plus cher » qu’une addition ; c’est plus complexe dans la pratique, mais simplifions au maximum dans le cadre de cet article.
V’la la tête d’une addition dans le monde des logarithmes…
Il reste 79% de l'article à découvrir.
Déjà abonné ou lecteur ? Se connecter
Soutenez un journalisme indépendant,
libre de ton, sans pub et sans reproche.
Accédez en illimité aux articles
Profitez d'un média expert et unique
Intégrez la communauté et prenez part aux débats
Partagez des articles premium à vos contacts
expert et sans pub.
Commentaires (16)
Le 18 juin à 19h40
Bref, des choses connues depuis plusieurs centaines d'années.
Le 18 juin à 21h13
Ils ont conçu une nouvelle représentation des nombres en binaire et de nouvelles opérations ("pareto").
Les opérations "pareto" et "floating point standards" produisent tous les deux des erreurs par rapports aux calculs mathématiques théoriques. Ils se sont autorisés à dévier du standard pour optimiser la performance (vitesse de calcul et consommation d'énergie).
La difficulté a été de bien gérer les écarts entre les opérations "pareto" et "floating point standards" pour éviter qu'elles ne se cumulent (biais), et que les résultats ne s'écartent trop des résultats "floating point standards" pour des applications de type réseaux de neurones.
Pour avoir travaillé sur des quantifications d'algorithmes en virgule fixe (i.e. utiliser une unité de calcul entier pour faire des calculs non entiers) qui pose des problèmes du même genre, ce n'est pas du tout trivial.
Le 18 juin à 22h42
Le 19 juin à 08h26
MAIS dans le cas de l'IA, on touche à la base même de la bascule de l'IA: aller vers l'informatique qui "statistiquement a plutôt juste".
Les modèles, on les "optimise", on les "compresse" pour les faire passer sur les tels et sincèrement, on y perd beaucoup.
Mais cette compression, c'est souvent passer du FP16 au FP8 ou au INT8 + quantization (INT8 qui peut être optimisé CPU du coup - par les instructions MMX)
La perte est énorme par moment (des "scientifiques" nous indiquent que la perte est limité voir inexistante de 80% des paramètres - mais la perte sur les 20% restant, elle est énorme)
Là j'imagine que la perte ne se quantifie même pas en bits (quand on joue sur la transformation en logarithmes, il y a des valeurs qui se confondent aux limites).
La question reste celle que je me pose depuis 4 ans: comment on teste une IA, comment on la patche, comment on garanti que le résultat du début d'année est toujours le même malgré la mise à jour de la chaîne de calcul.
Mais comme l'a dit un ingé NVIdia: l'IA ça survit aux bugs: si le GPU a surchauffé, le client relancera le calcul et ça passera.
Le 18 juin à 21h09
Le 19 juin à 00h06
Le 19 juin à 07h49
Le 19 juin à 08h31
Si cette puce affiche de telles performances face aux GPU, peut-être que les programmeurs prendront le temps de délaisser CUDA à moyen-long terme ?
Modifié le 19 juin à 09h28
D'abord les calculs tensorielles pour les LLM sont déjà très bien gérés par Nvidia via les Tensor Cores (qui pour rappel peuvent faire 256 FMA/clock pour la 3ème génération en précision mixte. Une A100 a 4 Tensor cores/SM, ce qui fait qu'un SM fait 1024 FMA/clock).
Deuxième point, les GPUs sont conçus pour maximiser le throughput et faire du "hide latency". Ce qui tombe bien vu la quantité d'opérations requissent par l’entraînement et l'inférence.
Ensuite, TensorDyne se compare uniquement à Nvidia. C'est bien, mais si on souhaite se spécialiser pour de l'IA (et voir même une spécialisation pour cette type d'IA [CNN, RNN, MLP, transformer...]) il y a les TPUs et les NPUs. Hors, je n'ai rien lu de tel dans l'article et ça aurait été un point intéressant pour ce faire une idée si la société avait communiqué dessus.
Et c'est ici que le mât blesse selon moi, même si TensorDyne sort une puce qui correspond au promesse qu'ils annoncent, il reste que les approximations utilisées ne sont pas compatible avec la norme IEEE-754 (la norme pour les calculs flottants). Donc leur puces ne peuvent uniquement servir à l'IA, là ou Nvidia peut également faire du HPC. Et on le voit au fait que certaines opérations matricielles pour le HPC (typiquement en FP32) peuvent utiliser les Tensors Cores, mais également par le fait que Nvidia a des optimisations hardware pour les matrices creuses (très utilisées pour en simulation numérique)/
Donc au final, même si un GPU Nvidia venait à être moins performant qu'un TensorDyne pour de l'IA, la versalité de la puce Nvidia la rendrait moins risqué en rentabilisé en cas d'éclatement de la bulle.
Wait and see.
Modifié le 19 juin à 09h48
Le 19 juin à 10h46
Et ici, avec des représentations de nombres en log, ce sont les additions qui deviennent plus difficiles.
Le 19 juin à 11h02
Calculer une puissance de 2 est simple : il suffit de faire des décalages (à droite dans le cas présent).
Comme expliqué dans l'article d’EETimes, c'était cette approximation qui était utilisé dans la première génération de puce.
Tout leur travail a été d'améliorer ce principe pour faire baisser l'erreur d'un facteur 100. Et c'est probablement ça qui est compliqué.
Le 19 juin à 11h20
Le 19 juin à 13h00
Le 19 juin à 12h56
Le 19 juin à 14h49
Tensordyne: 144Go de VRAM HBM3e , 2,11 PetaGlops en FP8, 300W
Blackwell Ultra: jusqu’à 288 Go de HBM3e, 5 PetaFLOP en FP8
Blackwell: 192 Go, 5 PetaFLOP en FP8.
Du coup, comment on arrive à x13 d'écart en rack?
Signaler un commentaire
Voulez-vous vraiment signaler ce commentaire ?