# MLOps

MLOps ou ML Ops est un ensemble de pratiques qui vise à déployer et maintenir des modèles d'apprentissage automatique en production de manière fiable et efficace. Ce terme est composé du terme machine learning, ou « apprentissage automatique » et de la pratique de développement continu de devops dans le domaine des logiciels. Les modèles d'apprentissage automatique sont testés et développés dans des systèmes expérimentaux isolés. Lorsqu'un algorithme est prêt à être lancé, le MLOps est pratiqué entre les scientifiques des données, les devops et les ingénieurs en apprentissage automatique pour faire passer l'algorithme aux systèmes de production. Semblable aux approches devops ou DataOps, MLOps cherche à accroître l'automatisation et à améliorer la qualité des modèles de production, tout en se concentrant sur les exigences commerciales et réglementaires. Alors que MLOps a commencé comme un ensemble de bonnes pratiques, il évolue lentement vers une approche indépendante de la gestion du cycle de vie du ML. Le MLOps s'applique à l'ensemble du cycle de vie - de l'intégration avec la génération de modèles (cycle de vie du développement logiciel, intégration continue/livraison continue), l'orchestration et le déploiement, à la santé, aux diagnostics, à la gouvernance et à l'entreprise métrique. Selon Gartner, MLOps est un sous-ensemble de ModelOps (en). MLOps se concentre sur l'opérationnalisation des modèles ML, tandis que ModelOps couvre l'opérationnalisation de tous les types de modèles d'IA.

## Histoire

Les défis de l'utilisation continue de l'apprentissage automatique dans les applications ont été mis en évidence dans un article de 2015.
La croissance prévue de l'apprentissage automatique incluait un doublement estimé des pilotes et des implémentations de ML de 2017 à 2018, puis de 2018 à 2020.
Le projet open source Kubeflow a été créé en 2018 par Jeremy Lewi et David Aronchick de Google pour faciliter les MLOps sur Kubernetes.
Les rapports montrent qu'une majorité (jusqu'à 88 %) des initiatives d'IA des entreprises ont du mal à dépasser les étapes de test. Cependant, les organisations qui ont réellement mis l'IA et l'apprentissage automatique en production ont vu leur marge bénéficiaire augmenter de 3 à 15 %.
Le marché des MLOps était estimé à 23,2 milliards de dollars en 2019 et devrait atteindre 126 milliards de dollars d'ici 2025 en raison de son adoption rapide.

## Architecture

Les systèmes d'apprentissage automatique peuvent être classés en huit catégories différentes : collecte de données, traitement des données, ingénierie des fonctionnalités, étiquetage des données, conception de modèles, formation et optimisation de modèles, déploiement et surveillance des terminaux. Chaque étape du cycle de vie de l'apprentissage automatique est intégrée dans son propre système, mais nécessite une interconnexion. Ce sont les systèmes minimaux dont les entreprises ont besoin pour faire évoluer l'apprentissage automatique au sein de leur organisation.

## Objectifs

Les entreprises souhaitent atteindre un certain nombre d'objectifs grâce aux systèmes MLOps mettant en œuvre avec succès le ML dans toute l'entreprise, notamment :
* Déploiement et automatisation
* Reproductibilité des modèles et des prédictions
* Diagnostics
* Gouvernance et conformité réglementaire
* Évolutivité
* Collaboration
* L'entreprise utilise
* Surveillance et gestion
Une pratique standard, telle que MLOps, prend en compte chacun des domaines susmentionnés, ce qui peut aider les entreprises à optimiser les flux de travail et à éviter les problèmes lors de la mise en œuvre.
Une architecture commune d'un système MLOps comprendrait des plates-formes de science des données où les modèles sont construits et les moteurs analytiques où les calculs sont effectués, l'outil MLOps orchestrant le mouvement des modèles d'apprentissage automatique, des données et des résultats entre les systèmes. Le MLOps pour les grands modèles linguistiques a évolué rapidement, avec l'émergence de nouvelles techniques pour améliorer la qualité des modèles tout en gérant les coûts de calcul croissants.