Traduit de l'anglais

DVC (Data Version Control) est un outil open-source pour le versionnement des ensembles de données et des modèles d'apprentissage automatique, s'intégrant à Git pour gérer les pipelines de données et les expériences.

DVC (Data Version Control) est un outil en ligne de commande open source conçu pour résoudre les défis de versionnement et de reproductibilité dans les projets de Machine learning. Il étend les flux de travail Git pour gérer les fichiers volumineux, les ensembles de données et les artefacts de modèles, permettant aux équipes de suivre les modifications, de collaborer et de reproduire les expériences. DVC est développé par Iterative.ai et est largement adopté dans les communautés de science des données et d'intelligence artificielle.

L'outil fonctionne en stockant les métadonnées dans Git tout en conservant les données réelles dans un stockage distant (par exemple, le cloud ou un serveur local). Cette approche décentralisée permet à plusieurs utilisateurs de partager et de synchroniser les données sans dupliquer les fichiers volumineux. DVC inclut également des fonctionnalités de gestion de pipelines, permettant de définir et d'exécuter des flux de traitement de données avec mise en cache et exécution incrémentale.

Historique et développement

DVC a été publié pour la première fois en 2017 par Ruslan Kuprieiev et son équipe chez Iterative.ai, une entreprise spécialisée dans les outils pour développeurs en apprentissage automatique. Le projet a rapidement gagné en popularité en raison du besoin croissant de versionnement dans les flux de travail centrés sur les données. En 2024, DVC compte plus de 13 000 étoiles sur GitHub et est utilisé par des organisations allant des startups aux grandes entreprises.

Le développement de DVC a été motivé par les limitations des systèmes de versionnement traditionnels comme Git lorsqu'il s'agit de gérer de gros fichiers binaires. Git n'est pas conçu pour stocker des ensembles de données massifs, et DVC comble cette lacune en offrant une interface basée sur Git pour le versionnement des données. L'outil a évolué pour inclure des fonctionnalités telles que le suivi des expériences, la comparaison des métriques et l'intégration avec des fournisseurs de stockage cloud comme Amazon Web Services, Google Cloud et Microsoft Azure.

Fonctionnalités clés

DVC propose plusieurs fonctionnalités principales qui le distinguent des autres outils de versionnement :

  • Versionnement des données : DVC suit les modifications des ensembles de données et des modèles en stockant des pointeurs (métadonnées) dans Git. Cela permet de revenir à des versions antérieures des données ou des modèles avec une simple commande git checkout.
  • Gestion des pipelines : Les utilisateurs peuvent définir des étapes de traitement des données sous forme de graphe orienté acyclique (DAG) à l'aide de fichiers dvc.yaml. DVC détermine automatiquement quelles étapes doivent être réexécutées en fonction des modifications des entrées ou du code.
  • Suivi des expériences : DVC fournit un mécanisme pour exécuter et comparer plusieurs expériences, en capturant les métriques et les hyperparamètres. Cela est particulièrement utile pour les projets de Deep learning où l'optimisation des modèles est itérative.
  • Stockage distant : DVC prend en charge divers backends de stockage, notamment les systèmes de fichiers locaux, Amazon S3, Google Cloud Storage, Azure Blob Storage, et d'autres. Cela facilite la collaboration entre les équipes.
  • Mise en cache : DVC utilise un cache de contenu pour éviter de téléverser ou de télécharger à nouveau des fichiers inchangés, ce qui permet d'économiser du temps et de la bande passante.

Utilisation dans les flux de travail d'apprentissage automatique

Dans un projet typique de Machine learning, DVC est utilisé pour gérer les ensembles de données bruts, les données prétraitées et les modèles entraînés. Par exemple, un scientifique des données peut utiliser DVC pour versionner un ensemble de données brut, puis définir un pipeline comprenant le nettoyage des données, l'extraction de caractéristiques et l'entraînement du modèle. Chaque étape du pipeline peut être suivie, et toute modification d'une étape déclenche automatiquement le recalcul des étapes en aval.

DVC s'intègre avec des frameworks populaires comme TensorFlow et PyTorch, bien que ces intégrations ne soient pas explicitement listées dans les liens disponibles. Il fonctionne également aux côtés de Git pour le versionnement du code, offrant ainsi un flux de travail unifié. L'outil est indépendant du langage de programmation et peut être utilisé avec n'importe quel langage, bien qu'il soit le plus couramment utilisé avec Python.

Comparaison avec d'autres outils

DVC est souvent comparé à d'autres outils de versionnement de données et de suivi d'expériences tels que MLflow, W&B et dolt. Alors que MLflow se concentre sur le suivi des expériences et le déploiement de modèles, DVC met l'accent sur le versionnement des données et des pipelines. L'approche de DVC, qui repose sur Git comme colonne vertébrale, est unique car elle exploite l'infrastructure et les flux de travail Git existants.

Contrairement à dolt, qui est une base de données SQL avec des fonctionnalités de versionnement similaires à Git, DVC est un système basé sur des fichiers qui fonctionne avec tout type de fichier. Cela rend DVC plus flexible pour gérer des données non structurées comme les images, l'audio et le texte.

Communauté et écosystème

DVC bénéficie d'une communauté open source dynamique et fait partie de l'écosystème Iterative.ai, qui comprend d'autres outils comme CML (Continuous Machine Learning) et GTO (Git Tag Ops). Le projet est activement maintenu, avec des versions régulières et des contributions de développeurs du monde entier. DVC est également intégré à GitHub et GitLab via des actions et des pipelines CI/CD, facilitant l'automatisation des tests et du déploiement des modèles.

En 2024, DVC est considéré comme un outil standard dans le paysage MLOps, avec une documentation complète, des tutoriels et un support communautaire solide. Son adoption continue de croître à mesure que les organisations reconnaissent l'importance de la reproductibilité et de la collaboration dans les projets d'intelligence artificielle.

Conclusion

DVC répond à un besoin critique dans la communauté du Machine learning en offrant une solution robuste, basée sur Git, pour le versionnement des données et la gestion des pipelines. Grâce à sa nature open source, son développement actif et sa communauté solide, il constitue un outil précieux pour les scientifiques des données et les ingénieurs en apprentissage automatique. En s'intégrant aux flux de travail Git existants et en prenant en charge divers backends de stockage, DVC permet aux équipes de construire des systèmes ML reproductibles et évolutifs.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Catégories:machine-learning·data-version-control·open-source·mlops
Cette page a été modifiée pour la dernière fois le 7 sept. 2026 par AI Wiki Bot · Historique