Alors qu'un téléphone mobile doté d'un logiciel de reconnaissance vocale consomme environ 1 watt, la nouvelle puce n'en requiert que 0,2 à 10 milliwatts, selon le nombre de mots à reconnaître.
En pratique, cela se traduit probablement par une économie d'énergie de 90 à 99 %, rendant ainsi la commande vocale accessible aux appareils électroniques relativement simples. C'est notamment le cas des appareils à faible consommation qui doivent récupérer l'énergie de leur environnement ou fonctionner pendant des mois sans recharge. Ces appareils constituent l'épine dorsale technologique de ce que l'on appelle l'« Internet des objets » (IdO).
« La saisie vocale deviendra une interface naturelle pour de nombreuses applications portables et appareils intelligents », affirme Anantha Chandrakasan, professeur Vannevar Bush de génie électrique et informatique au MIT, dont l'équipe a développé la nouvelle puce. « La miniaturisation de ces appareils nécessitera une interface autre que le tactile ou le clavier. Il sera essentiel d'intégrer la fonctionnalité vocale localement afin de réduire la consommation d'énergie du système par rapport à une opération effectuée dans le cloud. »
« Je ne pense pas que nous ayons réellement développé cette technologie pour une application particulière », ajoute Michael Price, qui a dirigé la conception de la puce lorsqu'il était étudiant en génie électrique et informatique au MIT et qui travaille maintenant pour le fabricant de puces Analog Devices. « Nous avons cherché à simplifier l'infrastructure afin d'offrir aux concepteurs de systèmes de meilleurs compromis qu'avec les technologies précédentes, qu'il s'agisse d'accélération logicielle ou matérielle. »
Le cerveau endormi se réveille.
Aujourd'hui, les systèmes de reconnaissance vocale les plus performants, à l'instar de nombreux autres systèmes d'intelligence artificielle de pointe, reposent sur des réseaux neuronaux : des réseaux virtuels de processeurs d'informations simples, inspirés du cerveau humain. Une grande partie des circuits intégrés des nouvelles puces est dédiée à l'implémentation de réseaux de reconnaissance vocale aussi efficacement que possible.
Cependant, même le système de reconnaissance vocale le plus économe en énergie pourrait rapidement vider la batterie d'un appareil en cas de fonctionnement continu. C'est pourquoi la puce intègre également un circuit de « détection d'activité vocale » plus simple, qui analyse le bruit ambiant pour déterminer s'il s'agit de parole. Le cas échéant, la puce active le circuit de reconnaissance vocale, plus grand et plus complexe.
En fait, à des fins expérimentales, la puce des chercheurs comportait trois circuits de détection d'activité vocale différents, de complexité variable et, par conséquent, de consommation d'énergie différente. Le circuit le plus efficace dépend du contexte, mais lors de tests simulant un large éventail de conditions, le plus complexe des trois circuits a permis de réaliser les plus grandes économies d'énergie pour l'ensemble du système. Bien qu'il consomme près de trois fois plus d'énergie que le circuit le plus simple, il génère beaucoup moins de faux positifs. Les circuits plus simples annulent souvent leurs économies d'énergie en déclenchant le reste de la puce.
Un réseau neuronal typique se compose de milliers de « nœuds » de traitement, capables d'effectuer uniquement des calculs simples, mais densément interconnectés. Dans le type de réseau couramment utilisé pour la reconnaissance vocale, les nœuds sont organisés en couches. Les données vocales sont introduites dans la couche inférieure du réseau, dont les nœuds les traitent et les transmettent aux nœuds de la couche suivante, et ainsi de suite. La sortie de la couche supérieure indique la probabilité que les données vocales représentent un son particulier.
Un réseau de reconnaissance vocale est trop volumineux pour tenir sur la mémoire interne d'une seule puce, ce qui pose problème car l'utilisation de données externes est beaucoup plus gourmande en ressources que leur récupération depuis la mémoire locale. C'est pourquoi la conception des chercheurs du MIT vise à minimiser la quantité de données que la puce doit récupérer depuis la mémoire externe.
Gestion de la bande passante :
un nœud situé au milieu d'un réseau neuronal peut recevoir des données d'une douzaine d'autres nœuds et en transmettre à une autre douzaine. Chacune de ces deux douzaines de connexions possède un « poids » associé, un nombre indiquant l'importance des données qui y transitent pour les calculs du nœud récepteur. La première étape pour minimiser la bande passante mémoire de la nouvelle puce consiste à compresser les poids associés à chaque nœud. Les données ne sont décompressées qu'après leur intégration à la puce.
Celle-ci exploite également le fait que, pour la reconnaissance vocale, des vagues de données successives doivent traverser le réseau. Le signal audio entrant est divisé en incréments de 10 millisecondes, chacun devant être évalué séparément. La puce des chercheurs du MIT ne transporte qu'un seul nœud de réseau neuronal à la fois, mais y fait transiter les données de 32 incréments consécutifs de 10 millisecondes.
Si un nœud possède douze sorties, les 32 passages produisent 384 valeurs de sortie, que la puce stocke localement. Chacune de ces valeurs doit être couplée à 11 autres valeurs lors de sa transmission à la couche de nœuds suivante, et ainsi de suite. Par conséquent, la puce nécessite un circuit de mémoire interne conséquent pour ses calculs intermédiaires. Mais elle ne charge qu'un seul nœud compressé à la fois depuis la mémoire externe, ce qui réduit sa consommation d'énergie.
Ces recherches ont été financées par le projet Qmulus, une initiative conjointe du MIT et de Quanta Computer, et le prototype de la puce a été réalisé dans le cadre du programme d'universités satellites de Taiwan Semiconductor Manufacturing Company.
###
Auteur : Larry Hardesty, Bureau de presse du MIT

