Enregistrer les expériences YOLO d'Ultralytics en utilisant l'intégration MLflow

Abirami Vina

4 min lire

30 décembre 2024

Découvrez comment l'intégration et l'enregistrement MLflow peuvent améliorer vos expériences Ultralytics YOLO, permettant un suivi supérieur pour les applications de vision par ordinateur.

On peut considérer un projet de vision par ordinateur comme un puzzle. Essentiellement, vous apprenez aux machines à comprendre les données visuelles en assemblant les pièces du puzzle, telles que la collecte d'un ensemble de données, l'entraînement d'un modèle et son déploiement. Lorsque tout s'emboîte, vous obtenez un système capable d'analyser efficacement des images et des vidéos et de leur donner un sens.

Mais, à l'instar d'un véritable puzzle, toutes les parties d'un projet de vision par ordinateur ne sont pas simples. Des tâches telles que le suivi des expériences (enregistrement des paramètres, des configurations et des données) et la journalisation (saisie des résultats et des mesures de performance) peuvent prendre beaucoup de temps et d'efforts. Bien que ces étapes soient essentielles pour améliorer et affiner vos modèles de vision par ordinateur, elles peuvent parfois ressembler à un goulot d'étranglement.

C'est là que les modèles YOLO d'Ultralytics et leur intégration avec MLflow entrent en jeu. Les modèles comme Ultralytics YOLO11 prennent en charge un large éventail de tâches de vision par ordinateur, notamment la détection d'objets, la segmentation d'instances et la classification d'images. Ces capacités permettent la création d'applications de vision artificielle passionnantes. Le fait de pouvoir compter sur des intégrations comme celle de MLflow permet aux ingénieurs en vision de se concentrer sur le modèle lui-même, plutôt que de s'attarder sur les détails. 

En particulier, l'intégration MLflow simplifie le processus en enregistrant divers métriques, paramètres et artefacts tout au long du processus de formation. Dans cet article, nous allons explorer le fonctionnement de l'intégration MLflow, ses avantages et la façon dont vous pouvez l'utiliser pour rationaliser vos flux de travail Ultralytics YOLO.

Qu'est-ce que MLflow ?

MLflow est une plateforme open-source (développée par Databricks) conçue pour rationaliser et gérer l'ensemble du cycle de vie de l'apprentissage automatique. Elle englobe le processus de développement, de déploiement et de maintenance des modèles d'apprentissage automatique. 

MLflow comprend les éléments clés suivants :

  • Suivi des expériences: Ce composant se concentre sur l'enregistrement de détails importants tels que les paramètres du modèle, les résultats et les fichiers pour chaque cycle d'apprentissage du modèle. Il vous aide à comparer les modèles, à voir comment les changements affectent les performances et à trouver le meilleur.
  • Registre des modèles: Il s'agit d'un système de stockage pour vos modèles, dans lequel vous pouvez garder une trace des différentes versions et les organiser par étapes telles que les tests, la mise en place et la production.
  • Emballage de projet: MLflow facilite le regroupement de vos projets d'apprentissage automatique, y compris le code, les paramètres et les outils requis, afin qu'ils puissent être partagés et utilisés de manière cohérente au sein des équipes et des environnements.
  • Déploiement de modèles: MLflow fournit des outils pour déployer rapidement vos modèles formés sur des postes de travail ou des plates-formes en nuage telles que AWS et Azure, afin qu'ils soient prêts à être utilisés dans le monde réel.
__wf_reserved_inherit
Fig. 1. Composants du MLflow.

Les composants de MLflow rendent le processus d'apprentissage automatique plus facile et plus efficace à gérer. Grâce à cette intégration, Ultralytics permet d'utiliser la fonction de suivi des expériences de MLflow pour enregistrer les paramètres, les métriques et les artefacts pendant l'entraînement des modèles YOLO. Cela facilite le suivi et la comparaison des différentes versions du modèle YOLO.

L'intégration de MLflow rationalise la formation

Maintenant que nous avons expliqué ce qu'est MLflow, entrons dans les détails de l'intégration de MLflow et des fonctionnalités qu'elle offre. 

L'intégration MLflow est conçue pour rendre le processus de formation plus efficace et organisé en suivant et en enregistrant automatiquement les aspects importants de vos expériences de vision par ordinateur. Elle facilite trois types principaux d'enregistrement : les métriques, les paramètres et les artefacts.

