Utiliser le contrôle de code source pour les ressources Machine Learning

Effectué

Le modèle de classification du diabète Proseware a commencé dans un bloc-notes Jupyter sur un ordinateur portable. Lorsque l’équipe augmente — scientifiques des données, ingénieurs ML et réviseurs — cette approche se décompose. Vous avez besoin d’un endroit où tout le monde fonctionne à partir du même code, peut passer en revue les modifications des autres et peut tracer chaque modèle vers le code qui l’a produit.

Ce qui appartient à Git

Un dépôt Git est le bon emplacement pour les ressources qui définissent votre modèle et son processus d’entraînement :

  • Formation et prétraitement des scripts : les fichiers Python qui exécutent la préparation des données et l’entraînement du modèle
  • Définitions de travaux et de composants : fichiers YAML qui décrivent Azure Machine Learning travaux de commande et composants de pipeline
  • Fichiers d’environnement et de dépendance : requirements.txt, conda.ymlou Azure Machine Learning définitions d’environnement
  • Fichiers de configuration : noms d’espace de travail, noms de groupes de ressources, noms de calcul et autres références que votre automatisation utilise

Ce qui n’appartient pas à Git

Certaines ressources appartiennent à des services conçus à des fins, et non dans un référentiel :

  • Jeux de données et données brutes : utilisez des ressources de données Azure Machine Learning ou des Azure Data Lake Storage ; les fichiers de données sont volumineux et versionnés séparément du code
  • Artefacts de modèles entraînés — enregistrer des ressources de modèle nommées et versionnées dans Azure Machine Learning
  • Résultats et journaux d’exécution de l’entraînement — Azure Machine Learning les stocke avec le travail
  • Secrets et informations d’identification : utilisez GitHub secrets ou Azure Key Vault ; le fait de placer les informations d’identification dans un référentiel les expose à toute personne disposant d’un accès en lecture

Tip

Test utile : si le fichier est basé sur du texte et définit la façon dont le modèle est produit, il appartient à Git. S’il s’agit d’un fichier binaire volumineux ou d’une valeur sensible, sa place est dans un espace de stockage spécialement conçu à cet effet.

Pourquoi le contrôle de code source est important pour le Machine Learning

Lorsque chaque définition de formation réside dans Git, votre équipe travaille à partir de la même version du code. Un réviseur voit exactement ce qui a changé entre les exécutions. Si une modification dégrade les performances du modèle, vous pouvez revenir à la validation précédente. Les définitions de code et d’environnement enregistrées vous aident également à reproduire une exécution d’entraînement.

Cette traçabilité est la base de tout ce qui suit : développement basé sur les branches, validation automatisée et piste d’audit qui connecte chaque version du modèle à la modification qui l’a produite.

Tip

Choisissez une ressource de projet. Le stockeriez-vous dans Git, Azure Machine Learning ou un magasin de secrets ? Expliquer pourquoi.