Fonctionnement d’Azure Machine Learning

Effectué

Pour utiliser Azure Machine Learning vous devez disposez d’un compte et d’un abonnement Azure. L’abonnement est disponible aux niveaux de tarification gratuit et standard ; il fournit un point de terminaison et une clé d’abonnement qui vous donnent accès au service.

Vous pouvez accéder à Azure Machine Learning depuis le cloud ou sur votre ordinateur local via le kit de développement logiciel (SDK) Python, l’API REST et l’extension de l’interface de ligne de commande (CLI). Si vous préférez les options avec peu ou pas de code, Azure Machine Learning studio peut être utilisé pour effectuer l’apprentissage des modèles Machine Learning et les déployer rapidement.

Azure Machine Learning gère toutes les ressources dont vous avez besoin pour le cycle de vie ML au sein d’un espace de travail. Les espaces de travail peuvent être partagés par plusieurs personnes et inclure des éléments tels que les ressources de calcul disponibles pour vos notebooks, les clusters de formation et les pipelines. Les espaces de travail fonctionnent également comme des conteneurs logiques pour vos magasins de données et comme un référentiel pour les modèles et tout autre contenu du cycle de vie du modèle.

Azure Machine Learning lifecycle.

Comment créer des modèles Machine Learning

Les modèles peuvent être créés à l’aide du kit de développement logiciel (SDK), importés à partir des infrastructures ML ou sans code avec Azure Machine Learning studio. Quand vous vous connectez à un espace de travail, vous pouvez sélectionner différents environnements de développement avec des packages préchargés qui contiennent des environnements curés pour les infrastructures populaires, telles que TensorFlow et PyTorch. Les cibles de calcul peuvent ensuite être choisies pour exécuter un script de formation localement ou sur une machine virtuelle pour créer un modèle. Les cibles de calcul dans Azure Machine Learning peuvent procéder à la mise à l’échelle automatique et gérer les tâches pour utiliser efficacement les ressources GPU et de processeur.

L’état des exécutions peut être consigné et analysé en mode natif via le kit de développement logiciel (SDK), Azure Monitor et Azure Machine Learning studio ou en installant des packages pour exécuter MLFlow et TensorBoard. La visualisation des exécutions de formation est ensuite affichée dans l’espace de travail ou Azure studio pour approfondir les résultats et les mesures.

Dans l’exemple suivant, nous pouvons voir comment la visualisation dans Azure Machine Learning studio peut être personnalisée pour ajouter des graphiques, comparer des données et appliquer des filtres afin de mieux analyser vos résultats et métriques.

Screenshot of visualizing a model in Azure Machine Learning studio.

Expériences

Pour effectuer l’apprentissage d’un modèle dans Azure Machine Learning, vous devez exécuter un essai. Ce terme est utilisé pour désigner l’exécution d’un script de formation qui peut générer des métriques et des sorties suivies. Vous pouvez exécuter le même essai plusieurs fois avec des hyperparamètres, des données, du code ou des paramètres différents. L’espace de travail conserve un historique de toutes les exécutions de formation, y compris les journaux d’activité, les métriques, les sorties et un instantané de vos scripts dans l’environnement. Dans un projet collaboratif, les journaux des essais sont un excellent moyen d’examiner et de suivre la progression. Ils peuvent inclure des informations sur qui publie ou modifie des modèles, pourquoi des modifications ont été apportées et quand les modèles ont été déployés ou utilisés en production.

Pipelines

Un pipeline est le workflow d’une tâche de Machine Learning complète qui peut inclure la préparation, la formation, le test et le déploiement des données. Les pipelines ont de nombreuses utilisations. Il est possible de créer un pipeline qui effectue des prédictions en temps réel, ou qui se contente de nettoyer les données. Étant donné que chaque étape d’un pipeline est indépendante, plusieurs personnes peuvent travailler simultanément sur différentes étapes au sein du même pipeline. Pipelines Azure Machine Learning peut vous faire gagner du temps, car vous pouvez réexécuter uniquement les étapes dont les entrées ont été modifiées, ce qui réduit considérablement les runtimes si vous modifiez simplement les hyperparamètres ou d’autres étapes. Azure Data Factory et Azure Pipelines fournissent des pipelines prêts à l’emploi pour Azure Machine Learning, ce qui vous permet de vous concentrer sur le Machine Learning plutôt que sur l’infrastructure.

Actifs de données

Vous pouvez créer des ressources de données à partir de magasins de données, d’URL publiques et de Azure Open Datasets. En créant une ressource de données, vous référencez l’emplacement de la source de données, de sorte que les données des jeux de formation et des pipelines seront stockées sans modification du jeu de données d’origine. Les ressources de données peuvent ensuite être inscrites, versionnées, suivies et tracées pour permettre la réutilisation et le partage entre les équipes, les rôles et les expériences rapidement. Le contrôle de version des expériences reproductibles est également possible, ce qui permet une meilleure analyse de la viabilité des données et du niveau de performance du modèle.

Azure Machine Learning peut vérifier périodiquement les données nouvellement stockées avec une actualisation incrémentielle, ce qui permet aux ressources de données d’être mises à jour automatiquement lorsque de nouvelles données sont ajoutées au magasin de données. T

L’étiquetage

Étiquetage des données est un espace centralisé pour créer, gérer et analyser les tâches d’étiquetage. Tous les projets d’étiquetage des données peuvent être administrés via Azure Machine Learning studio ou le tableau de bord de l’espace de travail, dans lequel les membres de l’équipe peuvent afficher la progression et participer à des projets d’étiquetage collaboratifs. L’étiquetage humain peut avoir y lieu, ce qui permet aux membres de l’équipe d’ajouter manuellement des étiquettes pour effectuer l’apprentissage des modèles d’étiquetage ML. Une fois qu’un nombre suffisant d’étiquettes a été envoyé, un modèle de classification est utilisé pour prédire les étiquettes. Les membres de l’équipe peuvent ensuite accepter ou refuser des instances de données avec des étiquettes de ML pour faciliter l’entraînement de la précision du modèle d’étiquetage. Le modèle pourra éventuellement étiqueter les données sans assistance.

Vous trouverez ci-dessous un exemple de tâche d’étiquetage en cours dans Azure Machine Learning studio.

Screenshot of Azure Machine Learning studio data labeling.

Déployer des modèles Machine Learning

Azure Machine Learning peut créer un package et exécuter des modèles dans des conteneurs Docker pour le déploiement. Ces conteneurs sont distincts du script d’exécution, ce qui vous permet de permuter ou de mettre à jour rapidement vos modèles avec des modèles améliorés, sans modifier le script.

Vous pouvez également télécharger le modèle au format ONNX (Open Neural Network Exchange), ce qui permet de bénéficier d’une grande flexibilité en ce qui concerne les plateformes de déploiement potentielles et les périphériques (iOS, Android et Linux).

Azure Machine Learning fournit des images conteneur prépackagées qui incluent des environnements stables, avec des packages et des paramètres Python préchargés. Ces images conteneur vous aident à effectuer le déploiement sur des frameworks de Machine Learning populaires tels que TensorFlow et PyTorch avec une configuration minimale.