Le 02/04/2021

Pourquoi MLOps est incontournable pour pérenniser vos services de Machine Learning ?

Est-il encore possible, en 2021, de faire l’impasse sur l’utilisation du Machine Learning à des fins de prédiction et d’exploitation des données, lorsqu’il est établi qu’il permet aux entreprises de se différencier. Même si les phases d’expérimentation se multiplient et sont de plus en plus éprouvées dans les entreprises, la pérennisation de services basés sur du Machine Learning est un processus beaucoup moins maîtrisé. Nous développons dans cet article comment MLOps permet de fiabiliser les traitements de Machine Learning pour assurer aux entreprises des bénéfices sur le long terme.

Qu’est-ce que MLOps ?

MLOps est une pratique de collaboration et de communication entre les Data Scientists et les opérations destinée à fiabiliser le cycle de vie des services de Machine Learning. Similaire aux approches DevOps ou DataOps, MLOps vise à augmenter l’automatisation et à améliorer la qualité de la mise en production du Machine Learning.

Pourquoi les modèles de Machine Learning ne restent-ils pas fiables éternellement ?

Les modèles de Machine Learning apprennent et son mis au point à partir de jeux de données or si ces derniers ne sont pas ou plus représentatifs de l’information cible à prédire, alors le modèle n’est plus performant. On parle dans ce cas, de dérive des modèles.

Imaginons, par exemple, qu’une entreprise souhaite prédire les départs à la retraite de ses employés. Pour atteindre cet objectif, elle entraine un modèle de Machine Learning en se basant sur les données des 5 dernières années. Une fois le modèle développé, l’entreprise observe qu’il prédit un âge moyen de départ autour de 62 ans.

L’année suivante, l’état Français vote une loi, à effet immédiat, stipulant que toutes les personnes partant à la retraite avant 65 ans ne toucheront plus un taux compris entre 37,5 et 50 % de leur salaire initial mais un taux fixe à 40 %.

Cet événement a de fortes chances de fausser les prédictions du modèle, les personnes proches de 65 ans décidant alors de ne pas partir à la retraite l’année d’entrée en vigueur de la loi, s’estimant désavantagées par le nouveau taux calculé.

Pourquoi faut-il automatiser et systématiser l’entrainement de vos modèles  ?

Dans l’exemple précédent, nous avons parlé d’un événement externe impactant les prédictions sur les données sur plusieurs années. Dans d’autres contextes, comme la personnalisation de produits ou encore la détection de fraude, les caractéristiques des données cibles à prédire peuvent évoluer beaucoup plus rapidement (mois, jours, voire heure).

Il est donc essentiel de ré-entraîner régulièrement les modèles sur des données intégrant les nouvelles caractéristiques afin de maximiser leur performance et d’assurer de leur véracité dans le temps.

MLOps : La réponse aux besoins de déploiement et de réentrainement du Machine Learning.

MLOps peut être défini comme une extension de DevOps pour le Machine Learning. Cependant, même si l’on y retrouve les grands principes de DevOps, MLOps apporte un axe de réflexion supplémentaire relatif aux données et métadonnées du Machine Learning.

Chaîne MLOps

Figure 1 – Exemple de chaîne MLOps

La figure 1 illustre une chaîne MLOps. Elle débute par une phase d’expérimentation (phase de développement réalisée par les Data Scientists) de laquelle émerge les algorithmes de Machine Learning destinés à entrainer les modèles sur des jeux de données. Ces algorithmes sont stockés dans un code repository exploité par la chaîne d’intégration continue (CI) comme dans un projet DevOps classique.

Les Data Scientists définissent des hyperparamètres pour l’entrainement ces modèles. Ce sont les métadonnées utiles pour l’optimisation des modèles, elles sont stockées dans un repository central.

Suite à l’intégration continue, les modèles sont entrainés et exposés sous forme de services par la chaîne de déploiement continue (CD). Cette dernière étape rejoue les algorithmes de Machine Learning sur des données de production en utilisant les hyperparamètres stockés dans le repository central.

Cette approche permet de systématiser de l’entrainement des modèles de Machine Learning de manière automatique.

Quelles sont les limites du réentrainement automatique ?

Nous avons évoqué le réentrainement automatique, mais concrètement comment fonctionne-t-il ?

Figure 2 – Chaîne de réentrainement automatique

La figure 2 illustre une chaîne de réentrainement de modèles de Machine Learning.

Elle débute par la détection de la dérive d’un modèle avec des processus d’évaluation statistiques. Le réentrainement ainsi que le déploiement sont alors déclenchés automatiquement sur un nouveau jeu de données.

Si le nouveau modèle entrainé passe avec succès la phase d’évaluation et qu’il s’avère plus performant (notion identique au Quality Gate de DevOps ), il est alors éligible au déploiement en production.

Cependant, si après le réentrainement le modèle ne passe pas la phase d’évaluation avec succès, alors le service de Machine Learning n’est plus considéré comme performant, il faut alors relancer une nouvelle phase d’expérimentation.

Tirer parti du Machine Learning sur le long terme passe nécessairement par la case MLOps.

Nous avons démontré la capacité de MLOps à automatiser les phases de réentraînement des modèles de Machine Learning pour les rendre fiables sur le long terme, toutefois, MLOps apporte bien d’autres concepts tels que le versioning de données et de modèles tout en intégrant l’automatisation de la validation de ces derniers.

Machine Learning : comment industrialiser vos modèles ?

La Data Science, domaine prometteur qui continue de séduire de plus en plus d’entreprises, peine à être intégré dans des processus d’industrialisation. La combinaison entre données, algorithme, mathématiques, infrastructure technique, DevOps, APIs, entre autres, fait appel à de nouvelles compétences et au besoin d’une sensibilisation transverse, pour mener à bien la mise en production de modèles de Machine Learning. Nous abordons tous les points critiques pour industrialiser un modèle de Machine Learning.

Lucas Sterna

Lucas Sterna

Consultant Nexworld

DÉCOUVREZ COMMENT NOTRE CABINET ACCOMPAGNERA LA TRANSFORMATION DE VOTRE ENTREPRISE

Les consultants Nexworld mettent leur expertise au service des entreprises qui souhaitent accélérer leur transformation numérique. Nexworld propose des séminaires adaptés à vos besoins de transformation.

Kafka, pierre angulaire des Architectures Fast Data ?

Kafka, pierre angulaire des Architectures Fast Data ?

Comment éviter que le Big Data ne devienne un « Big Mess » ? C’est pour répondre à cette question qu’en 2009 les équipes de LinkedIn, confrontées à des problématiques d’intégration de données auxquelles les outils disponibles ne répondaient pas, élaborent un nouveau bus de messages distribué : Kafka.

Kafka ou Artemis : Comment bien choisir son broker de messages ?

Kafka ou Artemis : Comment bien choisir son broker de messages ?

Une communication asynchrone ne peut se faire sans la présence d’un MOM (Message Oriented Middleware) entre le client et le serveur. Un tel middleware va permettre de mettre en attente les messages envoyés par le client en direction du serveur, et inversement.

Big Data : Splunk versus la Suite Elastic

Big Data : Splunk versus la Suite Elastic

Avec le Big Data et l’explosion du volume de données, une question s’impose : comment exploiter ces données et en extraire de la valeur ? Deux outils se disputent aujourd’hui la place de leader dans le domaine : Splunk (le propriétaire), et la Suite Elastic (l’open source)