Utiliser le contrôle de code source pour les ressources Machine Learning
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.