Des expériences au déploiement : MLflow 101
MaisonMaison > Nouvelles > Des expériences au déploiement : MLflow 101

Des expériences au déploiement : MLflow 101

Feb 24, 2024

Âge d'Aque

Suivre

--

1

Écouter

Partager

Imaginez ceci : vous avez une toute nouvelle idée commerciale et les données dont vous avez besoin sont à portée de main. Vous êtes tous motivés à l'idée de vous lancer dans la création de ce fantastique modèle d'apprentissage automatique 🤖. Mais soyons réalistes, ce voyage n’est pas du gâteau ! Vous expérimenterez comme un fou, gérerez le prétraitement des données, choisirez des algorithmes et peaufinerez les hyperparamètres jusqu'à ce que vous ayez le vertige 😵‍💫. À mesure que le projet devient plus délicat, c'est comme essayer d'attraper de la fumée : vous perdez la trace de toutes ces expériences folles et de toutes ces idées brillantes que vous avez eues en cours de route. Et croyez-moi, se souvenir de tout ce qui est plus difficile que de garder des chats 😹

Mais attendez, il y a plus ! Une fois que vous avez ce modèle, vous devez le déployer comme un champion ! Et avec des données et des besoins clients en constante évolution, vous recyclerez votre modèle plus de fois que vous ne changerez de chaussettes ! C'est comme des montagnes russes sans fin, et vous avez besoin d'une solution solide comme le roc pour que tout reste ensemble 🔗. Entrez dans MLOps ! C'est la sauce secrète qui met de l'ordre dans le chaos ⚡

Très bien, les amis, maintenant que nous avons le pourquoiderrière nous, plongeons dans le Quoiet le juteux Commentdans ce blog.

Jetons un coup d'œil au pipeline que nous allons construire d'ici la fin de ce blog 👆

Attendez bien, car cela ne va pas être une lecture rapide ! Nous élaborons une solution MLOps de bout en bout, et pour qu'elle reste réelle, j'ai dû la diviser en trois sections.

Section 1:Nous poserons les bases et les théories 📜

Section 2: C'est là que se déroule l'action ! Nous construisons un filtre anti-spam et suivons toutes ces expériences folles avec MLflow 🥼🧪

Section 3:Nous nous concentrerons sur le vrai problème : déployer et surveiller notre modèle de champion, afin de le rendre prêt pour la production 🚀

Faisons du rock and roll avec MLOps !

MLOps représente un ensemble de méthodologies et de meilleures pratiques de l'industrie visant à aider les data scientists à simplifier et automatiser l'ensemble du cycle de vie de formation, de déploiement et de gestion des modèles dans un environnement de production à grande échelle.

Il apparaît progressivement comme une approche distincte et autonome pour gérer l’ensemble du cycle de vie de l’apprentissage automatique. Les étapes essentielles du processus MLOps sont les suivantes :

Comment allons-nous le mettre en œuvre ? Bien que plusieurs options soient disponibles comme Neptune, Comet et Kubeflow, etc. nous nous en tiendrons à MLflow. Alors, faisons connaissance avec MLflow et plongeons dans ses principes.

MLflow est comme le couteau suisse de l'apprentissage automatique : il est super polyvalent et open source, vous aidant à gérer l'ensemble de votre parcours ML comme un patron. Il fonctionne bien avec toutes les grandes bibliothèques ML (TensorFlow, PyTorch, Scikit-learn, spaCy, Fastai, Statsmodels, etc.). Néanmoins, vous pouvez également l'utiliser avec n'importe quelle autre bibliothèque, algorithme ou outil de déploiement que vous préférez. De plus, il est conçu pour être ultra personnalisable : vous pouvez facilement ajouter de nouveaux flux de travail, bibliothèques et outils à l'aide de plugins personnalisés.

MLflow suit une philosophie de conception modulaire et basée sur une API, divisant ses fonctionnalités en quatre parties distinctes.

Voyons maintenant chacune de ces parties une par une !

C'est un résumé de notre compréhension de base des offres de MLflow. Pour plus de détails, reportez-vous à sa documentation officielle ici 👉📄. Maintenant, armés de ces connaissances, passons à la section 2. Nous commencerons par créer une simple application de filtre anti-spam, puis nous passerons en mode expérience complète, en suivant différentes expériences avec des exécutions uniques !

Très bien, les amis, préparez-vous pour un voyage passionnant ! Avant de plonger dans le laboratoire et de nous salir les mains avec des expériences, définissons notre plan d'attaque afin de savoir ce que nous construisons. Tout d'abord, nous allons utiliser un classificateur de spam en utilisant le classificateur de forêt aléatoire (je sais que Multinomial NB fonctionne mieux pour la classification de documents, mais bon, nous voulons jouer avec les hyperparams de la forêt aléatoire). Nous allons intentionnellement le rendre moins bon au début, juste pour le plaisir. Ensuite, nous libérerons notre créativité et suivrons diverses exécutions, peaufinant les hyperparams et expérimentant des trucs sympas comme Bag of Words et Tfidf. Et devine quoi? Nous utiliserons MLflow UI comme un patron pour toute cette douce action de suivi et nous préparerons pour la section suivante. Alors attachez votre ceinture, car nous allons nous amuser ! 🧪💥