Comment évaluer, choisir et gérer vos modèles de machine learning ?

choisir gerer machine learning modele

Comment évaluer, choisir et gérer vos modèles de machine learning ?

Share on twitter
Share on linkedin
Share on pinterest
Share on reddit
Share on pocket
Share on email

Le machine learning (ML) est un domaine de la science des données pouvant aboutir à des résultats intéressants et inatteignables autrement.

La méthode consiste à partir d’un algorithme générique que l’on va « entraîner » sur un massif de données. À l’issue de cet entraînement, les paramètres de cet algorithme sont alors spécifiques à ces données. 

Cette combinaison d’un algorithme générique avec un ensemble de paramètres spécifiques constitue un modèle. Créer un modèle donnant de bons résultats pour une tâche donnée est l’un des grands défis en machine learning.

Dans cet article, nous allons donc couvrir les principales problématiques qui surviennent dans le cycle de vie d’un modèle de machine learning.

Modèle ML : les problématiques courantes

Un spécialiste data développant des modèles de machine learning sera confronté à plusieurs problèmes, parmi lesquels deux sont toujours présents.

Robustesse vs Adaptabilité

Le premier problème est un dilemme valable dès lors que l’on conçoit un modèle mathématique : trouver l’équilibre entre la robustesse et l’adaptabilité.

Ce dilemme est souvent lié à la complexité d’un modèle, quantifié par le nombre de paramètres disponibles.

Toutes choses égales par ailleurs, abaisser le nombre de paramètres conduit souvent à un modèle moins précis, mais plus robuste. À l’inverse, ajouter des paramètres permet d’améliorer la précision, mais rend le modèle beaucoup plus sensible.

En ML, étant donné le nombre de paramètres dans les algorithmes utilisés (jusqu’à plusieurs milliards), on est très souvent exposé à la deuxième situation, que l’on appelle surapprentissage.

Qu’est-ce que le surapprentissage ?

Idéalement, on souhaite qu’un modèle détecte les corrélations présentes dans les données d’entrées en faisant abstraction du bruit. Un tel modèle sera capable de généraliser les résultats sur de nouvelles données.

Le surapprentissage correspond à la situation dans laquelle un modèle apprend par cœur les données d’entraînement (et donc le bruit), sans saisir le fond du problème. 

Cette situation survient presque inévitablement lorsque le nombre de paramètres est trop grand. Un tel modèle donnera des résultats désastreux sur de nouvelles données. Cela souligne aussi l’importance de l’évaluation d’un modèle.

Évaluer vos modèles

Les métriques sont essentielles en machine learning. Pour pouvoir évaluer vos modèles, il faut pouvoir les mesurer et les quantifier. Pour cela, on a besoin de métriques et de méthodes !

Choisir des métriques adaptées

Une bonne évaluation commence par une bonne mesure. 

Il existe en machine learning différentes métriques classiques pour différents usages. Elles permettent d’avoir une vision très quantitative :

Ces métriques, associées à des méthodes telles que la validation croisée et la stratification, permettent de quantifier objectivement les résultats d’un modèle d’un point de vue mathématique. 

Cependant, elles ont peu de sens en pratique. Une entreprise de e-commerce souhaite savoir si le nouveau moteur de recommandations rapporte plus d’argent ou non, peu importe l’erreur moyenne théorique.

Ces métriques sont donc des proxys plus ou moins proches de la réalité. D’où l’intérêt de définir également des métriques « business », telles que l’engagement client, le panier moyen…

Elles sont beaucoup plus intéressantes, mais posent un problème majeur : il est impossible de les anticiper, de les mesurer lors de la phase de développement. Seul un test grandeur nature permet de le faire.

Intervient alors une méthode essentielle à ce stade pour évaluer un modèle de machine learning : les tests A/B.

Les tests A/B pour vos modèles

Les tests A/B en machine learning consistent à faire fonctionner en même temps deux modèles différents. Les utilisateurs sont répartis en deux groupes similaires, c’est-à-dire ayant des caractéristiques identiques (âge, sexe…). 

Chaque groupe utilise un modèle différent. À la fin du test, on compare les métriques business de ces deux groupes pour déterminer quel modèle est le plus performant. 

Il existe beaucoup de variantes de tests A/B, en fonction des besoins et des situations. 

Le machine learning est un processus itératif par nature ; on n’arrive jamais au bon modèle du premier coup. L’essentiel est de mettre en place des tests permettant de conclure objectivement et selon des critères business quel modèle est le plus performant. 

De fait, avec la diversité des options disponibles (algorithmes, données, paramétrages, tests…), beaucoup de modèles seront créés au cours d’un projet. Arrivé à un certain stade, il devient nécessaire d’utiliser des outils dédiés.

Le MLOps, une approche et des outils pour gérer vos modèles de machine learning

À l’image du DevOPs ou du DataOps, une méthodologie de travail adaptée au machine learning s’est développée : le MLOps.

Son objectif est de rendre chaque étape la plus efficace possible (développement, déploiement et suivi) dans le cycle de vie d’un modèle de machine learning, notamment grâce à des process, des bonnes pratiques, et bien sûr à des outils.

Les outils dédiés au MLOps sont encore assez récents et le paysage risque de changer dans les années à venir.

Cependant, certains d’entre eux commencent à faire leurs preuves. On peut citer par exemple KubeFlow, qui est l’un des plus populaires (selon ses étoiles GitHub), MLFlow, ou encore MetaFlow, développé par Netflix et récemment ouvert au public.

Les modèles sont un aspect essentiel du machine learning et soulevant beaucoup de problématiques différentes comme nous avons pu le voir dans cet article. 

Cependant, gardez en tête que les données restent la priorité numéro 1 dans tout projet data. Il est souvent préférable de dépenser plus d’énergie dans la collecte et le nettoyage des données que dans la création de modèles ML plus complexes.

Demo
Demandez votre
démo de Saagie !