Bientôt l’intelligence artificielle dans mon smartphone ?

Bientôt l’intelligence artificielle dans mon smartphone ?

Après avoir conçu un processeur graphique peu énergivore capable de faire tourner un réseau neuronal sur un smartphone, une équipe du MIT a pris le problème par l’autre bout de la lorgnette. Elle a développé une méthode pour modéliser la consommation d’un réseau neuronal afin de pouvoir l’optimiser pour les terminaux mobiles. Les résultats sont prometteurs.

  • Des chercheurs du MIT ont élaboré des outils de mesure et d’optimisation de la consommation d’énergie des réseaux neuronaux convolutifs.
  • Grâce à ces techniques, il est possible de réduire considérablement la consommation d’énergie d’une application d’intelligence artificielle lorsqu’elle est installée sur un terminal mobile.

Pour le moment, la solution pour pouvoir faire fonctionner une application d’intelligence artificielle (IA) sur un téléphone mobile sans épuiser sa batterie en quelques minutes consiste à s’appuyer sur des serveurs en ligne auxquels les données sont transmises pour traitement. C’est ainsi que fonctionnent notamment les assistants virtuels comme Siri (Apple), Cortana (Microsoft), Bixby (Samsung) ou Assistant (Google). Trouver le moyen de faire fonctionner une IA directement sur un terminal mobile ouvrirait la voie à de nouvelles applications et à des usages encore inédits.

L’année dernière, une équipe de chercheurs du Massachusetts Institute of Technology (MIT) emmenée par le professeur Vivienne Sze avait présenté un processeur graphique (GPUGraphical Processing Unit) doté de 168 cœurs de calcul (voir article ci-dessous). Baptisé Eyeriss, il est capable d’exécuter un réseau neuronal d’apprentissage profond (deep learning) en étant dix fois moins énergivore qu’une puce graphique standard. Poursuivant leurs travaux, les chercheurs ont décidé d’aborder le problème dans le sens opposé, au niveau de l’architecture du réseau neuronal convolutif.

Ils ont développé une méthode qui permet d’estimer la quantité d’énergie dont un réseau neuronal aurait besoin pour fonctionner sur un certain type de terminal. Cet outil leur a ensuite permis de tester différentes techniques d’optimisation de l’architecture au niveau de l’échange des données entre les différentes couches du réseau d’apprentissage profond. Dans l’article scientifique qui sera prochainement présenté à la Computer Vision and Pattern Recognition Conference, il est précisé que les différentes méthodes ont permis de réduire jusqu’à 73 % la consommation d’énergie par rapport à l’implantation standard d’un réseau neuronal. Comparé aux meilleures techniques d’optimisation actuelles, le gain est de 43 %.

Dans un réseau neuronal convolutif, chaque couche est composée de nœuds qui ont chacun un poids, c’est-à-dire une incidence plus ou moins importante sur le nœud auquel ils vont transmettre des informations. © Vchalup, Fotolia

Optimiser l’architecture des réseaux neuronaux

L’équipe du professeur Sze s’est concentrée sur la circulation du flux de données entre les différentes couches du réseau neuronal convolutif et le poids de chaque interconnexion entre les nœuds qui composent ces couches. Ce poids est déterminé en fonction de la contribution qu’un nœud apporte au travail que va effectuer le nœud qui reçoit les informations. Leur outil de calcul leur a servi à déterminer la répartition de la consommation d’énergie à travers le réseau.

À partir de ces informations, ils ont alors pu travailler sur des techniques d’optimisation de l’architecture. Pour cela, les scientifiques du MIT se sont appuyés sur une technique « d’élagage » qui consiste à éliminer les connexions entre les nœuds dont le poids est le moins élevé. Ils l’ont améliorée en introduisant la prise en compte de la consommation d’énergie. De ce fait, l’élagage des nœuds se traduit par des économies d’énergie significatives. Mais ce n’est pas tout…

En effet, le poids d’un nœud peut avoir une incidence positive ou négative. Les chercheurs ont donc entrepris d’identifier les cas où des poids d’incidence opposée s’annulent mutuellement afin de les éliminer sans risquer d’altérer les performances de l’IA. Grâce à ces techniques d’évaluation et d’optimisation, il est possible de quantifier avec précision l’énergie consommée et les économies réalisables pour les architectures de réseaux neuronaux convolutifs les plus répandues. Les développeurs peuvent alors jouer sur la profondeur et la densité des couches en optimisant les performances selon les capacités du terminal mobile.

Avec ce type de travaux, les années laissent augurer de grandes avancées pour l’intégration de l’intelligence artificielle dans bon nombre d’appareils électroniques qui nous environnent : smartphones, capteurs en tout genre, objets connectés, téléviseurs, domotique…