paint-brush
Un nouvel espoir pour l'expérimentation MLby@yashnayak
1,589
1,589

Un nouvel espoir pour l'expérimentation ML

Yashaswi Nayak2022/07/04
Read on Terminal Reader
Read this story w/o Javascript

DVC VSCode Extension combine la puissance des commandes DVC 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. 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.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Un nouvel espoir pour l'expérimentation ML
Yashaswi Nayak HackerNoon profile picture


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.


Extension DVC VSCode

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 :


1. Palette de commandes

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.


2. Tableau des expériences

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.


3. Parcelles / Parcelles en direct

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.


4. Gestion du contrôle des sources

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.


5. Artefacts suivis - Ensembles de données, modèles et tokenizers

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.


6. Conteneur/plateau de vue DVC

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 :

  • Masque la complexité de la CLI et supprime les frictions de l'expérience.
  • Améliorer les visualisations existantes et fournir des visualisations supplémentaires.
  • Déplacement des workflows de science des données dans le contexte de construction - moins de pauses inattendues dans le temps de mise au point.
  • Afficher les performances des tests en temps réel
  • Tout le monde aime VS Code ❤️🙂


Extension DVC - Mise en route

L'utilisation de l'extension DVC peut être résumée en 4 étapes

  1. Installation - (une fois)
  2. Configuration de votre projet et de vos données
  3. Expérimentation
  4. Tracé de graphiques et évaluation de modèles


Installation

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


Télécharger un exemple de projet

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.


Utilisation de l'extension DVC

Vous pouvez afficher les expériences DVC dans l'espace de travail actuel dans l'onglet Conteneur de vue DVC.


Extraction de données

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.


Expérimentation

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


Parcelles / Parcelles en direct

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 !



Un peu de philosophie d'adieu

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.