Sparse by Command: Task-Conditional Compute Skipping for Multi-Task Inference Accelerators
Cet article présente « Sparse by Command », une approche de co-conception matériel-logiciel qui exploite les commandes de tâches pour ignorer dynamiquement les calculs inutiles via des réseaux de porte légers et un accélérateur carrelé spécialisé, atteignant jusqu'à 76 % de réduction de FLOP et une accélération de la latence de 2,4x pour l'inférence multitâche sans modifier l'architecture du modèle.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que vous soyez le chef d'orchestre d'un orchestre massif et de haute technologie. Dans le monde de l'intelligence artificielle, cet orchestre est un « réseau de neurones », un programme informatique semblable à un cerveau, conçu pour prendre des décisions. Habitellement, quand cet orchestre joue une pièce musicale, chaque musicien prend son instrument et joue, peu importe le genre de chanson qui est interprétée. Si la chanson est une berceuse douce, les tambours lourds et les trompettes éclatantes jouent quand même à plein volume, même si la chanson n'en a pas besoin. C'est incroyablement gaspilleur. Cela consomme beaucoup d'énergie et prend beaucoup de temps, tout comme utiliser un énorme camion pour aller acheter une seule pomme à l'épicerie du coin.
Dans le domaine spécifique de l'« inférence multi-tâches », ce problème est encore plus grand. Ici, un seul cerveau informatique doit accomplir de nombreuses tâches à la fois, comme diriger une voiture, freiner ou tourner à gauche. Le problème est que l'ordinateur ne sait pas quelle tâche il est en train d'accomplir avant de commencer à travailler ; il se prépare donc pour toutes les tâches à la fois, gaspillant de l'énergie pour des choses dont il n'a pas besoin. Les scientifiques ont essayé de corriger cela en rendant l'ordinateur « creux » (ou « sparse »), un mot sophistiqué pour dire « vide ». Ils ont essayé de dire à l'ordinateur de sauter certaines notes, mais généralement, l'ordinateur doit quand même vérifier chaque note pour voir s'il doit la sauter, ce qui prend du temps et de l'énergie. Ce document pose une question simple : Et si l'ordinateur savait exactement quelle tâche il allait accomplir avant de commencer à jouer, afin qu'il puisse dire aux musiciens de poser leurs instruments avant même de les prendre ?
Les auteurs de ce document, une équipe de Hong Kong et de Huawei, ont construit un nouveau système ingénieux appelé « Sparse by Command » qui résout ce problème. Ils ont réalisé que dans des tâches comme la conduite autonome, la « commande » (comme « tourner à gauche » ou « freiner ») est connue bien avant que l'ordinateur ne commence à regarder la route. Ils ont utilisé cette information gratuite pour créer un commutateur intelligent. Au lieu que l'ordinateur devine quelles parties de son cerveau utiliser, un petit réseau auxiliaire ultra-rapide examine la commande et bascule instantanément un interrupteur pour éteindre les parties spécifiques du cerveau principal qui ne sont pas nécessaires à ce moment-là.
Imaginez cela comme une maison intelligente. Si vous dites à votre maison « Je vais me coucher », le système ne se contente pas de tamiser les lumières du salon ; il sait que vous n'êtes pas dans la cuisine, donc il coupe l'alimentation des lumières de la cuisine entièrement avant même que vous n'y entriez. Les auteurs ont construit une puce informatique spéciale (sur un FPGA, qui est comme un tableau électronique de type LEGO programmable) qui comprend ces commutations. Quand la commande dit « freiner », la puce saute 76 % du travail. Quand elle dit « tourner à gauche », elle saute environ 71 %. Parce que la puce arrête physiquement le travail de se produire au lieu de simplement faire semblant de le faire, elle économise une quantité massive de temps et de batterie.
Les résultats sont assez impressionnants. Lorsqu'ils ont testé cela sur un jeu de conduite simulé appelé CARLA, le système est devenu beaucoup plus rapide. Le temps nécessaire pour prendre une décision est passé de 9,12 millisecondes à une plage comprise entre 3,74 et 4,44 millisecondes. C'est une accélération d'environ 2,1 à 2,4 fois ! Il a également utilisé moins de la moitié de l'énergie, passant de 263 millijoules à environ 108–128 millijoules par décision. Crucialement, la voiture n'a pas accidenté ou été perdue ; elle a quand même complété 100 % des itinéraires de conduite parfaitement.
Le document montre également pourquoi cette approche est meilleure que les anciennes méthodes. Ils ont essayé de simplement « élaguer » (ou « pruner ») des parties du cerveau de façon permanente, comme si l'on retirait les tambours de l'orchestre pour toujours. Mais cela n'a pas bien fonctionné car parfois on a besoin des tambours, et parfois non. Si on les retire de façon permanente, l'orchestre ne peut plus jouer les chansons qui en nécessitent. Le système « Sparse by Command » est plus intelligent car il garde tous les musiciens prêts, mais ne les appelle que lorsque la chanson spécifique en a besoin. Ils ont même testé cela sur un autre type de cerveau informatique (un Transformer) et ont constaté que cela fonctionnait aussi là, suggérant que cette idée pourrait être utilisée pour de nombreux types de machines intelligentes, pas seulement les voitures.
En résumé, ce document prouve que si vous donnez une instruction claire à un ordinateur sur ce qu'il est censé faire, vous pouvez lui dire de sauter tout le travail inutile. En construisant une puce personnalisée qui écoute ces instructions et qui saute physiquement le travail inutile, ils ont créé un système intelligent qui est plus rapide, moins coûteux à exploiter et tout aussi performant dans sa tâche. C'est un rappel que parfois, la meilleure façon d'être efficace n'est pas de travailler plus dur, mais de savoir exactement ce qu'il ne faut pas faire.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.