Data Scientists et les professionnels de l'apprentissage automatique traitent un nombre important de données de différents types dans un projet de science des données typique. De nombreux modèles ont été développés avec diverses configurations et fonctionnalités, ainsi que plusieurs itérations de réglage des paramètres pour obtenir des performances optimales.
Dans un tel scénario, toutes les modifications de données et les ajustements du processus de création de modèles doivent être surveillés et mesurés afin de déterminer ce qui a fonctionné et ce qui n'a pas fonctionné. Il est également essentiel de pouvoir revenir à une édition précédente et de se pencher sur les résultats précédents.
Le contrôle de version des données (DVC), qui aide à gérer les données, le modèle sous-jacent et l'exécution de résultats reproductibles, est l'une de ces technologies qui nous permet de surveiller tout cela.
Dans cet article, nous examinerons de près le contrôle de version des données et les meilleurs outils à utiliser. Commençons.
Qu'est-ce que le contrôle de version des données ?
La gestion des versions est requise pour tous les systèmes de production. Un point d'accès unique aux données les plus récentes. Toute ressource souvent modifiée, notamment par plusieurs utilisateurs en même temps, nécessite la création d'une piste d'audit pour garder une trace de tous les changements.
Le système de contrôle de version est chargé de s'assurer que tout le monde dans l'équipe est sur la même longueur d'onde. Il garantit que tous les membres de l'équipe travaillent sur la version la plus récente du fichier et, plus important encore, que tout le monde collabore sur le même projet à la fois.
Si vous avez l'équipement approprié, vous pouvez accomplir cela avec un minimum d'effort !
Vous disposerez d'ensembles de données cohérents et d'archives complètes de toutes vos recherches si vous utilisez une stratégie de gestion des versions de données fiable. Les outils de gestion des versions des données sont essentiels pour votre flux de travail si vous vous souciez de la reproductibilité, de la traçabilité et de l'historique du modèle ML.
Ils vous aident à acquérir une version d'un élément, comme un hachage d'un ensemble de données ou d'un modèle, que vous pouvez ensuite utiliser pour identifier et comparer. Cette version des données est souvent saisie dans votre solution de gestion des métadonnées pour garantir que la formation de votre modèle est versionnée et reproductible.
Meilleurs outils de contrôle de version de données
Il est maintenant temps d'examiner les meilleures solutions de contrôle de version de données disponibles, que vous pouvez utiliser pour suivre chaque partie de votre code.
1. Git LFS
Le projet Git LFS est libre d'utilisation. Dans Git, les fichiers volumineux tels que les échantillons audio, les vidéos, les bases de données et les photos sont remplacés par des pointeurs de texte, et le contenu du fichier est enregistré sur un serveur distant tel que GitHub.com ou GitHub Enterprise.
Il vous permet d'utiliser Git pour versionner d'énormes fichiers (jusqu'à plusieurs Go), héberger davantage dans vos référentiels Git en utilisant un stockage externe, et cloner et récupérer plus rapidement des référentiels de fichiers volumineux. En ce qui concerne la gestion des données, il s'agit d'une solution assez légère. Pour travailler avec Git, vous n'avez pas besoin de commandes, de systèmes de stockage ou de boîtes à outils supplémentaires.
Cela limite la quantité d'informations que vous téléchargez. Cela implique que le clonage et la récupération de fichiers volumineux à partir de référentiels seront plus rapides. Les pointeurs sont faits d'un matériau plus léger et pointent vers le LFS.
Par conséquent, lorsque vous placez votre référentiel dans le référentiel principal, il se met à jour rapidement et prend moins de place.
Avantages
- S'intègre facilement dans les workflows de développement de la plupart des entreprises.
- Il n'est pas nécessaire de gérer des droits supplémentaires car il utilise les mêmes autorisations que le référentiel Git.
Inconvénients
- Git LFS nécessite l'utilisation de serveurs dédiés pour stocker vos données. En conséquence, vos équipes de science des données seront bloquées et votre charge de travail d'ingénierie augmentera.
- Très spécialisé et peut nécessiter l'utilisation d'une variété d'outils différents pour les phases ultérieures du flux de travail de la science des données.
Prix
Son utilisation est gratuite pour tout le monde.
2. LacFS
LakeFS est une solution de gestion des versions de données open source qui stocke les données dans S3 ou GCS et dispose d'un paradigme de branchement et de validation de type Git qui s'adapte aux pétaoctets.
Cette stratégie de branchement rend votre lac de données conforme à ACID en autorisant les modifications à se produire dans des branches distinctes qui peuvent être construites, fusionnées et annulées de manière atomique et instantanée.
LakeFS permet aux équipes de créer des activités de lac de données reproductibles, atomiques et versionnées. C'est un débutant sur la scène, mais c'est une force avec laquelle il faut compter.
Il utilise une approche de contrôle de version et de branchement de type Git pour interagir avec votre lac de données, extensible jusqu'à des pétaoctets de données. À l'échelle de l'exaoctet, vous pouvez vérifier le contrôle de version.
Avantages
- Les opérations de type Git incluent la création de branches, la validation, la fusion et la restauration.
- Les crochets de pré-validation/fusion sont utilisés pour les vérifications CI/CD des données.
- Fournit des fonctionnalités complexes telles que les transactions ACID pour un stockage cloud simple comme S3 et GCS, tout en restant neutre en termes de format.
- Annulez les modifications apportées aux données en temps réel.
- S'adapte facilement, ce qui lui permet d'accueillir de très grands lacs de données. Le contrôle de version peut être fourni pour les paramètres de développement et de production.
Inconvénients
- LakeFS est un nouveau produit, les fonctionnalités et la documentation peuvent donc changer plus rapidement qu'avec les solutions précédentes.
- Puisqu'il est axé sur la gestion des versions des données, vous devrez utiliser une variété d'outils supplémentaires pour diverses parties du flux de travail de science des données.
Prix
Son utilisation est gratuite pour tout le monde.
3. DVC
Data Version Control est une solution gratuite de gestion des versions de données conçue pour les applications de science des données et d'apprentissage automatique. C'est un programme qui vous permet de définir votre pipeline dans n'importe quelle langue.
En gérant des fichiers volumineux, des ensembles de données, des modèles d'apprentissage automatique, du code, etc., l'outil rend les modèles d'apprentissage automatique partageables et reproductibles. Le programme suit l'exemple de Git en fournissant une ligne de commande simple qui peut être configurée en quelques étapes seulement.
Comme son nom l'indique, DVC ne se limite pas à la gestion des versions de données. Il facilite également la gestion des pipelines et des modèles d'apprentissage automatique pour les équipes.
Enfin, DVC aidera à améliorer la cohérence des modèles de votre équipe et leur répétabilité. Au lieu d'utiliser des suffixes de fichiers et des commentaires compliqués dans le code, profitez de Branches Git pour tester de nouvelles idées. Pour voyager, utilisez un suivi métrique automatisé au lieu du papier et du crayon.
Pour transmettre des paquets cohérents de machine learning des modèles, des données et du code dans la production, des ordinateurs distants ou le bureau d'un collègue, vous pouvez utiliser des commandes push/pull au lieu de scripts ad hoc.
Avantages
- Il est léger, open source et fonctionne avec toutes les principales plates-formes cloud et types de stockage.
- Flexible, agnostique de format et de framework, et simple à mettre en œuvre.
- L'évolution complète de chaque modèle ML peut être retracée jusqu'à son code source et ses données.
Inconvénients
- La gestion du pipeline et le contrôle de version DVC sont inextricablement liés. Il y aura redondance si votre équipe utilise déjà un autre produit de pipeline de données.
- Étant donné que DVC est léger, votre équipe peut avoir besoin de concevoir manuellement des fonctionnalités supplémentaires pour le rendre plus convivial.
Prix
Son utilisation est gratuite pour tout le monde.
4. Lac Delta
DeltaLake est une couche de stockage open source qui améliore la fiabilité du lac de données. Delta Lake prend en charge les transactions ACID et la gestion évolutive des métadonnées en plus du traitement des données en continu et par lots.
Il fonctionne avec les API Apache Spark et repose sur votre lac de données existant. Delta Sharing est le premier protocole ouvert au monde pour le partage sécurisé des données dans les entreprises, ce qui simplifie l'échange de données avec d'autres entreprises indépendamment de leurs systèmes informatiques.
Delta Lakes est capable de gérer facilement des pétaoctets de données. Les métadonnées sont stockées de la même manière que les données et les utilisateurs peuvent les obtenir à l'aide de la méthode Describe Detail. Delta Lakes a une architecture unique qui peut lire à la fois les données de flux et de lots.
Les upserts sont simples à réaliser avec Delta. Ces upserts ou fusions dans la table Delta sont comparables aux fusions SQL. Vous pouvez l'utiliser pour intégrer des données d'un autre bloc de données dans votre table et effectuer des mises à jour, des insertions et des suppressions.
Avantages
- De nombreuses fonctionnalités, telles que les transactions ACID et la gestion robuste des métadonnées, peuvent être disponibles dans votre solution de stockage de données actuelle.
- Delta Lake peut désormais gérer sans effort des tables avec des milliards de partitions et de fichiers à l'échelle du pétaoctet.
- Réduit le besoin de contrôle manuel de la version des données et d'autres problèmes de données, permettant aux développeurs de se concentrer sur le développement de produits au-dessus de leurs lacs de données.
Inconvénients
- Comme il a été conçu pour fonctionner avec Spark et d'énormes données, Delta Lake est généralement surpuissant pour la plupart des tâches.
- Il nécessite l'utilisation d'un format de données dédié, ce qui limite sa flexibilité et le rend incompatible avec vos formulaires actuels.
Prix
Son utilisation est gratuite pour tout le monde.
5. Balourd
Dolt est une base de données SQL qui fait du fork, du clonage, de la création de branches, de la fusion, du push et du pull de la même manière qu'un référentiel git. Pour améliorer l'expérience utilisateur d'une base de données de contrôle de version, Dolt permet aux données et à la structure de changer de manière synchronisée.
C'est un excellent outil de collaboration pour vous et vos collègues. Vous pouvez vous connecter à Dolt de la même manière que vous le feriez avec n'importe quelle autre base de données MySQL et exécuter des requêtes ou apporter des modifications aux données à l'aide de commandes SQL.
En matière de gestion des versions de données, Dolt est unique en son genre. Dolt est une base de données, contrairement à certaines des autres solutions qui ne font que versionner les données. Alors que le logiciel en est actuellement à ses débuts, on espère le rendre entièrement compatible avec Git et MySQL dans un avenir proche.
Toutes les commandes que vous connaissez bien avec Git fonctionneront également avec Dolt. Fichiers de versions Git, tableaux de versions Dolt À l'aide de l'interface de ligne de commande, importez des fichiers CSV, validez vos modifications, publiez-les sur une télécommande et fusionnez les modifications de votre coéquipier.
Avantages
- Léger et open source en partie.
- Par rapport à des choix plus obscurs, il possède une interface SQL, ce qui le rend plus accessible aux analystes de données.
Inconvénients
- En comparaison avec d'autres alternatives de gestion de versions de bases de données, Dolt est encore un produit en développement.
- Étant donné que Dolt est une base de données, vous devez y transférer vos données pour en tirer parti.
Prix
Tout le monde est invité à utiliser la session communautaire. La plateforme ne propose pas de tarification premium ; à la place, vous devez contacter le fournisseur.
6. Pachyderme
Pachyderm est un système de contrôle de version de science des données gratuit avec de nombreuses fonctionnalités. Pachyderm Enterprise est une puissante plateforme de science des données conçue pour une collaboration à grande échelle dans des environnements hautement sécurisés.
Pachyderm est l'une des rares plateformes de science des données de la liste. L'objectif de Pachyderm est de fournir une plate-forme qui gère le cycle complet des données et simplifie la duplication des résultats des modèles d'apprentissage automatique. Pachyderm est connu comme "le Docker des données" dans ce contexte. Pachyderm regroupe votre environnement d'exécution à l'aide de conteneurs Docker. Cela simplifie la duplication des mêmes résultats.
Les data scientists et les équipes DevOps peuvent déployer des modèles en toute confiance grâce à la combinaison de données versionnées avec Docker. Grâce à un système de stockage efficace, des pétaoctets de données structurées et non structurées peuvent être conservés tout en réduisant au minimum les coûts de stockage.
Tout au long des phases du pipeline, la gestion des versions basée sur les fichiers fournit un enregistrement d'audit complet pour toutes les données et tous les artefacts, y compris les sorties intermédiaires. De nombreuses fonctionnalités de l'outil reposent sur ces piliers, qui aident les équipes à en tirer le meilleur parti.
Avantages
- Basés sur des conteneurs, vos environnements de données seront portables et faciles à transférer entre les fournisseurs de cloud.
- Robuste, avec la capacité d'évoluer de petits systèmes à des systèmes extrêmement grands.
Inconvénients
- Comme il y a tellement d'éléments mobiles, tels que le serveur Kubernetes nécessaire pour gérer l'édition gratuite de Pachyderm, la courbe d'apprentissage est plus abrupte.
- Le pachyderme peut être difficile à intégrer dans l'infrastructure existante d'une entreprise en raison de ses nombreux composants technologiques.
Prix
Vous pouvez commencer à utiliser la plate-forme avec la session communautaire et pour l'édition entreprise, vous devez contacter le fournisseur.
7. Neptune
Les métadonnées de création de modèles sont gérées par le magasin de métadonnées ML, qui est un aspect important de la pile MLOps. Pour chaque flux de travail MLOps, Neptune sert de stockage de métadonnées centralisé.
Vous pouvez suivre, visualiser et comparer des milliers de modèles d'apprentissage automatique en un seul endroit. Il comprend des fonctionnalités telles que le suivi des expériences, le registre des modèles et la surveillance des modèles, ainsi qu'une interface collaborative. Il comprend plus de 25 outils et bibliothèques différents intégrés, y compris plusieurs outils de formation de modèles et de réglage d'hyperparamètres.
Vous pouvez vous inscrire à Neptune sans utiliser votre carte de crédit. Un compte Gmail suffira à sa place.
Avantages
- L'intégration avec n'importe quel pipeline, flux, base de code ou framework est simple.
- Les visualisations en temps réel, l'API facile et le support rapide
- Avec Neptune, vous pouvez faire une "sauvegarde" de toutes les données de vos expériences en un seul endroit, que vous pourrez récupérer plus tard.
Inconvénients
- Bien qu'elle ne soit pas entièrement open source, une version individuelle suffirait vraisemblablement pour un usage privé, bien que cet accès soit limité à un mois.
- Il y a quelques petits défauts de conception à trouver.
Prix
Vous pouvez commencer à utiliser la plate-forme avec le plan individuel qui est gratuit pour tout le monde. La section des prix commence à partir de 150 $/mois.
Conclusion
Dans cet article, nous avons discuté des meilleurs outils de gestion des versions de données. Chaque outil, comme nous l'avons vu, possède son propre ensemble de fonctionnalités. Certains étaient gratuits, tandis que d'autres étaient payants. Certains sont bien adaptés au modèle des petites entreprises, tandis que d'autres sont mieux adaptés au modèle des grandes entreprises.
Par conséquent, vous devez sélectionner le meilleur logiciel pour vos besoins après avoir pesé les avantages et les inconvénients. Nous vous encourageons à tester la version d'essai gratuite avant d'acheter un produit premium.
Soyez sympa! Laissez un commentaire