Présentation d’Azure Machine Learning
Azure Machine Learning est une plateforme permettant de créer et de gérer le cycle de vie de bout en bout des systèmes de Machine Learning. La solution Azure Machine Learning est indépendante de l’infrastructure, ce qui vous donne la flexibilité de travailler avec les technologies de votre choix, telles que TensorFlow, PyTorch, ONNX, MLFlow et Scikit-learn.
Azure Machine Learning permet aux utilisateurs familiers des infrastructures de Machine Learning d’effectuer l’apprentissage des modèles et de les déployer rapidement avec du code, tout en offrant aux autres utilisateurs des outils de contrôle puissants. Tous vos modèles, journaux, calculs et scripts d’entraînement sont centralisés dans un espace de travail partagé dans Azure Machine Learning, qui vous aide à chaque étape de la génération et du déploiement de systèmes de Machine Learning, ce qui signifie que vous pouvez vous concentrer sur les modèles pendant qu’Azure Machine Learning s’occupe du reste.
Azure Machine Learning dispose d’une suite complète de fonctionnalités pour prendre en charge la journalisation, le monitoring et la gouvernance des données et des modèles, garantissant ainsi que vos modèles fonctionnent comme prévu et sont communiqués efficacement aux parties prenantes.
Qu’est-ce que le studio Azure Machine Learning ?
Azure Machine Learning studio est un service basé sur navigateur qui fournit des solutions sans code et « code-first » pour créer, former et gérer visuellement des modèles par le biais d’une interface utilisateur web. Azure Machine Learning studio permet aux kits de développement logiciel (SDK) Python de s’intégrer en toute transparence aux Jupyter Notebooks pris en charge en mode natif pour les notes et le codage collaboratifs. Les données stockées dans Azure Machine Learning studio sont simples à gérer avec une visualisation intuitive des données et des fonctionnalités d’image assistée par IA ou d’étiquetage de texte.
Création d’un modèle
Il existe plusieurs façons de créer des modèles dans Azure Machine Learning. Une formation peut avoir lieu sur un ordinateur local ou sur le Cloud Azure, c’est-à-dire sur une machine virtuelle ou un cluster de calcul par exemple.
Coder avec Python
Avec le kit de développement logiciel (SDK) Azure Machine Learning pour Python, vous pouvez interagir avec le service à partir de plusieurs environnements, y compris les Jupyter Notebooks. Les notebooks fournissent un environnement collaboratif pour le code exécutable, les visualisations et les commentaires. Vous trouverez dans studio des exemples de notebooks que vous pouvez utiliser pour commencer à utiliser Azure Machine Learning.
AutoML
Machine Learning automatisé (AutoML) automatise la création des meilleurs modèles Machine Learning, aidant ainsi les utilisateurs à trouver le modèle le mieux adapté à vos données, quel que soit leur expertise en matière de science des données. Spécialisé dans la classification, la régression et la prévision des séries chronologiques, l’AutoML expérimente des fonctionnalités, des algorithmes et des paramètres différents en fonction de la tâche, puis fournit des scores sur les modèles qu’il estime être le mieux adapté. Ces modèles peuvent ensuite être déployés tels quels ou exportés au format ONNX, pour être exécutés sur plusieurs plateformes et appareils. La polyvalence et la vitesse de l’AutoML font qu’il est souvent utilisé comme point de départ par les scientifiques de données expérimentés et débutants.
Vous pouvez utiliser AutoML dans le Azure Machine Learning studio ou via le Kit de développement logiciel (SDK) Python.
Dans l’image suivante, nous pouvons voir une vue d’ensemble de la création du pipeline AutoML et la recommandation d’un modèle.
Designer
Si vous préférez une option sans code, Azure Machine Learning Designer dans Azure Machine Learning studio vous fournit un canevas de contrôle avec des contrôles glisser-déplacer pour manipuler les jeux de données et les modules. Les modules dans Azure Machine Learning Designer sont des algorithmes qui peuvent avoir des objectifs, des fonctions d’entrée de données aux processus de formation, de scoring et de validation. Ces modules liés créent des pipelines ML efficaces pour générer, tester et déployer des modèles ML, comme illustré dans l’exemple suivant.
Compute
Les ressources de calcul dont vous avez besoin pour votre environnement Machine Learning peuvent être allouées ou attachées via Azure Machine Learning. Du calcul qui alimente vos notebooks Jupyter pour l’analyse exploratoire des données, aux clusters que vous utiliserez pour la formation et aux clusters Kubernetes que vous déploierez pour l’inférence de production à grande échelle, vous pouvez tout gérer via Azure Machine Learning.
Gestion des données
Avec Azure Machine Learning, le long processus de préparation et d’ingestion de données peut être rationalisé et faire l’objet d’un travail collaboratif. La plateforme s’intègre parfaitement à Azure Synapse, Azure Databricks et à une suite d’autres services Azure pour aider les pipelines d’engineering données à extraire (Extract), transformer (Transform) et charger (Load) (ETL) des données brutes dans des magasins de données.
Magasins de données et étiquetage
Azure Machine Learning stocke vos données brutes dans le magasin de données de façon sécurisée. Vous ne dépendez donc pas de sources externes pour vos scripts, et vos jeux de formation peuvent être expérimentés sans risque pour l’intégrité des données brutes d’origine. Une fois stockées, vous pouvez nettoyer, transformer et étiqueter les données pour créer des jeux de formation à partir du magasin de données. Azure Machine Learning offre des outils permettant d’étiqueter les données tabulaires, d’image et de texte, avec des systèmes de Machine Learning intégrés qui peuvent suggérer des étiquettes ou automatiser entièrement l’étiquetage des données. L’exemple suivant montre un projet de classification multi-étiquettes réalisé par un humain en cours dans Azure Machine Learning studio.
MLOps
Tous les modèles, y compris ceux qui fonctionnent parfaitement au moment du déploiement, nécessitent une analyse et une nouvelle formation au fil du temps pour conserver des performances élevées. Azure Machine Learning fournit des fonctionnalités d’opérations d’apprentissage automatique (MLOps) pour créer des étapes reproductibles pour la préparation, la formation, le scoring des données et des environnements logiciels réutilisables afin de faciliter le déploiement. Ces pipelines et environnements reproductibles fournissent une expérience d’intégration continue et livraison continue (CI/CD) à votre workflow de Machine Learning.
En plus de ces fonctionnalités, Azure Machine Learning fournit également des outils de monitoring MLOps pour vous avertir des événements tout au long du cycle de vie ML, et même réagir. Avec un tel contrôle, vous pouvez rapidement identifier et résoudre les baisses de performances du modèle ou les problèmes dans les jeux de données. Azure Machine Learning offre également des informations de gouvernance, ce qui vous permet d’afficher un historique d’exécution complet et de suivre les actions des membres de l’équipe tout au long du cycle de vie du modèle.