Bonjour!
Considérez un scénario : un scientifique des données seul travaille sur son système en essayant de parcourir une énorme quantité de données ; nettoyer, trier, traiter, puis créer un modèle pour exécuter une prédiction sur les données nouvellement traitées. La scientifique dispose d'un tas d'outils - Jupyter Notebooks, Airflow, Anaconda, Pandas, stockage de données et une machine virtuelle cloud.
Elle l'entraîne pendant des heures et des heures, pour ne pas atteindre la perfection - le modèle ne fonctionne pas aussi bien qu'il aurait dû. Elle regarde par la fenêtre - c'est déjà la tombée de la nuit. Elle doit encore tester son modèle avec un ensemble différent de paramètres et suivre un ensemble de mesures différentes de ses expériences.
Elle éteint son système, l'appelle un jour, et essaiera le lendemain avec un autre modèle, une approche différente avec un tas de nouvelles données et paramètres. C'est un long processus qui peut durer des jours… des semaines… et des mois.
Il est difficile de remonter à un point où elle avait essayé une combinaison spécifique de paramètres pour l'expérience, la connaissance est parfois perdue, car toutes les expériences et tous les artefacts liés au modèle pourraient ne pas être sauvegardés. Le suivi est crucial pour l'amélioration du modèle ML.
Je pense que ce scénario de ranger solitaire peut être évité si nous disposions d'un environnement complet de style IDE dans lequel nous pouvons exécuter plusieurs expériences, gérer les données et suivre également notre code, les métriques d'expérience, les tracés, le modèle et les artefacts de données. A quel point ce serait cool?
Cela semble trop beau pour être vrai, mais c'est ce que DVC VSCode Extension tente de faire.
DVC est un excellent outil pour suivre vos expériences, modèles et artefacts associés, mais il s'agit d'une CLI - avec laquelle de nombreux membres de la communauté des sciences des données pourraient ne pas être à l'aise ou familiers.
Fini le temps où vous deviez apprendre un tas de commandes CLI embêtantes comme celle-ci :
L'utilisation de DVC est devenue beaucoup plus facile et amusante.
Iterative Team vous propose une extension VS Code qui combine la puissance des commandes DVC CLI pour la gestion des données, la gestion des versions et l'expérimentation avec l'expérience de codage élégante et élégante de Visual Studio Code IDE.
L'extension dans sa forme actuelle vous offre les fonctionnalités suivantes :
Intégré au menu de la palette de commandes VS Code. Appuyez sur F1 pour ouvrir la palette et tapez DVC pour afficher tout un tas de commandes liées à DVC à votre disposition.
Vous donne une vue détaillée des expériences exécutées dans l'espace de travail. L'équivalent de la commande dvc exp show
en mode CLI.
Vous pouvez afficher les tracés générés par l'expérience exécutée dans l'espace de travail. Peut comparer les parcelles de différentes expériences. Voir même les parcelles mises à jour en temps réel.
Vous pouvez vérifier l'état de l'espace de travail à l'aide de cette fonctionnalité. Vous pouvez dvc checkout
, dvc commit
, dvc add
, dvc push
& dvc pull
depuis cette vue.
Une petite fenêtre pour suivre vos ressources dans l'espace de travail. À partir de là, vous pouvez effectuer des actions sur les fichiers, push
et pull
des ressources spécifiques et gérer les données dans les ensembles de données suivis.
Le View Container peut être activé en cliquant sur l'icône DVC dans la barre d'icônes de VS Code. Il donne des informations générales sur les expériences et les ressources dans l'espace de travail.
Voici quelques avantages par rapport à CLI seul lorsque vous utilisez l'extension :
L'utilisation de l'extension DVC peut être résumée en 4 étapes
Assurez-vous que DVC est installé sur votre système. Vous pouvez exécuter la commande suivante dans votre terminal :
$ pip3 install dvc
Ou vous pouvez suivre le guide donné ici pour une installation spécifique au système d'exploitation .
Accédez à VS Code et dans le menu d'extension, recherchez DVC. Cliquez sur Installer.
https://www.youtube.com/watch?v=INjOkuanRpc
Vous avez maintenant l'extension DVC prête à l'emploi. Pour vous familiariser avec l'utilisation de l'extension, nous allons télécharger un exemple de projet ML
Vous pouvez télécharger l'exemple de projet à partir du référentiel . Ouvrez le dossier dans VS Code. L'extension DVC devrait détecter le binaire DVC et l'environnement python.
Si vous avez un environnement spécifique, vous pouvez appuyer sur F1 et sélectionner DVC: Setup The Workspace
Fournissez le chemin du compilateur et le chemin binaire de l'environnement python.
Vous pouvez afficher les expériences DVC dans l'espace de travail actuel dans l'onglet Conteneur de vue DVC.
Pour commencer notre expérimentation, nous devons extraire les données. Appuyez sur F1 pour ouvrir la palette de commandes VS Code et sélectionnez DVC: Pull
Vous pouvez afficher la sortie en sélectionnant DVC: Show DVC Output
Remarque : Pour l'instant, l'équipe travaille toujours sur l'option de stockage à distance DVC dans le plug-in VS Code, vous devrez définir votre stockage à distance via la ligne de commande ou le fichier de configuration.
Vous pouvez modifier les paramètres dans le fichier params.yaml
et sélectionner DVC: Modify Experiment Param(s),Rest and Run
dans la palette de commandes VS Code.
https://www.youtube.com/watch?v=buuoKsGZvvo
Vous pouvez également vérifier vos expériences et afficher les graphiques tracés à l'aide de l'extension.
Et la cerise sur le gâteau est que l'extension vous permet de sélectionner vos expériences. Jeu de mots volontaire!
https://www.youtube.com/watch?v=N0VdjyQCo3Q
Ce n'est pas tout, vous pouvez exécuter des expériences individuelles et modifier des paramètres spécifiques.
Si vous souhaitez afficher vos graphiques en direct, pour des expériences qui prennent beaucoup de temps - disons un modèle DL peut-être avec beaucoup d'époques.
Vous pouvez également les visualiser en temps réel. Exécutez simplement votre expérience et cliquez sur le bouton des tracés dans la barre DVC.
https://www.youtube.com/watch?v=ov5ScDPV6Rw
Lorsque tout est bien fait, vous pouvez également valider et pousser vos modifications.
L'équipe itérative va bientôt ajouter des fonctionnalités plus intéressantes à l'extension. Restez à l'écoute.
Ne nous laissez pas vous retenir, allez-y et commencez à expérimenter. Bon temps DVC !
En tant que praticien ML Ops, je fais face à divers défis lorsque je travaille avec différentes équipes de science des données. Il existe différents outils disponibles sur le marché - à la fois payants et open-source. J'ai tendance à me tourner vers les outils open source, car il existe une parenté avec une communauté qui aide activement des étrangers à travers le monde à résoudre des problèmes similaires.
Cette approche est d'une grande importance pour la communauté ML car nous en sommes encore au stade de l'adoption où un bon outil peut vous aider à résoudre vos problèmes plus rapidement et avec plus de confiance. Un outil centralisé intégré à plusieurs étapes du pipeline ML aide grandement les équipes de science des données à résoudre les problèmes ; ils peuvent se concentrer davantage sur l'amélioration du modèle que sur l'infrastructure et les configurations - c'est ce qui m'a attiré vers l'outil DVC.
Un grand bravo à l'équipe d' Iterative pour avoir créé cette merveilleuse extension, en espérant voir plus de magie à l'avenir.