PROFIL - Caractérisation, Vérification et Mutualisation des Worklows de ML
Coordinatrice : Anne Etien, Université de Lille CRIStAL
Équipe : EVREF du Groupe Thématique : GL
Dates : 2025 - 2029
Résumé :
La démocratisation du Machine Learning (ML) à de nombreux domaines d’applications a pour conséquence une profusion de codes mis en commun sans réel contrôle. En pratique, l’expertise portée par ces codes est largement réutilisée pour guider de nouvelles explorations. Cependant, il reste aujourd’hui très difficile d’une part de systématiquement analyser les variations entre les workflows (WF) (i.e. les ensembles partiellement ordonnés de tâches) portés par ces codes, que ce soit pour les réutiliser ou en extraire de nouvelles connaissances et d’autre part de vérifier leur qualité au moins pour ne pas reproduire des erreurs connues.
Dans ce projet, nous adoptons une approche de génie logiciel (GL) pour aborder cette problématique en proposant de lier ingénierie des modèles (au sens GL), analyse statique et statistique pour caractériser ces workflows de ML par des modèles (aussi au sens GL), désormais nommés profils pour éviter la confusion.
Plus précisément, notre projet vise à explorer trois aspects complémentaires : (i) quelles informations peut-on et doit-on extraire automatiquement de code ML pour construire un profil permettant son analyse ? (ii) Est-il possible d’identifier systématiquement des erreurs types à partir du profil et d’identifier de mauvaises pratiques ? (iii) Peut-on exploiter la profusion des codes ML pour accélérer la recherche en ML en favorisant, à partir des profils extraits, une mutualisation des connaissances et l’élicitation de bonnes ou mauvaises pratiques ?
Notre hypothèse de recherche est qu’il est possible d’identifier finement les étapes d’un WF en fonction soit des fonctions de bibliothèques logicielles appelées, soit d’informations contextuelles (ex : données en paramètre, appels de fonction précédents).
Avec PROFIL, nous fournirons la première plateforme d’analyse de code de ML à des fins de caractérisation de profils en nous appuyant sur un méta-modèle de WF, de la logique propositionnelle, de l’analyse de code et du clustering.
Abstract :
The democratisation of Machine Learning (ML) in many application domains has resulted in a profusion of code being shared without any real control. In practice, the expertise provided by these codes is widely re-used to guide new explorations. However, it is still very difficult to systematically analyse the variations between the WFs carried by these codes, either to reuse them or to extract nex knowledge from them, and also to check their ’quality’, at least to avoid reproducing known errors.
In this project, we adopt a software engineering (SE) approach to this problem by proposing to link model engineering (in the SE sense), static analysis and statistics in order to characterise these ML workflows by means of models (also in the SE sence), henceforth referred to as profiles to avoid confusion.
More specifically, our project aims to explore the three complementary aspects : (i) what information can and should be automatically extracted from ML code in order to consruct a profile that can be analysed ? (ii) is it possible to systematically identify typical errors from the profile and to identify bad practices ? (iii) can we exploit the profusion of ML code to speed up ML research by encouraging, from the extracted profiles, a reuse of knowledge and the elicitaion of good or bad practices ?
Our research hypothesis is that it is possible to finely identify the stages of a WF based either on the software library functions called, or on contextual information (e.g. parameter data, previous function calls).
With PROFIL, we will provide the first ML code analysis platform for profile characterisation purposes, based on an WF meta-model, propositional logic, code analysis and clustering techniques.