Machine Learning Operations (MLOps)
Le MLOps applique les pratiques DevOps à l’apprentissage automatique : données versionnées, pipelines d’entraînement automatisés, contrôles qualité, déploiement et surveillance de la dérive.
Les opérations d’apprentissage automatique (MLOps) regroupent les pratiques et les outils qui permettent de construire, déployer et maintenir de façon fiable et reproductible des modèles d’apprentissage automatique (ML) en production. Elles étendent le DevOps, qui automatise les tests et la mise en production des logiciels, aux systèmes dont le comportement dépend autant des données que du code : un modèle peut se dégrader sans qu’une seule ligne change, parce que le monde qu’il observe a évolué. Le modèle lui-même ne représente qu’une petite partie d’un tel système. Le guide d’architecture MLOps de Google indique que le code ML ne constitue qu’une petite fraction d’un système ML réel, le reste étant consacré à la collecte et à la vérification des données, à l’infrastructure de service et à la surveillance ; l’article NeurIPS La dette technique cachée des systèmes d’apprentissage automatique décrit les coûts de maintenance à long terme accumulés par le système environnant.
Pratiques fondamentales#
Les MLOps relient l’ingénierie des données, le développement des modèles et les opérations grâce à quelques pratiques, appliquées aussi bien aux données d’entraînement qu’au code :
- Gestion des versions des données : Chaque instantané d’un jeu de données reçoit une version immuable, ce qui permet de retrouver les données exactes ayant produit n’importe quel modèle.
- Suivi des expériences : Chaque exécution d’entraînement consigne sa version du code, sa version des données, ses hyperparamètres, ses métriques et ses artefacts, afin de comparer et de reproduire les résultats.
- Intégration continue et livraison : Les pipelines automatisés testent le code, valident les données entrantes, réentraînent les modèles et bloquent tout candidat qui ne franchit pas un seuil de qualité.
- Registre de modèles : Les versions approuvées des modèles sont stockées avec leurs métadonnées, leur lignée et leur étape, comme la préproduction ou la production, afin que les déploiements et les retours arrière désignent des versions précises.
- Service des modèles : Les modèles sont empaquetés, souvent dans des conteneurs, puis exposés par des API ou déployés sur des appareils en périphérie.
- Surveillance des modèles : Les entrées de production, les prédictions, la latence et la précision sont suivies pour détecter les dérives et décider quand réentraîner les modèles.
Le guide de Google décrit la maturité en trois niveaux. Au niveau 0, les spécialistes des données entraînent et transmettent les modèles manuellement. Le niveau 1 automatise le pipeline d’entraînement lui-même et ajoute l’entraînement continu (CT), c’est-à-dire le réentraînement et le déploiement automatiques des modèles à l’arrivée de nouvelles données ou à la détection d’une dérive des données. Le niveau 2 automatise aussi la création, le test et le déploiement du code du pipeline avec CI/CD, afin que les nouvelles versions du pipeline atteignent la production aussi sûrement que les nouveaux modèles. Ensemble, ces pratiques forment une boucle :
Les MLOps en pratique#
- Inspection industrielle : Lorsqu’une usine ajoute une gamme de produits, les nouvelles images de défauts sont annotées et versionnées, un pipeline réentraîne le modèle de détection et la version approuvée est déployée sur les caméras en périphérie de chaque ligne sans interruption.
- Surveillance des rayons en magasin : Les changements d’emballage et d’éclairage en magasin modifient ce que voient les caméras. La surveillance signale la baisse des scores de confiance, les images à faible confiance sont envoyées en annotation et le modèle réentraîné est déployé en magasin une fois l’évaluation réussie.
Un seuil de qualité automatise la décision de promotion. Le script suivant entraîne un modèle candidat de détection d’objets, l’évalue ainsi que le modèle actuellement en production sur les mêmes données de validation, et n’exporte le candidat vers ONNX que si son mAP50-95 est supérieur :
from ultralytics import YOLO
# Entraîne un candidat ; l’exécution enregistre ses poids, args.yaml et results.csv sous project/name
candidate = YOLO("yolo26n.pt")
candidate.train(data="coco8.yaml", epochs=10, project="mlops", name="candidate")
# Seuil de qualité : évalue le candidat et le modèle de production sur les mêmes données de validation
candidate_map = candidate.val(data="coco8.yaml").box.map
production_map = YOLO("yolo26n.pt").val(data="coco8.yaml").box.map
# Ne promeut qu’une amélioration, exportée dans un format pris en charge par la pile de service
if candidate_map > production_map:
candidate.export(format="onnx")Dans un pipeline de production, un ordonnanceur ou une tâche CI exécute un script de ce type chaque fois que de nouvelles données annotées arrivent, et le modèle exporté est enregistré avec sa version des données et ses métriques. Ultralytics Platform couvre ce cycle de vie des modèles de vision dans un espace de travail unique, avec des versions immuables des jeux de données, l’entraînement dans le cloud avec métriques en direct, l’export dans des formats comme TensorRT, des points de terminaison d’inférence dédiés et la surveillance des modèles déployés.
Les MLOps et les termes apparentés#
- DevOps : Automatise la création, les tests et la mise en production des logiciels, où une modification du code déclenche le pipeline. Les MLOps ajoutent les données et les modèles comme ressources versionnées, de sorte que de nouvelles données ou une baisse de la précision en production peuvent également déclencher le pipeline.
- LLMOps : Branche des MLOps consacrée aux applications de grands modèles de langage, centrée sur les invites, la recherche d’informations, l’évaluation du texte généré et les coûts des jetons.
- Apprentissage automatique automatisé (AutoML) : Automatise la création d’un modèle, par exemple le choix des algorithmes et des hyperparamètres. Les MLOps gèrent le cycle de vie qui l’entoure, de la gestion des versions des données à la surveillance, et font souvent appel à AutoML comme étape d’un pipeline.
- MLflow et Weights & Biases : Outils couvrant certaines parties du cycle de vie, comme le suivi et les registres de modèles. Les MLOps désignent la pratique qui combine ces outils avec les pipelines, le service et la surveillance.










