GreenDL
ULB · Faculté des Sciences · Sciences informatiques ·
Par BODENHORST Anthony , BONTEMPS Quentin, KONSTANTOPOULOS Alexios, SANOU Pap, SWIRYDOWICZ Szymon
Tuteur(s) : Matthieu Defrance
Dans une société qui évolue vers une automatisation de ses systèmes, nous utilisons de plus en plus les intelligences artificielles pour nous aider dans nos tâches quotidiennes. Mais cette utilisation nécessite une consommation énergétique importante. Quel est donc le coût énergétique caché de l’entrainement des intelligences artificielles ?
L’intelligence artificielle fait partie de notre quotidien qu’on en ait conscience ou non. Des exemples de cette présence peuvent être trouvés sur internet où ces technologies sont notamment utilisées dans les moteurs de recherche comme Google, dans nos smartphones où elles peuvent servir à travailler nos collections de photos et de façon plus générale, partout où des grandes quantités de données doivent être traitées. Parmi les techniques qui se cachent sous cette appellation, les réseaux de neurones sont à la fois fort connus du grand public et fort utilisés en pratique.
Les réseaux de neurones, comme tout processus informatique, consomment de l’énergie. En plus de l’utilisation qu’on en fait quotidiennement, ces réseaux consomment également beaucoup d’énergie pour ce qu’on appelle leur entrainement. En effet, avant de devenir efficaces et utilisables, les intelligences artificielles doivent d’abord passer beaucoup de temps à s’entrainer sur base d’un grand ensemble de données, afin d’apprendre et de faire le moins d’erreurs possible dans leurs prédictions. Il faut aussi prendre en compte que le développement d’un réseau de neurones demande beaucoup de tests afin d’optimiser ses paramètres et de parcourir le même jeu de données une multitude des fois, dans le but de maximiser les performances et la précision du produit final. Ainsi, la création d’une telle intelligence consomme énormément d’énergie avant même d’être utile.
Au cours de notre projet, nous avons développé une petite intelligence artificielle de référence, permettant de distinguer les photos des chiens et chats, dont le temps d’entrainement et la consommation peuvent sembler anecdotiques. Mais cela n’est pas les cas de la plupart des applications réelles ou les entrainements peuvent parfois se compter en centaines d’heures, et qui sont réalisés sur des clusters, représentant plusieurs centaines, voire milliers d’ordinateur personnels. Dans le contexte climatique actuel, une telle consommation peut être inquiétante, et surtout si elle se base sur de l’énergie non renouvelable.
Ainsi, nous avons essayé de trouver un moyen de quantifier et appliquer une mesure de rapport entre l’énergie utilisée par l’apprentissage d’un réseau de neurones et de son efficacité. Pour ce faire, nous avons développé une application permettent de mesurer la quantité d’énergie, en Joules, consommée par un logiciel sur un ordinateur personnel. Nous l’avons ensuite utilisé sur notre simple réseau de neurones classifiant chiens et chats, de façon à récolter des données réalistes, qui servent ensuite de base pour trouver des méthodes de calcul adéquates. Cela pour finalement déterminer les paramètres d’entrainement de l’IA, dont le rapport entre la précision des prédictions et le coût énergétique est le plus intéressant.
Bien entendu, notre travail présente des estimations et possibles erreurs dans son approche, et a comporté des limitations notamment au niveau du matériel informatique disponible. Les détails concernant la prise des mesures, les données récoltées et ces estimations, sont présentées dans la vidéo. Au besoin, les codes des outils développés sont disponibles sur le dépôt Git suivant : https://github.com/qbontemp/GreenDL.