En cliquant sur « Accepter tous les cookies », vous acceptez le stockage de cookies sur votre appareil pour améliorer la navigation sur le site, analyser son utilisation et contribuer à nos efforts de marketing. Plus d’infos
Paramètres des cookies
En cliquant sur « Accepter tous les cookies », vous acceptez le stockage de cookies sur votre appareil pour améliorer la navigation sur le site, analyser son utilisation et contribuer à nos efforts de marketing. Plus d’infos
Découvrez comment l'intégration et la journalisation MLflow peuvent améliorer vos expériences Ultralytics YOLO, permettant un suivi supérieur pour les applications de vision par ordinateur.
Vous pouvez considérer un projet de vision par ordinateur comme un puzzle. Essentiellement, vous enseignez aux machines à comprendre les données visuelles en assemblant les pièces du puzzle, comme 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 et de comprendre efficacement les images et les vidéos.
Mais, tout comme un vrai 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 (conserver un enregistrement de vos paramètres, configurations et données) et la journalisation (capturer les résultats et les 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à qu'interviennent les modèles Ultralytics YOLO et leur intégration avec MLflow. Les modèles tels que 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 fonctionnalités permettent de créer des applications de vision par ordinateur passionnantes. Avoir la possibilité de s'appuyer sur des intégrations comme l'intégration MLflow permet aux ingénieurs en vision de se concentrer sur le modèle lui-même, plutôt que de se perdre dans les détails.
En particulier, l'intégration de MLflow simplifie le processus en enregistrant diverses métriques, paramètres et artefacts tout au long du processus d'entraînement. Dans cet article, nous allons explorer le fonctionnement de l'intégration de MLflow, ses avantages et comment 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 du machine learning. Elle englobe le processus de développement, de déploiement et de maintenance des modèles de machine learning.
MLflow comprend les principaux composants suivants :
Suivi des expériences : Ce composant se concentre sur l’enregistrement des détails importants tels que les paramètres du modèle, les résultats et les fichiers pour chaque exécution d’entraînement du modèle. Il vous aide à comparer les modèles, à voir comment les changements affectent les performances et à trouver le meilleur.
Registre de modèles : Il s'agit d'un système de stockage pour vos modèles, où vous pouvez suivre les différentes versions et les organiser par étapes telles que les tests, la préparation et la production.
Packaging de projet : MLflow facilite l'assemblage 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 entre les équipes et les environnements.
Déploiement de modèle : MLflow fournit des outils pour déployer rapidement vos modèles entraînés vers des emplacements tels que des stations de travail ou des plateformes cloud comme AWS et Azure, les rendant prêts à être utilisés dans le monde réel.
Les composants de MLflow facilitent et rendent plus efficace la gestion du processus de machine learning. 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. Il simplifie le suivi et la comparaison des différentes versions des modèles YOLO.
L'intégration de MLflow rationalise l'entraînement
Maintenant que nous avons couvert ce qu'est MLflow, plongeons dans les détails de l'intégration de MLflow et les fonctionnalités qu'elle offre.
L'intégration de MLflow est conçue pour rendre le processus d'entraînement plus efficace et organisé en suivant et en enregistrant automatiquement les aspects importants de vos expériences de vision par ordinateur. Elle facilite trois principaux types d'enregistrement : les métriques, les paramètres et les artefacts.
Voici un aperçu plus détaillé de chaque type de journalisation :
Journalisation des métriques : Les métriques sont des valeurs quantitatives qui mesurent les performances de votre modèle pendant l'entraînement. Par exemple, les métriques 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).
Journalisation des paramètres : Les paramètres sont les réglages que vous définissez avant le début de l'entraînement du modèle, tels que le taux d'apprentissage, la taille du lot (le nombre d'échantillons traités en une seule étape d'entraînement) et le nombre d'époques. Ces paramètres affectent considérablement le comportement et les performances de votre modèle.
Journalisation des artefacts : Les artefacts sont les sorties ou les fichiers générés pendant l’entraînement. Cela comprend les fichiers essentiels tels que les poids du modèle (les valeurs numériques que votre modèle apprend pendant l’entraînement), les fichiers de configuration (qui stockent les paramètres d’entraînement) et d’autres données pertinentes.
Fig 2. Principales fonctionnalités de journalisation de l'intégration MLflow. Image de l'auteur.
Fonctionnement de l'intégration MLflow
Vous pouvez explorer 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 indiqué ci-dessus. Cela élimine le besoin de suivi manuel et vous aide à rester concentré sur l’amélioration de vos modèles.
Grâce à l'intégration de MLflow, toutes vos exécutions d'entraînement 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. Cela garantit que votre flux de travail est plus efficace, bien documenté et reproductible.
Plus précisément, chaque session de formation est organisée en une expérience, qui sert de 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 entre les différentes configurations.
Par exemple, si vous testez différents taux d'apprentissage ou tailles de lots avec Ultralytics YOLOv8, toutes les exécutions associées sont regroupées sous la même expérience pour faciliter la comparaison et l'analyse, comme illustré ci-dessous.
Fig. 3. Vous pouvez visualiser les expériences en utilisant l'intégration MLflow.
Parallèlement, au niveau de l'exécution individuelle, MLflow fournit des informations détaillées sur la session d'entraînement spécifique. Vous pouvez consulter des métriques telles que la précision, la perte et la justesse au fil des époques, vérifier les paramètres d'entraînement 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 consultation ou la reproduction de toute exécution.
Choisir l'intégration MLflow : pourquoi elle se distingue
Au fur et à mesure que vous parcourez la documentation Ultralytics et que vous explorez les intégrations disponibles, vous pourriez vous demander : 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 pour suivre les métriques et visualiser les résultats, il est important de comprendre les qualités uniques qui font ressortir l'intégration de 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 vous aide à identifier rapidement les configurations les plus performantes.
Journalisation des métriques personnalisées : Les ingénieurs en vision peuvent enregistrer des métriques personnalisées en plus des métriques standard, ce qui permet une analyse plus approfondie spécifique aux besoins de leur projet.
Prise en charge des flux de travail multilingues : MLflow est compatible avec plusieurs langages de programmation, dont 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 MLflow
Pour avoir une compréhension plus globale du moment où vous pouvez utiliser l'intégration MLflow, prenons l'exemple d'une application d'IA dans le domaine de la santé où vous devez entraîner YOLO11 à détecter les tumeurs dans les images radiographiques ou les tomodensitométries.
Dans un tel scénario, l'ensemble de données serait constitué d'images médicales annotées. Vous devriez expérimenter différentes configurations, telles que l'ajustement des taux d'apprentissage, des tailles de batch et des techniques de prétraitement des images, afin d'obtenir une précision optimale. Étant donné que les enjeux sont élevés dans le domaine 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.
Fig. 4. Détection de tumeurs à l'aide d'Ultralytics YOLO11.
L'intégration de MLflow relève 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 modifications ainsi que les métriques de performance. De plus, MLflow enregistre les poids et les configurations du modèle entraîné, garantissant que les modèles réussis peuvent être facilement reproduits et déployés.
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 IA. 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 classifier 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 peuvent surveiller le comportement des clients, suivre les placements de produits et optimiser les stocks en analysant l’activité en magasin via des flux vidéo.
Sécurité et surveillance : Les modèles peuvent être entraînés pour détecter les anomalies ou surveiller l’activité en temps réel dans les zones sensibles afin d’améliorer la sécurité.
Avantages de l'intégration de MLflow
L'intégration de MLflow avec les modèles YOLO facilite et rend plus efficace la gestion des expériences d'apprentissage automatique. 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 grands projets : La plateforme gère efficacement plusieurs expériences et modèles, ce qui la rend adaptée aux grandes équipes et aux flux de travail complexes.
Historique détaillé des expériences : La plateforme conserve un historique complet des expériences, vous permettant de revoir les exécutions passées, d'analyser les configurations précédentes et de tirer des leçons des résultats antérieurs.
Options de désactivation et de réinitialisation : La journalisation MLflow peut être facilement désactivée lorsque cela n'est pas nécessaire, et les paramètres peuvent être réinitialisés aux valeurs par défaut, offrant ainsi une flexibilité d'adaptation aux différentes exigences du flux de travail.
Principaux points à retenir
L'intégration de MLflow facilite et rend plus efficace la gestion et l'optimisation des expériences Ultralytics YOLO. 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é comme la détection de tumeurs, l'amélioration des systèmes de conduite autonome ou l'amélioration de l'analyse du commerce de détail, cette intégration permet de maintenir l'organisation et la reproductibilité. Grâce à son interface intuitive et à sa flexibilité, MLflow permet aux développeurs de se concentrer sur la création de meilleurs modèles et de stimuler l'innovation dans les applications de Vision IA.