Introduction
L'association IA PAU organise des événements pour vulgariser et partager les connaissances autour de l'intelligence artificielle. Pour rapprocher les entreprises et les étudiants, elle organise depuis 2018 des data challenges [1] : plusieurs entreprises présentent un problème à résoudre avec une technologie d'intelligence artificielle que des équipes d'étudiants de différentes écoles françaises doivent résoudre le temps d'un weekend ou d'un mois; chaque équipe présente sa solution devant un jury qui récompense financièrement les meilleurs projets. à partir de 2021, en partenariat avec la Région Aquitaine, un prix spécial a été ajouté pour récompenser la prise en compte de l'impact environnemental des solutions proposées, et des outils de mesure de consommation étaient suggérés aux étudiants. Bien que cette démarche ait permis aux étudiants de proposer des comparaisons entre plusieurs modèles et de discuter de compromis entre la précision et la consommation de leurs modèles, il apparaît que les ordres de grandeur et les principaux critères d'impact sont rarement maîtrisés par les étudiants. De plus, une comparaison valable entre les équipes nécessite que les différents tests suivent le même protocole et la même infrastructure de calcul. Dans ce but, en 2022, l'association a démarré le développement de la plateforme GAIA avec le soutien de l'entreprise La Fibre 64 pour la gestion de ses data challenges.
Méthodologie
GAIA est une application web de gestion de data challenge et de calcul d'indicateurs d'impact environnemental lors des phases d'apprentissage et d'inférence d'un modèle d'IA.
Son architecture est la suivante :
- Une application web (gestion opérationnelle du data challenge, lancement et suivi calcul d'impact environnemental) pouvant être hébergée dans une architecture type cloud
- Un serveur physique avec GPU configuré pour que l'exécution de chaque calcul unitaire d'apprentissage ou d'inférence d'un modèle d'IA génère plusieurs indicateurs d'appréciation de l'impact environnemental.
L'application web permet la gestion opérationnelle d'un data challenge à travers 3 profils utilisateurs :
- Administrateur : définition/gestion des autres utilisateurs, définition événement (caractéristiques, règles), définition des différents projets rattachés à un data challenge - Gestionnaire (porteurs de projets, mentors) : messagerie avec les étudiants, déclaration observations de suivi, consultation des résultats d'impact environnemental - Utilisateurs (étudiants/thésards dans le cas d'IA PAU) : inscription, constitution d'équipes, accès aux ressources du projet, messagerie avec les gestionnaires et administrateurs, soumission-suivi-consultation calculs d'impact environnement (apprentissage et/ou inférence suivant projets)
Les équipes participantes au data challenge évaluent l'impact environnemental via la procédure suivante:
- Chaque équipe inscrite reçoit un dépôt git. Ce dépôt est pré-rempli avec un protocole d'évaluation, créé par l'équipe organisatrice et est spécifique à chaque sujet. Par exemple, le protocole d'un sujet de classification de texte consiste à évaluer un modèle sur un corpus de test
- Pendant la compétition, une équipe peut modifier le protocole pour y intégrer son modèle et envoyer la nouvelle version sur le serveur git
- Cet envoi active l'évaluation du protocole sur le serveur, géré par une file d'attente pour s'assurer que deux évaluations ne soient pas exécutées en même temps. Lors de son exécution, différents indicateurs classiques (cf ci-dessous) sont enregistrés par le logiciel AIPowerMeter [3]
- Les résultats sont ensuite disponibles sur l'application Web
Les indicateurs calculés sont les suivants :
- Consommation énergétique des parties CPU et GPU
- Durée, empreinte mémoire, pourcentage d'utilisation des cÅurs
- Métriques de cas d'utilisation spécifiques au projet (ex : précision du modèle par rapport à un jeu de données tests, ...)
De plus, des informations relatives à l'empreinte environnementale du serveur sont communiquées grâce aux données de l'API BoaVizta [2]. Ce sont l'empreinte carbone et la consommation de ressources abiotiques dûes à sa fabrication.
Ces informations permettent aux étudiants de quantifier une partie de leur impact. Pendant la compétition, les étudiants reçoivent aussi un cours d'introduction sur l'empreinte environnementale du numérique et la méthodologie d'analyse en cycle de vie (Méthode Empreinte Projet produite par l'ADEME), afin qu'ils puissent restituer ces chiffres avec le recul d'une démarche globale. En complément, les étudiants montent en compétence sur l'utilisation de git, voire docker, par exemple pour l'empaquetage de librairies ou logiciels tiers pour le pré-traitement des données.
Originalité / perspective
Avant de débuter le développement, des plateformes de gestion de compétitions type data challenge (codalab par exemple) ont été évaluées et non retenues car non centrées sur l'impact environnemental. Ainsi, l'expérience acquise durant le projet GAIA pourra être utilisée dans de futures collaborations avec ces plateformes.
Plusieurs axes de réflexion pour la poursuite du développement de la plateforme sont en cours de réflexion :
- Proposer d'accéder à la partie calcul sous forme d'une API afin de pouvoir la diffuser auprès d'autres organisations (hors data challenges), dans le cadre de formations par exemple
- Ajouter un scénario pour des utilisateurs ne maîtrisant pas les outils de développement informatique (git, ssh, docker), par exemple via l'ajout dans l'application web d'un module permettant de déposer un notebook ou une archive
- Créer un conteneur docker permettant de déployer l'environnement de calcul d'indicateurs rapidement sur une infrastructure possédant des GPU
- Ajouter de nouveaux templates d'évaluations pour couvrir le maximum de scénarios d'apprentissage ou d'inférence, supervisés ou non supervisés
Références
[1] https://iapau.org/category/archives-data-challenge/
[2] https://boavizta.org/
[3] https://github.com/GreenAI-Uppa/AIPowerMeter