Voici un examen plus approfondi de chaque type d'enregistrement :

  • Enregistrement des métriques : Les métriques sont des valeurs quantitatives qui mesurent les performances de votre modèle pendant la formation. Par exemple, des mesures telles que l'exactitude, la précision, le rappel ou la perte sont suivies à la fin de chaque époque (un passage complet dans votre ensemble de données).
  • Enregistrement des paramètres : Les paramètres sont les réglages que vous définissez avant le début de la formation du modèle, tels que le taux d'apprentissage, la taille du lot (le nombre d'échantillons traités lors d'une étape de formation) et le nombre d'époques. Ces paramètres affectent de manière significative le comportement et les performances de votre modèle.
  • Enregistrement des artefacts : Les artefacts sont les résultats ou les fichiers générés pendant la formation. Il s'agit de fichiers essentiels tels que les poids du modèle (les valeurs numériques que votre modèle apprend au cours de la formation), les fichiers de configuration (qui stockent les paramètres de formation) et d'autres données pertinentes.
__wf_reserved_inherit
Fig. 2. Principales caractéristiques de l'intégration de MLflow en matière de journalisation. Image de l'auteur.

Comment fonctionne l'intégration MLflow

Vous pouvez consulter la documentation Ultralytics pour obtenir des instructions étape par étape sur l'activation de l'intégration MLflow. Une fois configurée, l'intégration suit et enregistre automatiquement les détails clés de vos expériences d'entraînement, comme nous l'avons vu plus haut. Cela élimine le besoin de suivi manuel et vous aide à rester concentré sur l'affinage de vos modèles.

Grâce à l'intégration MLflow, toutes vos formations sont stockées en un seul endroit, ce qui facilite la comparaison des résultats et l'évaluation des différentes configurations. En comparant les résultats enregistrés, vous pouvez identifier les configurations les plus performantes et utiliser ces informations pour améliorer vos modèles. Votre flux de travail est ainsi plus efficace, bien documenté et reproductible.

Plus précisément, chaque session de formation est organisée en une expérience, qui agit comme un conteneur pour plusieurs exécutions. Au sein d'une expérience, vous pouvez visualiser toutes les exécutions associées, comparer leurs performances côte à côte et analyser les tendances à travers différentes configurations. 

Par exemple, si vous testez différents taux d'apprentissage ou tailles de lots avec Ultralytics YOLOv8, toutes les exécutions liées sont regroupées sous la même expérience pour faciliter la comparaison et l'analyse, comme illustré ci-dessous.

__wf_reserved_inherit
Fig. 3. Vous pouvez visualiser les expériences en utilisant l'intégration MLflow.

