MLOps (Machine Learning Operations)

MLOps (Machine Learning Operations)
Alors que les modèles d'apprentissage automatique (ML) sont de plus en plus intégrés dans les processus commerciaux quotidiens, les organisations sont confrontées à plusieurs défis pour maintenir la précision et la pertinence de leurs modèles dans des environnements réels. L'un des principaux problèmes est la dérive des données, lorsque les données sur lesquelles les modèles s'appuient changent au fil du temps, ce qui leur fait perdre de leur précision. D'où la nécessité d'une surveillance continue, d'une nouvelle formation et d'un redéploiement des modèles pour s'assurer que leurs prédictions restent valables.
La gestion de ces modèles peut être sujette à des erreurs, prendre du temps et coûter cher sans les systèmes appropriés. MLOps (Machine Learning Operations) résout ce problème en automatisant et en rationalisant l'ensemble du processus.
Voyons comment MLOps simplifie et automatise le cycle de vie de l'apprentissage automatique de bout en bout, de la [préparation des données] (https://zilliz.com/blog/streamling-data-processing-with-zilliz-cloud-pipelines-a-deep-dive-into-document-chunking) au déploiement des modèles et à la [surveillance] (https://zilliz.com/glossary/application-performance-monitoring-(apm)).
Qu'est-ce que MLOps ?
Machine Learning Operations (MLOps) combine l'apprentissage automatique, DevOps et l'ingénierie des données pour rationaliser le cycle de vie de l'apprentissage automatique. MLOps vise à déployer et à maintenir de manière fiable des modèles d'apprentissage automatique à grande échelle dans des environnements de production, depuis la collecte de données et le développement de modèles jusqu'au déploiement de modèles, à la surveillance et au réentraînement.
Tout comme DevOps a apporté des pratiques d'automatisation et d'intégration au développement de logiciels, MLOps fait de même pour l'apprentissage automatique. Il applique les principes de l'intégration continue (CI) et du déploiement continu (CD), permettant aux équipes d'itérer sur les modèles plus rapidement tout en garantissant une surveillance et des performances solides dans les environnements de production.
Comment fonctionne MLOps
Le processus MLOps comprend plusieurs étapes qui fonctionnent ensemble pour rationaliser l'ensemble du cycle de vie de l'apprentissage automatique. Ces étapes sont les suivantes :
Développement du modèle
Mise en service du modèle
Suivi du modèle
Maintenance du modèle
Gestion des données
Automatisation
Figure- Plusieurs étapes dans le flux de travail MLOps.png
Figure : Étapes multiples dans le flux de travail de MLOps
Développement du modèle
La première étape de MLOps est le [développement de modèle] (https://zilliz.com/glossary/foundation-models), qui constitue la base de tout projet d'apprentissage automatique et qui comprend plusieurs sous-étapes importantes :
Préparation des données: Les données doivent être nettoyées et organisées avant l'entraînement d'un modèle. Il s'agit notamment de supprimer les informations non pertinentes, de compléter les valeurs manquantes, de normaliser les données et de les transformer dans un format adapté à un modèle d'apprentissage automatique.
Ingénierie des caractéristiques:** L'ingénierie des caractéristiques crée de nouvelles caractéristiques informatives ou transforme les caractéristiques existantes afin de les rendre plus utiles pour le modèle. Par exemple, les scientifiques des données peuvent créer de nouvelles caractéristiques telles que la "vitesse du vent au carré" ou les "gradients de température" dans un modèle de prévision météorologique afin d'améliorer la précision de la prédiction.
Entraînement des modèles:** Après avoir préparé les données, les modèles de ML sont entraînés. Les scientifiques des données entraînent plusieurs modèles à l'aide d'algorithmes et d'hyperparamètres afin de trouver le modèle le plus performant.
Test du modèle:** Une fois le modèle formé, il est testé sur un ensemble de données distinct afin de s'assurer qu'il est capable de faire des prédictions précises sur de nouvelles données inédites. Diverses mesures d'évaluation sont également utilisées pour évaluer les performances du modèle de ML formé.
Modèle Serving
Une fois qu'un modèle est développé, il doit être déployé dans un environnement de production afin qu'il puisse faire des prédictions en temps réel :
Déploiement: Il s'agit de mettre le modèle à la disposition des utilisateurs ou des applications. Le modèle est souvent déployé via une [API] (https://docs.zilliz.com/reference/restful) pour interagir avec d'autres systèmes. Les solutions de déploiement telles que Kubernetes et Docker aident à gérer ce processus en garantissant que les modèles sont évolutifs et faciles à maintenir.
Conteneurisation: Les modèles sont isolés dans des conteneurs (comme Docker) pour garantir la cohérence. Les conteneurs incluent tous les composants nécessaires - code, dépendances et paramètres - afin que le modèle s'exécute de manière cohérente dans différents environnements.
Surveillance des modèles
Après le déploiement, les performances du modèle doivent être contrôlées en permanence afin de s'assurer qu'il reste précis et pertinent :
Suivi des performances: Les systèmes de suivi surveillent les performances du modèle. Par exemple, si un modèle commence à faire des prédictions inexactes, cela peut indiquer que les données avec lesquelles il travaille ont changé au fil du temps (dérive des données).
Toutes les activités du modèle sont enregistrées afin de conserver une trace des entrées, des sorties et des erreurs. Cela permet de résoudre les problèmes et d'identifier les schémas d'utilisation du modèle.
Maintenance du modèle
Les modèles d'apprentissage automatique doivent être entretenus régulièrement pour rester performants :
MLOps facilite la mise à jour et le recyclage des modèles lorsque de nouvelles données sont disponibles ou lorsque les performances diminuent. Un recyclage régulier garantit que les modèles restent à jour et précis, et qu'ils s'adaptent à l'évolution des modèles de données. MLOps automatise ce processus, le rendant efficace et moins sujet aux erreurs.
Versioning:** Pour garder une trace des différentes versions des modèles, MLOps utilise des systèmes de versioning tels que GitHub, MLflow, et DVC. Ces systèmes enregistrent chaque version d'un modèle, ainsi que les données et le code utilisés pour le créer.
Gestion des données
Les données constituent l'épine dorsale de tout système d'apprentissage automatique, et leur gestion efficace est un élément clé de MLOps :
Ingestion et stockage des données: MLOps gère le flux de données provenant de diverses sources dans le pipeline d'apprentissage automatique et stocke les données dans des systèmes de stockage en nuage évolutifs tels que [Zilliz Cloud] (https://zilliz.com/cloud) et [Milvus] (https://milvus.io/).
Gouvernance des données](https://zilliz.com/learn/safeguarding-data-security-and-privacy-in-vector-database-systems): MLOps assure la qualité des données, la sécurité et la conformité aux réglementations. Il veille également à ce que seules les personnes autorisées puissent accéder aux données et à ce que les lois sur la protection de la vie privée soient respectées.
Automation
L'un des principaux objectifs de MLOps est d'automatiser les tâches répétitives, ce qui facilite la gestion des modèles d'apprentissage automatique au fil du temps :
Workflow Orchestration: Les outils d'automatisation peuvent prendre en charge de nombreuses étapes du pipeline d'apprentissage automatique, du traitement des données à l'entraînement et au déploiement des modèles. Cela réduit le besoin d'interférence manuelle et aide à maintenir la cohérence lors de la construction et du déploiement des modèles.
Intégration et déploiement continus (CI/CD):** Les pipelines CI/CD aident les équipes à construire, tester et déployer continuellement des modèles dans le cadre d'une approche rationalisée et automatisée. Avec CI/CD, les modèles peuvent être rapidement mis à jour, testés et mis en production avec un délai minimal.
Comparaison : MLOps vs. DevOps vs. LLMOps
Les termes MLOps, DevOps et LLMOps semblent similaires ; chaque pratique se concentre sur l'amélioration des flux de travail de développement, mais elles abordent des défis différents et offrent des solutions uniques dans le domaine du développement de logiciels et de l'IA.
| | | | | | :-------- : | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | | Aspect | DevOps | MLOps | LLMOps | **Aspect | Le développement de logiciels et d'opérations informatiques est un ensemble de pratiques visant à automatiser le développement de logiciels et les opérations informatiques. | Les principes DevOps sont étendus à l'automatisation du cycle de vie des modèles ML. | L'accent est mis sur la gestion du cycle de vie des [grands modèles de langage] (https://zilliz.com/glossary/large-language-models-(llms)) (LLM). | | L'objectif est d'automatiser les pipelines de livraison de logiciels (CI/CD), d'améliorer la collaboration et de raccourcir le cycle de vie du développement. | L'automatisation des flux de travail de ML, de la préparation des données au déploiement et à la surveillance des modèles. | Optimiser le déploiement, la mise au point et la gestion des LLM en production. | | Principaux outils | - GitLab pour CI/CD.- Grafana pour le monitoring.- Docker et Kubernetes pour l'orchestration de conteneurs. | Docker et Kubernetes pour l'orchestration des conteneurs. Kubeflow et Apache Airflow sont utilisés pour l'automatisation du flux de travail.- Scikit-learn et TensorFlow pour l'entraînement des modèles. | Scikit-learn et TensorFlow pour l'entraînement des modèles. - Transformateurs Hugging Face pour la mise au point.- Outils d'inférence à grande échelle (Ray Serve, ONNX). | | - Déploiement rapide de mises à jour logicielles - Gestion de systèmes distribués. | La gestion des systèmes distribués. - La surveillance continue de la performance des modèles en production. - L'automatisation du recyclage et du redéploiement des modèles de ML. | Déploiement de grands modèles de langage pour les tâches NLP - Ajustement des modèles pour les domaines spécialisés. |
MLOps Metrics
Dans le cadre de MLOps, les mesures sont essentielles pour évaluer les performances des modèles et l'ensemble du pipeline de ML. Les indicateurs clés de performance de MLOps vont au-delà des mesures traditionnelles des modèles de ML et s'étendent à l'ensemble du cycle de vie. L'exactitude du modèle, la précision, le rappel et le score F1 restent fondamentaux, mais MLOps en introduit de nouveaux. La fréquence de déploiement mesure la fréquence à laquelle les nouveaux modèles ou les mises à jour sont déployés en production et l'agilité du pipeline ML. Le délai moyen de rétablissement (MTTR) mesure la rapidité avec laquelle les problèmes des modèles de production sont identifiés et résolus. Les mesures d'utilisation des ressources mesurent l'efficacité des calculs, ce qui est important pour la gestion des coûts dans le nuage. Les mesures de dérive des données et des modèles mesurent la performance des modèles dans le temps lorsque les données d'entrée changent. La latence et le débit d'inférence sont essentiels pour les applications en temps réel, car ils mesurent le temps de réponse et la capacité de traitement. Les mesures de test A/B comparent les performances des nouveaux modèles à celles des modèles existants en production. Le niveau d'automatisation du pipeline mesure le niveau d'intervention humaine nécessaire ; un niveau plus élevé est préférable pour les MLOps plus matures. Enfin, les indicateurs de version et de reproductibilité des modèles garantissent que les expériences et les déploiements peuvent être suivis et reproduits. Ces mesures vous donnent une vue complète des MLOps, ce qui vous permet d'améliorer en permanence vos processus et vos résultats en matière de ML.
Avantages et défis des MLOps
Si les MLOps offrent de nombreux avantages qui améliorent l'efficacité des opérations d'apprentissage automatique, ils présentent également plusieurs défis que les organisations doivent relever. Il est essentiel de comprendre les avantages et les défis pour mettre en œuvre avec succès les pratiques MLOps et obtenir des résultats optimaux.
Avantages du MLOps
Pipelines automatisés:** Réduit les interventions manuelles, ce qui permet aux data scientists et aux ingénieurs de se concentrer sur les tâches principales.
Délai de mise sur le marché plus rapide:** Les flux de travail rationalisés et l'automatisation permettent d'accélérer les itérations de modèles et les cycles de publication.
Amélioration des performances:** Les cycles de surveillance continue et de réentraînement permettent de construire des modèles robustes qui fonctionnent bien dans des scénarios dynamiques et réels.
Les cadres MLOps permettent le déploiement et la gestion de milliers de modèles dans différents environnements.
Amélioration continue:** Les modèles sont continuellement contrôlés et ré-entraînés. Cette pratique garantit qu'ils s'adaptent aux nouvelles données et aux conditions changeantes et qu'ils restent performants.
Défis MLOps
Complexité:** La mise en œuvre de MLOps nécessite la mise en place d'une infrastructure et de flux de travail complexes, qui requièrent beaucoup de ressources.
Intégration des outils:** L'intégration de différents outils pour la gestion des données, la formation au modèle, le déploiement et le suivi est un défi.
Il peut être difficile de suivre et de gérer toutes les différentes versions des modèles d'apprentissage automatique, ainsi que les dépendances et les paramètres qui les accompagnent. Un autre problème qui peut se poser est la reproduction et la validation des résultats dans différents environnements.
Coût:** Si le MLOps peut améliorer l'efficacité et l'évolutivité à long terme, le coût initial de la mise en place d'un cadre MLOps peut être élevé. Les organisations doivent investir dans les outils, l'infrastructure et les talents adéquats pour garantir le succès de leurs initiatives MLOps.
Collaboration:** MLOps introduit des processus et des outils communs, favorisant une collaboration efficace entre les ingénieurs de données, les scientifiques, les développeurs et les ingénieurs informatiques, ce qui reste un défi important.
Outils et technologies en MLOps
MLOps s'appuie sur différents outils et technologies pour gérer le cycle de vie de l'apprentissage automatique. Voici quelques-uns des outils MLOps les plus couramment utilisés :
MLflow: Une plateforme open-source pour gérer le cycle de vie complet de l'apprentissage automatique, y compris le suivi des expériences, la version des modèles et le déploiement.
DVC (Data Version Control): Système de contrôle de version open-source pour la gestion des données, l'automatisation du pipeline ML et la gestion des expériences.
Kubeflow: Une plateforme basée sur Kubernetes pour le déploiement, la mise à l'échelle et la gestion des modèles d'apprentissage automatique dans les environnements de production.
Apache Airflow:** Un outil d'automatisation des flux de travail qui aide à gérer les pipelines de données et à planifier les tâches pour l'ingestion des données et l'entraînement des modèles.
TensorFlow Extended (TFX): Une plateforme de bout en bout pour déployer des pipelines d'apprentissage automatique en production à l'aide de TensorFlow. [TFX] (https://www.tensorflow.org/tfx) fournit des outils pour la validation des données, la mise à disposition de modèles et la formation continue.
Bases de données vectorielles](https://zilliz.com/learn/what-is-vector-database) (Milvus,** Zilliz Cloud): Dans de nombreux scénarios MLOps, il est crucial de traiter des données non structurées telles que des images, du texte ou de l'audio. C'est là que les bases de données vectorielles peuvent être utiles. Elles sont spécialisées dans le stockage et l'interrogation d'enchâssements vectoriels et de représentations numériques de ces données. Milvus est une base de données vectorielles open-source qui excelle dans le traitement d'ensembles de données à grande échelle et de requêtes complexes.
MLOps Trends
Le paysage du MLOps évolue rapidement et des tendances intéressantes se dessinent. L'AutoML (Automated Machine Learning) est en train de décoller, automatisant l'ingénierie des caractéristiques et le réglage des hyperparamètres. L'Edge ML devient plus important ; les modèles peuvent être exécutés sur des appareils périphériques, ce qui réduit la latence et accroît la confidentialité. L'apprentissage fédéré émerge pour former des modèles sur des dispositifs décentralisés tout en préservant la confidentialité des données. Les outils XAI (Explainable AI) sont ajoutés aux pipelines MLOps pour répondre au besoin croissant d'interprétabilité et de transparence des modèles. L'accent est mis de plus en plus sur les outils de surveillance spécifiques au ML qui peuvent détecter en temps réel la dégradation subtile des modèles et la dérive des données. Les LLM (Large Language Models) sont ajoutés aux flux de travail MLOps pour effectuer des tâches NLP plus avancées. Le développement durable devenant une préoccupation majeure, des MLOps écologiques apparaissent pour optimiser l'utilisation des ressources et réduire l'empreinte carbone du ML. Ces tendances laissent présager un avenir où les MLOps seront plus automatisés, plus efficaces, plus interprétables et plus écologiques.
FAQ sur les MLOps
- **A quoi servent les MLOps ?
Les opérations d'apprentissage automatique (MLOps) sont un ensemble de pratiques conçues pour rationaliser et automatiser les flux de travail et les processus de déploiement des modèles d'apprentissage automatique (ML). En intégrant l'apprentissage automatique et l'intelligence artificielle (IA), les entreprises peuvent relever des défis complexes dans le monde réel et créer des solutions précieuses pour les clients.
- Qu'est-ce que MLOps vs DevOps?
MLOps est une pratique de science des données axée sur le test et le déploiement rapides de modèles d'apprentissage automatique. DevOps, quant à lui, intègre le développement et les opérations informatiques afin d'améliorer l'efficacité, la fiabilité et la sécurité du développement logiciel.
- Quelle est la différence entre les MLOps et les AIOPs?
AIOps permet aux opérations informatiques et aux équipes de science des données de mettre en œuvre une gestion prédictive des alertes, d'améliorer la sécurité des données et de prendre en charge les flux de travail DevOps. Les solutions MLOps aident les entreprises à accélérer le déploiement des modèles d'apprentissage automatique, à améliorer la collaboration entre les équipes de science des données et les équipes opérationnelles, et à mettre à l'échelle les efforts d'IA dans l'ensemble de l'organisation.
- Is MLOps in demand?
À mesure que les entreprises adoptent des solutions axées sur les données, la demande de professionnels MLOps pour déployer et gérer efficacement les modèles d'apprentissage automatique augmente rapidement.
- Quel est le meilleur langage pour les MLOps?
Python est actuellement le meilleur choix pour l'apprentissage automatique et les MLOps. Sa popularité s'explique par la vaste gamme d'outils et de bibliothèques disponibles pour l'apprentissage automatique, tels que NumPy, TensorFlow, Keras et PyTorch. Ces bibliothèques facilitent la construction de modèles d'apprentissage automatique et la gestion des tâches d'ingénierie des données, ce qui simplifie l'ensemble du processus MLOps des projets d'apprentissage automatique.
Ressources connexes
MLOps : Best Practices - Un guide détaillé sur les meilleures pratiques MLOps](https://zilliz.com/blog/get-started-with-llmops-build-better-ai-applications)
Démarrer avec LLMOps : Construire de meilleures applications d'IA
LLM-Eval : une approche simplifiée de l'évaluation des conversations LLM] (https://zilliz.com/learn/streamlined-approach-to-evaluating-llm-conversations)
- Qu'est-ce que MLOps ?
- Comment fonctionne MLOps
- Comparaison : MLOps vs. DevOps vs. LLMOps
- MLOps Metrics
- Avantages et défis des MLOps
- Outils et technologies en MLOps
- MLOps Trends
- FAQ sur les MLOps
- Ressources connexes
Contenu
Commencez gratuitement, évoluez facilement
Essayez la base de données vectorielle entièrement managée conçue pour vos applications GenAI.
Essayer Zilliz Cloud gratuitement