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 l'enregistrement 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à que les modèlesYOLO d'Ultralytics et son 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. La possibilité de s'appuyer 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 se perdre dans 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 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 des modèles: Il s'agit d'un système de stockage pour vos modèles, dans lequel vous pouvez garder une track des différentes versions et les organiser par étapes telles que les tests, la mise en place 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 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 track et la comparaison des différentes versions du modèle 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 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 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 lié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
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égrationUltralytics 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 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 projetsYOLO :
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 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 à detect 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 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 detect et classify 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 track 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 à detect 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èlesYOLO 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 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 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é 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.