Au niveau de l'exécution individuelle, MLflow fournit des informations détaillées sur la session d'entraînement spécifique. Vous pouvez visualiser des mesures telles que l'exactitude, la perte et la précision sur les époques, vérifier les paramètres d'apprentissage utilisés (par exemple, la taille du lot et le taux d'apprentissage) et accéder aux artefacts générés tels que les poids du modèle et les fichiers de configuration. Ces détails sont stockés dans un format organisé, ce qui facilite la révision ou la reproduction de n'importe quelle exécution.

Choisir l'intégration MLflow : pourquoi elle se démarque

En parcourant la documentation d'Ultralytics et en explorant les intégrations disponibles, vous vous poserez peut-être la question suivante : qu'est-ce qui distingue l'intégration MLflow et pourquoi devrais-je la choisir pour mon flux de travail ? Qu'est-ce qui distingue l'intégration MLflow et pourquoi devrais-je la choisir pour mon flux de travail ?

Avec des intégrations comme TensorBoard qui fournissent également des outils de suivi des métriques et de visualisation des résultats, il est important de comprendre les qualités uniques qui distinguent l'intégration MLflow. 

Voici pourquoi MLflow pourrait être le choix idéal pour vos projets YOLO:

  • Interface conviviale : Le tableau de bord MLflow facilite la visualisation des expériences, la comparaison des exécutions et l'analyse des résultats, ce qui permet d'identifier rapidement les configurations les plus performantes.
  • Enregistrement de mesures personnalisées : Les ingénieurs vision peuvent enregistrer des mesures personnalisées en plus des mesures standard, ce qui permet d'effectuer des analyses plus approfondies en fonction des besoins du projet.
  • Prise en charge des flux de travail multilingues: MLflow est compatible avec de nombreux langages de programmation, notamment Python, R et Java, ce qui facilite l'intégration dans divers pipelines d'apprentissage automatique.

Applications pratiques de YOLO11 et de l'intégration de MLflow

Pour mieux comprendre quand vous pouvez utiliser l'intégration MLflow, considérons une application d'IA dans le domaine de la santé où vous devez entraîner YOLO11 à détecter des tumeurs dans des images de radiographie ou de tomodensitométrie. 

Dans un tel scénario, l'ensemble de données serait constitué d'images médicales annotées. Vous devrez expérimenter diverses configurations, en ajustant par exemple les taux d'apprentissage, la taille des lots et les techniques de prétraitement des images, afin d'obtenir une précision optimale. Étant donné que les enjeux sont élevés dans le secteur de la santé et que la précision et la fiabilité sont essentielles, le suivi manuel de chaque expérience peut rapidement devenir ingérable.

__wf_reserved_inherit
Fig. 4. Détection de tumeurs à l'aide d'Ultralytics YOLO11.

L'intégration de MLflow répond à ce défi en enregistrant automatiquement les paramètres, les métriques et les artefacts de chaque expérience. Par exemple, si vous modifiez le taux d'apprentissage ou appliquez une nouvelle stratégie d'augmentation, MLflow enregistre ces changements avec les métriques de performance. De plus, MLflow enregistre les poids et les configurations des modèles entraînés, ce qui permet de reproduire et de déployer facilement des modèles performants. 

Ce n'est qu'un exemple de la façon dont l'intégration de MLflow améliore la gestion des expériences dans les applications de vision artificielle. Les mêmes fonctionnalités s'appliquent à d'autres applications de vision par ordinateur, notamment :

  • Conduite autonome: YOLO11 peut être utilisé pour détecter et classer les piétons, les véhicules et les panneaux de signalisation en temps réel afin d'améliorer la sécurité et l'efficacité des systèmes de conduite autonome.
  • Analyse du commerce de détail: Les modèles de détection d'objets permettent de surveiller le comportement des clients, de suivre l'emplacement des produits et d'optimiser les stocks en analysant l'activité en magasin par le biais de flux vidéo.
  • Sécurité et surveillance: Les modèles peuvent être entraînés à détecter des anomalies ou à surveiller l'activité en temps réel dans des zones sensibles pour renforcer la sécurité.

Avantages de l'intégration de MLflow

L'intégration de MLflow avec les modèles YOLO rend la gestion des expériences d'apprentissage automatique plus facile et plus efficace. En automatisant les tâches clés et en gardant tout organisé, elle vous permet de vous concentrer sur la construction et l'amélioration de vos modèles. Voici un aperçu des principaux avantages :

  • S'adapte aux projets de grande envergure: La plateforme gère efficacement de multiples expériences et modèles, ce qui la rend adaptée aux équipes plus nombreuses et aux flux de travail complexes.
  • Historique détaillé des expériences: La plateforme conserve un historique complet des expériences, ce qui vous permet de revenir sur les exécutions précédentes, d'analyser les configurations antérieures et de tirer des enseignements des résultats antérieurs.
  • Options de désactivation et de réinitialisation : L'enregistrement MLflow peut être facilement désactivé lorsqu'il n'est pas nécessaire, et les paramètres peuvent être rétablis par défaut, ce qui offre la souplesse nécessaire pour s'adapter aux différentes exigences en matière de flux de travail.

Principaux enseignements

L'intégration de MLflow rend la gestion et l'optimisation des expériences Ultralytics YOLO plus faciles et plus efficaces. En suivant automatiquement les détails clés tels que les paramètres, les métriques et les artefacts, elle simplifie le processus et élimine les tracas de la gestion manuelle des expériences. 

Que vous travailliez sur des solutions de santé telles que la détection des tumeurs, l'amélioration des systèmes de conduite autonome ou l'amélioration de l'analyse de la vente au détail, cette intégration vous aide à tout organiser et à tout reproduire. Grâce à son interface intuitive et à sa flexibilité, MLflow permet aux développeurs de se concentrer sur la construction de meilleurs modèles et sur l'innovation dans les applications Vision AI.

Rejoignez notre communauté et consultez notre dépôt GitHub pour en savoir plus sur l'IA. Vous pouvez également explorer d'autres applications de la vision par ordinateur dans l'industrie manufacturière ou de l 'IA dans les voitures autonomes sur nos pages de solutions.

Construisons ensemble le futur
de l'IA !

Commencez votre voyage avec l'avenir de l'apprentissage automatique

Commencer gratuitement
Lien copié dans le presse-papiers