Definition
Un outil de suivi d’expérimentations en machine learning (ML) est un logiciel ou une plateforme spécialisée permettant aux data scientists et ingénieurs ML de gérer, d’organiser et d’analyser la masse d’informations produite lors du développement itératif des modèles.
Aperçu
Le développement d’un modèle d’apprentissage automatique (ML) est un processus itératif et sans fin. Lorsqu’il s’agit d’expérimenter avec des modèles, il y a tellement de paramètres en jeu qu’il est impossible de tout suivre de mémoire ou avec un simple outil de gestion de projet. C’est là que les outils de suivi d’expérimentations de machine learning sont utiles. Les outils de gestion des expériences consignent les différents paramètres, les métadonnées des jeux de données et les indicateurs de performance des modèles, les rendant accessibles à l’analyse pour optimiser encore les modèles.
Qu’est-ce qu’un outil de suivi d’expérimentations ML ?
Contrairement aux systèmes de développement logiciel traditionnels, les systèmes de machine learning ne sont pas des systèmes transparents capables de garantir des résultats prévisibles dans tous les cas. La plupart des modèles sont de véritables « boîtes noires », dont l’explicabilité reste limitée, et dont le comportement peut fortement varier à la moindre modification des hyperparamètres ou des données d’entraînement. L’élaboration d’un modèle d’apprentissage automatique nécessite beaucoup de recherche, d’expérimentation et de patience. Un outil de suivi d’expérimentations ML permet de gérer l’ensemble des activités liées aux runs d’expérimentation et optimise ainsi le processus de recherche.
Stockage des métadonnées des modèles
Les ingénieurs en machine learning testent un grand nombre d’architectures et leurs variantes avant de parvenir à la solution finale. Même après avoir finalisé l’architecture, ils ajustent de nombreux paramètres pour obtenir les meilleures performances possibles. Ces paramètres varient en fonction de l’architecture, des exigences de performance et des données d’entrée. Les modèles présentent des variations importantes, même pour des changements minimes de ces paramètres. Les outils de suivi d’expérimentations ML enregistrent toutes les informations relatives aux runs d’entraînement dans un format facilement consultable.
Stockage de la version des données
Le comportement du modèle change considérablement lorsque les données d’apprentissage changent. Dans la plupart des projets de machine learning, un pourcentage important du temps total d’exécution du projet est consacré au nettoyage des données et à la création de versions affinées des données d’apprentissage. Il est impossible de recréer un modèle sans avoir accès aux données d’entraînement exactes auxquelles il a été exposé. Les outils de suivi d’expérimentations ML stockent les informations relatives à la version des données pour toutes les expérimentations.
Stockage des indicateurs de performance des modèles
Les résultats issus de chaque variation de l’architecture du modèle ou des hyperparamètres offrent un aperçu des évolutions du comportement du modèle en fonction des modifications apportées. Cela fournit des informations précieuses pour la conception des expérimentations suivantes. Les outils de suivi ML stockent les indicateurs de performance du modèle et aident les data scientists à établir des liens entre les modifications apportées et l’évolution des résultats.
Données de référence et comparaison
Déterminer quel modèle est le mieux adapté à un cas d’usage devient fastidieux lorsque plusieurs modèles présentent des variations de résultats minimes sur les mêmes données de test. Les ingénieurs ML établissent des bases de référence pour la précision du modèle et les versions de données avant de modifier les paramètres et de recommencer les expériences. Les outils de suivi ML stockent ces valeurs de référence et comparent les résultats à ces valeurs de référence. Cela permet aux ingénieurs ML de décider quel modèle est le plus performant et dans quelles situations.
Interface utilisateur pour l’analyse des résultats
Les outils de suivi ML fournissent des tableaux de bord intuitifs pour aider les ingénieurs ML à étudier le comportement des modèles. Cela permet d’identifier des segments de données où les résultats ne sont pas conformes aux attentes, et d’analyser plus en détail l’ensemble de données de test pour comprendre les causes du problème. Les équipes disposent ainsi d’informations précieuses qui leur permettent de concevoir de nouveaux ensembles de données et d’améliorer les variations du modèle. Les outils de suivi ML permettent aussi de générer des rapports sur mesure à partir d’indicateurs personnalisés.
Pourquoi utiliser un outil de suivi ML ?
Une approche de travail axée sur la recherche
Le développement de modèles d’apprentissage automatique implique une approche de travail axé sur la recherche et basé sur des expériences bien définies. Étant donné que la majorité des modèles fonctionnent comme des boîtes noires, les ingénieurs ne savent pas toujours comment l’ajustement des paramètres influencera le comportement du modèle. Par conséquent, les ingénieurs ML procèdent souvent par petits ajustements des différents paramètres et observent le comportement du modèle afin d’aboutir à la bonne architecture. La configuration d’entrée ainsi que les résultats obtenus lors de l’expérience précédente constituent le point de départ pour préparer l’expérience suivante. Un outil capable de garder une trace de toutes les configurations utilisées dans une expérience est essentiel pour ce type de développement.
Un excès de variables
De nombreuses variables peuvent affecter les performances d’un modèle d’apprentissage automatique. Le principal facteur est l’ensemble des données d’entrée. La majeure partie des efforts consacrés à l’élaboration d’un modèle consiste à affiner les ensembles de données. On doit aussi prendre en compte les hyperparamètres, qui dépendent de l’architecture du modèle. Le choix du framework d’implémentation du modèle peut également avoir un impact sur les résultats. Il est courant de constater que des modèles basés sur la même architecture donnent des résultats différents lorsqu’ils sont implémentés avec différents frameworks de deep learning. Un outil permettant de suivre l’ensemble de ces variables est indispensable si vous souhaitez adopter une démarche de travail systématique.
Développement collaboratif
Étant donné que le développement de modèles nécessite de nombreuses expériences, souvent très chronophages, la plupart des équipes d’ingénierie ML les mènent en parallèle. Concrètement, cela se traduit par le fait que plusieurs ingénieurs abordent simultanément le même problème, en effectuant généralement des expérimentations aux variantes subtiles. Faute de système de suivi des expériences et de centralisation des résultats, il peut s’avérer compliqué pour les ingénieurs de poursuivre les expérimentations lancées ou élaborées par d’autres membres de l’équipe.
Comment choisir le bon outil de suivi d’expérimentations ML ?
Avant de sélectionner un outil de suivi d’expérimentations ML, les architectes doivent évaluer divers critères. Si la plupart des outils de suivi ML proposent des fonctionnalités de base comme la consignation des paramètres et l’agrégation des métriques, des aspects tels que la méthodologie d’implémentation, la facilité d’intégration et les capacités de visualisation varient d’un outil à l’autre. Les facteurs les plus importants à prendre en compte lors du choix d’un outil de suivi d’expérimentations ML sont énumérés ci-dessous.
Qu’est-ce qui doit être suivi ?
La compréhension des détails à suivre au cours de chaque expérience est le facteur principal dans le choix d’un outil. Si la plupart des besoins concernent l’enregistrement des hyperparamètres du modèle et l’agrégation des résultats, certains utilisateurs peuvent également inclure le suivi de l’utilisation CPU et de la mémoire.
Gestion des versions de données
Idéalement, l’outil devrait offrir des fonctions permettant de suivre les différentes versions des données et la manière dont les changements dans les données d’entraînement affectent les performances. Il existe des outils de tracking capables d’effectuer des analyses de type « scénarios hypothétiques » (en anglais, « what-if ») et d’apporter des interprétations simples concernant votre modèle entraîné.
Intégration à vos frameworks et systèmes
Le domaine du machine learning évolue très vite, avec une offre toujours croissante de frameworks dédiés et de solutions cloud à disposition. Au moment de choisir un outil de suivi, il peut également être judicieux d’harmoniser les bibliothèques et frameworks utilisés pour vos expérimentations. Certains outils fonctionnent mieux avec des frameworks et des services cloud spécifiques.
Interface web vs console
Le mode de fonctionnement de votre organisation et les préférences des ingénieurs influencent fortement le choix entre un outil de suivi basé sur le code ou sur une interface graphique. Les solutions avec interface web, pensées pour minimiser le code, facilitent l’intégration mais offrent souvent moins de flexibilité que les intégrations via le code.
Basé sur serveur ou service entièrement managé
Les plateformes ML sont disponibles à la fois sous forme d’installations sur serveur et de services entièrement managés, intégrant fonctionnalités telles que le suivi d’expérimentations, le déploiement, etc. Les services managés vous évitent de gérer l’infrastructure et la configuration.
Prise en charge de la comparaison de modèles
Pour un ingénieur ML, comparer les modèles d’une expérience à l’autre et s’appuyer sur les performances observées sur divers sous-ensembles de données est essentiel. Ainsi, un outil de suivi doté de fonctionnalités de comparaison de modèles permet d’accélérer la mise sur le marché.
Analyse approfondie des données expérimentales
Rendre les données journalisées facilement consultables et interprétables est essentiel pour un système de gestion des expériences ML. Une base de données consultable des résultats permet de concevoir rapidement les expériences suivantes.
Personnalisation
La plupart des exigences en matière de ML portent sur des mesures personnalisées permettant d’évaluer les performances de leurs modèles par rapport à des cas d’utilisation spécifiques. Votre outil de suivi doit permettre de définir des indicateurs personnalisés et de visualiser les résultats en fonction de ceux-ci.
Fonctionnalités collaboratives
Un bon outil de suivi ML doit intégrer des fonctions de contrôle d’accès et de collaboration. Pouvoir lancer des expériences simultanées, partager l’avancement avec ses collègues et choisir rapidement la suite des tests constitue un atout majeur dans le cycle de vie du développement ML.
Comment utiliser un outil de suivi d’expérimentations ML
Les outils d’expérimentation ML se composent généralement de deux éléments :
- Un kit de développement (SDK) client ou un extrait de code que les développeurs peuvent intégrer à leur code d’entraînement
- Un tableau de bord et un service de visualisation offrant des fonctionnalités d’analyse.
L’utilisation d’un outil de suivi d’expérimentations ML implique les étapes suivantes :
- Journalisation : il s’agit d’intégrer le code client dans les modules d’apprentissage et de spécifier les indicateurs à suivre.
- Interprétation : à l’issue d’une expérimentation, les ingénieurs doivent interpréter les résultats et les mettre en perspective avec ceux des précédents runs. Les outils de suivi offrent une interface facilement consultable et des visualisations de tendances pour faciliter cette tâche.
- Expérimentation : à partir des informations tirées de l’interprétation des résultats, les ingénieurs ML conçoivent de nouvelles expériences en tenant compte des objectifs de précision et des cas d’utilisation. Les équipes consignent alors les paramètres des expériences dans l’outil de suivi et lancent l’expérimentation suivante. Ce cycle se répète tout au long de la vie du modèle.
Principaux outils de suivi d’expérimentations ML
Verta.ai
Verta est une plateforme ML qui peut gérer toutes les activités du cycle de vie des modèles d’apprentissage automatique. Elle peut aider à gérer les modèles, à les déployer, à les exploiter et à les contrôler. Verta est disponible en mode entièrement managé ou sous forme de solution déployable sur site ou dans un cloud privé. La fonction de suivi d’expérimentations de Verta permet de stocker les métadonnées des modèles, de vérifier les versions des ensembles de données et de garantir la reproductibilité des modèles.
Verta regroupe les activités du cycle de vie ML en projets, expérimentations et runs d’expérimentation. Verta regroupe les informations enregistrées en attributs, hyperparamètres, métriques, observations et métadonnées. Les attributs sont des paires clé-valeur destinées à enregistrer des caractéristiques et des informations sur les données d’entrée. Les métriques sont des mesures enregistrées lors d’un entraînement complet. Les observations sont des mesures récurrentes qui évoluent dans le temps au cours d’une seule itération. Verta dispose d’un tableau de bord intuitif qui permet la collaboration grâce au partage et aux commentaires en ligne.
Verta offre de nombreuses fonctionnalités autres que le suivi d’expérimentations. La plateforme dispose d’un registre de modèles dans lequel les organisations peuvent conserver leurs modèles. Le registre de modèles prend en charge le workflow classique de mise en production, avec des phases de staging, d’approbation et de publication Verta peut s’intégrer à des outils CI/CD tels que Jenkins. En quelques étapes, Verta convertit vos modèles en services prêts à être déployés. Des anomalies comme la dérive des données ou des concepts peuvent également être surveillées en continu. Verta prend en charge tous les frameworks ML open source courants tels que Tensorflow, Pytorch, SKlearn, etc. Une compatibilité est aussi assurée avec les services ML managés proposés par AWS, GCP et Azure.
DVC
DVC est une plateforme d’apprentissage automatique open source qui comprend le contrôle des versions des projets d’apprentissage automatique, la gestion des expérimentations, le déploiement et la collaboration. DVC permet de suivre les versions des ensembles de données et des modèles par le biais d’une structure de commande émulée sur le contrôle de version Git. DVC se compose de nombreux outils qui s’intègrent dans les différentes sections de la gestion du cycle de vie des modèles de machine learning. DVC Live est un ensemble de bibliothèques permettant d’enregistrer des informations pendant l’apprentissage et l’inférence. DVC Studio est une interface visuelle où les informations enregistrées et les informations de gestion peuvent être visualisées et modifiées.
Avec DVC, la gestion porte exclusivement sur la version des modèles et des données. La couche de gestion des données comporte une couche de cache qui facilite le transfert rapide des données d’une équipe à l’autre. DVC peut s’intégrer aux outils CI/CD courants et permettre la mise en production des modèles directement depuis le registre de modèles intégré.
Le module de gestion des expérimentations de DVC s’occupe du stockage des métadonnées d’expériences et de leur visualisation. Les expériences sont gérées à l’aide d’une interface de ligne de commande de type GIT. DVC adopte une approche basée sur le code et propose des commandes pour comparer et sauvegarder les expériences. Le module de visualisation prend en charge tous les graphiques classiques liés à la précision en machine learning, fondés sur la matrice de confusion et les valeurs d’erreur. DVC Live peut générer automatiquement des métriques d’entraînement du modèle, telles que les pertes par époque, en s’intégrant aux principales bibliothèques de machine learning et en les envoyant au module de visualisation.
SageMaker
SageMaker est une plateforme d’apprentissage automatique fournie en tant que service entièrement managé par Amazon Web Services. SageMaker est conçu comme une plateforme ML complète capable de gérer les expérimentations, d’automatiser l’optimisation des hyperparamètres, d’enregistrer les modèles, de les stocker et de les déployer sous forme d’API. SageMaker bénéficie d’une intégration étroite avec l’infrastructure entièrement gérée d’Amazon. SageMaker possède des capacités de traitement de données intégrées qui permettent aux développeurs d’exécuter l’étape de prétraitement des données avec la plateforme ML. Une fonction intégrée permet de détecter les anomalies de données et les dérives au sein de la base de données grâce à des algorithmes avancés. La fonctionnalité « clarify » de SageMaker fournit des explications sur les résultats produits par le modèle.
Le plugin d’expérimentation de SageMaker aide les ingénieurs ML à enregistrer les métriques, les métadonnées du modèle et les hyperparamètres à travers quelques lignes de code Python qui peuvent être intégrées au module Python. Les runs d’expérimentation peuvent être créés à l’aide de l’API Python, du SDK ou d’une interface visuelle. Les différents runs sont classés en groupes sur la base d’un même objectif. Les données capturées lors des expériences peuvent être visualisées dans SageMaker Studio. Sa renommée tient à la diversité de ses outils de visualisation, notamment les nuages de points, les histogrammes et les graphiques en barres, parmi d’autres. Les données peuvent également être chargées dans des notebooks indépendants pour une analyse plus approfondie, directement via le code Python. SageMaker studio propose des fonctions de recherche pour analyser les résultats de l’expérimentation.
Weights & Biases
Weights & Biases (ou WandB) est une plateforme MLOps pensée pour les développeurs, qui propose le suivi d’expérimentations, le versioning des ensembles de données et la gestion des modèles. Elle peut être utilisée comme un service cloud entièrement managé ou installé dans votre infrastructure privée. WandB se distingue par sa capacité à s’intégrer à n’importe quel module d’entraînement ou d’inférence en seulement 5 lignes de code. Il prend en charge tous les frameworks d’apprentissage automatique bien connus tels que Pytorch, Tensorflow, Huggingface, etc. WandB assure le suivi des versions de modèles et de jeux de données entre les expériences, avec un stockage centralisé des résultats dans un dépôt de modèles. Il permet un réglage automatisé des hyperparamètres. Il dispose d’un tableau de bord avec des fonctions de collaboration telles que les commentaires et les fils de conversation. Grâce à ses visualisations interactives, le dashboard facilite le débogage des modèles par les ingénieurs ML.
La fonction de suivi d’expérimentations permet de transmettre les métadonnées d’entraînement au dashboard et de les visualiser en direct. Elle permet de suivre les hyperparamètres pour chaque expérimentation et documenter l’utilisation du matériel. Des indicateurs tels que l’utilisation du CPU et du GPU, l’activité réseau, etc., sont enregistrés automatiquement. D’autres mesures, telles que les gradients ou les pertes, nécessitent un enregistrement manuel. WandB ne peut pas intégrer et collecter automatiquement les données relatives à l’entraînement. Comme d’autres outils de suivi d’expérimentations ML, WandB regroupe les expériences en projets. Chaque projet dispose d’une page de tableau de bord où les développeurs peuvent comparer les résultats de différents runs. La fonction de versionnage des ensembles de données permet de dédupliquer automatiquement les données.
Neptune
Contrairement aux autres outils mentionnés jusqu’à présent, Neptune AI est un pur outil de suivi d’expérimentations et n’a pas pour ambition de pas de devenir une plateforme ML complète. Il se concentre sur la gestion des expérimentations et permet de suivre les différentes versions des modèles. Il dispose d’un registre de modèles intégré. Neptune AI est disponible sous la forme d’une installation sur site, d’une installation basée sur le cloud privé ou d’un service entièrement managé. Neptune organise les projets en espaces de travail (workspaces). Au sein d’un projet, les équipes ont la possibilité de lancer des expérimentations et de les explorer dans le tableau de bord, à l’échelle du projet comme à celle des expériences.
En matière de suivi des expérimentations, Neptune propose un SDK et une API Python, à l’instar des autres outils. Pour les bibliothèques compatibles, le SDK assure la journalisation automatique des métriques. La plupart des bibliothèques connues comme TensorFlow et PyTorch sont prises en charge. Si vous travaillez avec une bibliothèque non compatible, vous pouvez enregistrer manuellement les informations du code d’entraînement. Neptune ne dispose pas nativement du suivi de version des données, mais l’intégration avec DVC permet de combler ce manque. Neptune offre la possibilité de créer des tableaux de bord personnalisés en choisissant les indicateurs sur lesquels vous vous concentrez. Toutes les métadonnées capturées sont accessibles via l’API de requête. Ceci est utile si vous souhaitez intégrer Neptune à un autre outil interne.
Sacred + Omniboard
Sacred est un outil open source basé sur Python dédié au suivi d’expérimentations. Il s’agit uniquement d’un outil de suivi d’expérimentations qui ne prétend pas être une plateforme ML complète. Sacred se limite à la consignation des informations relatives à vos expérimentations de machine learning et ne propose pas de tableau de bord intégré. Il recourt au principe d’observateurs (observers) pour saisir automatiquement les détails de vos expériences. Il existe des projets open source tels que Omniboard et Sacredboard qui fournissent la fonction de visualisation pour les données enregistrées à l’aide de Sacred. L’association de Sacred et Omniboard est largement répandue. Étant donné que tous les composants sont open source, l’utilisation est gratuite. Sacred privilégie MongoDB comme base de stockage des métadonnées. Sacred dispose d’une fonctionnalité d’amorçage automatique qui garantit la reproductibilité des résultats lors de l’entraînement.
Omniboard est un tableau de bord web conçu spécifiquement pour le suivi d’expérimentations Sacred. Il se connecte à l’instance MongoDB où Sacred stocke ses informations. Omniboard répertorie toutes les expériences dans un format tabulaire avec la possibilité d’ajouter des colonnes basées sur des indicateurs. Omniboard affiche des graphiques basés sur différents indicateurs. Il est également capable d’afficher la sortie console de l’entraînement et de la mettre à jour régulièrement sans intervention de l’utilisateur. Les données relatives aux expériences peuvent être téléchargées à partir du tableau de bord. Il peut tracer les résultats de plusieurs expérimentations sur un même graphique et les comparer. Sacred et Omniboard sont distribués sous licence MIT.
Comet
Comet est une plateforme ML complète disponible en tant que service entièrement managé ou déployable sur site. Comet peut gérer le cycle de vie complet de votre parcours d’apprentissage automatique. Il assure le suivi des différentes versions des données tout en documentant leur provenance (lineage) Il peut également suivre les changements de modèle. Comet UI fournit des rapports automatiques et dynamiques pour les expériences, les modèles et les opérations de production. Comet UI organise les expériences en organisations, projets et espaces de travail. Puisqu’il expose les API pour l’interface utilisateur, les ingénieurs peuvent créer leur propre interface sur mesure s’ils ne sont pas satisfaits de la visualisation d’origine. Comet peut être utilisé gratuitement si vous souhaitez le déployer sur votre propre serveur. Les services managés ont un coût.
Le suivi d’une expérimentation à l’aide de Comet peut être réalisé en intégrant quelques lignes de code. Comet prend en charge la journalisation automatique pour les frameworks de machine learning courants TensorFlow, PyTorch, Scikit-learn et HuggingFace. Pour les autres frameworks, vous devez vous connecter manuellement. De manière générale, la journalisation automatique (en anglais, auto-logging) enregistre les étapes, les métriques, l’utilisation du matériel, la structure du modèle et les hyperparamètres. Les paramètres exacts qui sont capturés lors de l’auto-logging varient en fonction du framework. Comet fournit une API qui peut être utilisée pour récupérer les données enregistrées à l’aide de Comet. Cette fonction est utile lorsque les développeurs souhaitent créer des dashboards personnalisés ou analyser des données à l’aide de code.
MLFlow
MLFlow est une plateforme open source permettant de gérer l’ensemble du cycle de développement d’un modèle. Il peut fonctionner avec n’importe quelle bibliothèque d’apprentissage automatique et être déployé dans n’importe quel environnement cloud. MLFlow inclut de manière native la compatibilité avec Spark. Cela permet d’exécuter la partie data engineering de votre modèle directement depuis la plateforme de machine learning. MLFlow comprend quatre modules : Suivi, Projets, Modèles et Registre de modèles (Tracking, Projects, Models, et Model Registry). Le module Tracking s’occupe du suivi des expérimentations et du stockage des métadonnées qui y sont associées. Le module Projects facilite le conditionnement du code opérationnel réutilisable, tandis que le module Models permet de conditionner les modèles en tant qu’API. Le Model Registry stocke les modèles et permet la gestion du cycle de vie des modèles. Étant donné qu’il s’agit d’un logiciel open source, son utilisation est gratuite.
Le suivi MLFlow représente les expérimentations sous forme de runs. À chaque run, un certain nombre d’informations essentielles sont capturées : version du code, début et fin de l’exécution, paramètres, métriques et artefacts. Les runs sont regroupés en tant qu’expérimentations. Ces informations sont enregistrées dans des fichiers locaux, une base de données compatible SQL, un serveur de suivi distant MLFlow ou un workspace Databricks. MLFlow prend en charge la journalisation automatique des métriques dans le cas des frameworks pris en charge. La plupart des outils populaires tels que TensorFlow, PyTorch, FastAI, LightGBM, etc. sont pris en charge. Pour les bibliothèques non prises en charge, les développeurs peuvent intégrer le code de suivi dans les modules d’entraînement et consigner toutes les informations nécessaires en quelques lignes de code. L’interface utilisateur de suivi de MLFlow aide les développeurs à étudier les résultats et à les comparer.
TensorBoard
TensorBoard est un kit d’outils de suivi et de visualisation d’expérimentations fourni par Google dans le cadre de TensorFlow. TensorBoard fournit une interface utilisateur permettant de visualiser les métriques et les valeurs de perte ainsi que les hyperparamètres des modèles. TensorBoard se concentre uniquement sur la collecte et l’affichage des métriques. Il peut afficher des histogrammes de poids, de biais ou de toute autre métrique qui évolue dans le temps. Il ne dispose pas d’un registre de modèles intégré ni d’un contrôle de la version des données. Avec TensorBoard, il est possible de visualiser le graphe du modèle ainsi que de projeter les embeddings pour les données à faible dimensionnalité. TensorBoard peut profiler les programmes basés sur TensorFlow et afficher les données d’entrée et de sortie sous forme de texte ou d’image. TensorBoard est un logiciel open source et gratuit.
TensorBoard étant avant tout dédié à TensorFlow, il s’intègre difficilement avec d’autres frameworks de machine learning. PyTorch prend en charge l’intégration avec TensorBoard. D’autres logiciels populaires, comme Scikit-learn, ne prennent pas en charge l’intégration. Même s’il ne prend pas explicitement en charge la version des données, les développeurs peuvent toujours enregistrer manuellement cette information en tant qu’attribut de leur code d’entraînement et TensorBoard l’affichera comme n’importe quel autre attribut. Il est aussi possible d’utiliser TensorBoard comme interface utilisateur avec d’autres frameworks de journalisation qui supportent la journalisation automatique. Mais si vous travaillez exclusivement avec TensorFlow, TensorBoard suffit amplement pour suivre vos expériences de base.
Polyaxon
Polyaxon est une solution open source destinée à la gestion opérationnelle et à l’infrastructure ML. Il est disponible sous la forme d’un service entièrement mangé ou d’une solution déployable sur site. Il prend en charge le suivi, l’orchestration, la gestion des modèles, le versionnage des données et un registre de modèles intégré. Polyaxon prend en charge TensorFlow, Keras, Scikit-learn, Mxnet et Caffe. Il dispose d’une fonction d’optimisation automatique qui compare les modèles et propose le meilleur modèle. Il peut également effectuer des recherches automatisées pour trouver la meilleure combinaison d’hyperparamètres. La plateforme est compatible avec tous les fournisseurs de cloud, que ce soit pour exécuter les entraînements de modèles ou pour les déployer. Polyaxon propose une version entreprise qui peut être déployée sur site avec un support premium.
Polyaxon Tracking permet d’enregistrer automatiquement les indicateurs principaux quand vous travaillez avec les frameworks compatibles. L’intégration dans des frameworks non pris en charge peut se faire en utilisant quelques lignes de code. Le tableau de bord permet aux développeurs de comparer les runs. Il propose également un langage de requête permettant d’effectuer des recherches approfondies directement dans le code. Il peut s’intégrer à des outils de visualisation tiers tels que TensorBoard. Un module d’automatisation des workflows inclus aide les développeurs à structurer leurs parcours de données, aussi bien avant qu’après l’inférence du modèle. Outre le tableau de bord, Polyaxon propose deux autres interfaces utilisateur. L’interface utilisateur de gestion de projet permet de gérer l’accès aux projets et de les regrouper de manière logique. L’interface de gestion de l’organisation permet de gérer l’accès des équipes et de définir des autorisations.
Pachyderm
Pachyderm est spécialisé dans les pipelines d’apprentissage automatique pilotés par les données. Avec Pachyderm, la déduplication, la gestion des versions et la planification automatique des entraînements en fonction des changements de données se font sans effort. Il ne prend pas en charge de feature store ni de moteur de mise en production (en anglais, serving engine). Il ne prend pas non plus en charge le suivi. Pachyderm se concentre exclusivement sur la gestion des données dans le cadre du MLOps. En tant que plateforme axée sur les données, elle s’intègre de manière transparente aux entrepôts de données tels que Snowflake et Redshift. L’experiment tracking n’est proposé qu’en tant que fonctionnalité additionnelle, et non comme une solution aboutie comme les autres options citées ici.
JFrog ML
Intégré à la plateforme de chaîne d’approvisionnement logicielle de JFrog, JFrog ML est un outil MLOps managé qui accompagne toutes les phases du cycle de vie des modèles de machine learning. Il permet aux équipes de transformer et stocker les données, d’entraîner, déployer et superviser les modèles. JFrog ML facilite le suivi des expérimentations et la mise en production du modèle le plus performant. JFrog ML dispose d’un feature store intégré et prend en charge le monitoring automatisé.
En savoir plus sur JFrog ML
Le développement de modèles de machine learning est un processus complexe et itératif, chaque expérience étant influencée par de nombreux facteurs tels que les données, les hyperparamètres, voire les initialisations aléatoires. En raison de cette complexité, un outil de suivi d’expérimentations ML est essentiel. En centralisant toutes les métadonnées utiles, comme les informations sur les modèles, les versions des jeux de données ou les mesures de performance, ces plateformes accélèrent le développement et proposent des outils de recherche avancée pour explorer et analyser méthodiquement des centaines d’expérimentations réalisées.
JFrog ML facilite la mise en production à grande échelle des modèles de machine learning, offrant aux équipes de data science et d’ingénierie ML la possibilité de construire, entraîner et déployer des modèles en continu. En automatisant les tâches complexes liées au déploiement, à l’intégration et à l’optimisation des modèles, JFrog ML apporte agilité et rapidité à toutes les initiatives ML. Pour en savoir plus sur JFrog ML, réservez une démonstration.