Comment fonctionne la multiplication chez Tenstorrent ?
Dans l'optimisation de mon moteur d'inférence, je dois m'intéresser à une opération effectuée plusieurs milliards de fois par token : la multiplication.
Tenstorrent est une entreprise canadienne spécialisée dans les processeurs haute performance pour l'IA. Elle a été fondée par Ljubisa Bajic et Jim Keller (que j'admire beaucoup -- il a bossé chez Apple, AMD, Tesla rien que ça).
Leur approche de la multiplication est vraiment originale.
Rappel : la norme IEEE754
La norme IEEE754 définit comment représenter un nombre flottant en 3 parties :
- Signe : 1 bit, 0 indique +, 1 indique --
- Exposant : code la puissance de 2 (avec un biais)
- Mantisse : représente la partie fractionnaire (normalisée, avec un 1 implicite avant la virgule)
Par exemple, un float 32 bits :
- 1 bit pour le signe
- 8 bits pour l'exposant (biais 127)
- 23 bits pour la mantisse
Exemple : 0_10000001_01000000000000000000000
- Signe = 0 --> positif
- Exposant =
10000001= 129 --> 129 - 127 = 2 - Mantisse =
1.01= 1,25 - Valeur = 1,25 x 2^2 = 5.0
Et Tenstorrent dans tout ça ?
Traditionnellement, une FPU multiplie deux flottants en manipulant directement leurs mantisses --> précis, mais coûteux en transistors et donc en énergie.
Chez Tenstorrent, pas de multiplication flottante directe. À la place : un tout petit multiplicateur entier 7 bits x 5 bits. Les mantisses sont découpées en blocs (7 et 5 bits), multipliées séparément, puis recombinées (décalages + additions).
Ce faisant, ils ont la possibilité d'ajuster la précision des calculs : la Math Fidelity.
C'est un curseur qui permet de choisir entre :
- LoFi --> approximation rapide (seulement les blocs principaux)
- HiFi2, HiFi3 --> on ajoute des blocs --> plus de précision, plus de cycles
Exactement comme une multiplication en colonne où vous choisissez de vous arrêter après 1, 2 ou 3 étapes selon le compromis vitesse / précision.
Pourquoi c'est malin ?
- Ajustement dynamique performance vs précision
- Économie d'énergie : inutile de payer le prix d'un fp16 complet si un fp8 ou un calcul LoFi suffit
- Matériel ultra simple et compact
Et ça colle parfaitement à l'évolution des modèles actuels (ex. quantisation 4 bits dès la conception des LLM).
En clair : faire du flottant avec du petit entier -- et laisser le logiciel choisir le niveau de précision.
Les petits modeles de langage (SLM) : l'avenir de l'IA agentique ?
Un article publié en juin 2025 par des chercheurs de chez Nvidia va dans le sens de notre vision de l'IA : "Small Language Models are the Future of Agentic AI" (arXiv:2506.02153v1).
Ils y défendent l'idée que les SLM -- plus compacts, plus sobres, et plus accessibles que les LLM -- sont particulièrement adaptés aux tâches spécifiques, structurées et répétitives... autrement dit : idéaux pour les agents IA.
- Accessibilité : moins gourmands en ressources, ils permettent à des PME, des collectivités ou des développeurs indépendants d'innover sans dépendre d'infrastructures coûteuses.
- Flexibilité : faciles à adapter, compatibles avec des architectures hybrides, et capables de collaborer avec de plus grands modèles quand c'est nécessaire.
- Impact : en réduisant à la fois les coûts, la consommation énergétique et les biais, ils rendent l'IA plus durable et plus inclusive.
Et si l'intelligence ne se mesurait plus à la taille du modèle, mais à son efficacité contextuelle ?