Identifier les composants Azure Machine Learning
En tant que scientifique des données, vous utilisez principalement des ressources dans l’espace de travail Azure Machine Learning. Les ressources sont créées et utilisées à différentes étapes d’un projet. Il s’agit notamment de :
- Modèles
- Environnements
- Données
- Composants
Créer et gérer des modèles
Le produit final de l’apprentissage d’un modèle est le modèle lui-même. Vous pouvez effectuer l’apprentissage de modèles Machine Learning dans différentes infrastructures, comme Scikit-learn ou PyTorch. Il est courant de stocker ce type de modèles en empaquetant le modèle sous la forme d’un fichier pickle Python (extension .pkl
).
Vous pouvez également utiliser la plateforme open source MLflow pour stocker votre modèle au format MLModel.
Conseil
En savoir plus sur la journalisation des artefacts de workflow en tant que modèles à l’aide de MLflow et du format MLModel.
Quel que soit le format choisi, les fichiers binaires représentent le modèle et les éventuelles métadonnées correspondantes. Pour conserver ces fichiers, vous pouvez créer ou inscrire un modèle dans l’espace de travail.
Quand vous créez un modèle dans l’espace de travail, vous spécifiez le nom et la version. Le contrôle de version est particulièrement utile quand vous déployez le modèle inscrit, car cela permet de suivre le modèle spécifique que vous souhaitez utiliser.
Créer et gérer des environnements
Quand vous utilisez le calcul cloud, il est important de vous assurer que votre code s’exécute pour tout type de calcul disponible. Que vous souhaitiez exécuter un script sur une instance de calcul ou un cluster de calcul, le code doit s’exécuter avec succès.
Imaginons que vous utilisez Python ou R, avec des infrastructures open source pour l’apprentissage d’un modèle, sur votre appareil local. Si vous souhaitez utiliser une bibliothèque comme Scikit-learn ou PyTorch, vous devez l’installer sur votre appareil.
De même, quand vous écrivez du code qui utilise des infrastructures ou des bibliothèques, vous devez vous assurer que les dépendances nécessaires sont installées sur le calcul qui exécute le code. Pour répertorier l’ensemble des exigences nécessaires, vous pouvez créer des environnements. Quand vous créez un environnement, vous devez spécifier le nom et la version.
Les environnements spécifient des packages logiciels, des variables d’environnement et des paramètres logiciels pour exécuter des scripts. Un environnement est stocké en tant qu’image dans le service Azure Container Registry créé avec l’espace de travail à sa première utilisation.
Quand vous souhaitez exécuter un script, vous pouvez spécifier l’environnement devant être utilisé par la cible de calcul. L’environnement installe toutes les exigences nécessaires sur le calcul avant d’exécuter le script. Ainsi, votre code est robuste et réutilisable pour les différentes cibles de calcul.
Créer et gérer des données
Alors que les magasins de données contiennent les informations de connexion aux services de stockage de données Azure, les ressources de données font référence à un fichier ou à un dossier spécifique.
Vous pouvez utiliser des ressources de données pour accéder facilement aux données à chaque fois, sans qu’il soit nécessaire de fournir l’authentification à chaque accès.
Quand vous créez une ressource de données dans l’espace de travail, vous spécifiez le chemin pointant vers le fichier ou le dossier, ainsi que le nom et la version.
Créer et gérer des composants
Pour effectuer l’apprentissage des modèles Machine Learning, vous écrivez du code. Il est possible que vous puissiez réutiliser du code dans plusieurs projets. Au lieu d’écrire du code à partir de zéro, vous pouvez réutiliser des extraits de code d’autres projets.
Vous pouvez créer un composant dans un espace de travail pour faciliter le partage de code. Pour créer un composant, vous devez spécifier le nom, la version, le code et l’environnement nécessaires à l’exécution du code.
Vous pouvez utiliser des composants quand vous créez des pipelines. Un composant représente donc souvent une étape dans un pipeline, par exemple pour normaliser des données, effectuer l’apprentissage d’un modèle de régression ou tester le modèle entraîné à l’aide d’un jeu de données de validation.