Former des modèles avec Azure Machine Learning

S’APPLIQUE À : Kit de développement logiciel (SDK) Python azure-ai-mlv2 (préversion)

Azure Machine Learning vous permet d’effectuer l’apprentissage de vos modèles de plusieurs façons, allant de solutions Code First s’appuyant sur le Kit de développement logiciel (SDK) à des solutions à faible code telles que le Machine Learning automatisé et le concepteur visuel. Consultez la liste suivante pour identifier la méthode d’entraînement qui vous convient le mieux :

  • SDK Azure Machine Learning pour Python : le SDK Python permet d’entraîner les modèles de plusieurs façons, chacune s’appuyant sur des fonctionnalités différentes.

    Méthode d’entraînement Description
    command() Un moyen classique d’effectuer l’apprentissage des modèles consiste à envoyer une command() qui inclut un script d’apprentissage, un environnement et des informations de calcul.
    Machine learning automatisé Le machine learning automatisée permet d’entraîner des modèles sans avoir nécessairement de connaissances approfondies en science des données ou en programmation. Pour les personnes spécialisées dans la science des données et la programmation, il permet de gagner du temps et d’économiser des ressources grâce à l’automatisation de la sélection d’algorithme et de l’ajustement des hyperparamètres. Avec le machine learning automatisé, nul besoin de se soucier de la définition d’une configuration de travail.
    Pipeline de machine learning Les pipelines ne constituent pas une méthode d’entraînement différente. Il s’agit d’une façon de définir un workflow en suivant des étapes modulaires réutilisables, qui peuvent inclure l’entraînement. Les pipelines de machine learning prennent en charge l’utilisation du Machine Learning automatisé et la configuration de série de tests pour effectuer l’apprentissage des modèles. Les pipelines n’étant pas spécifiquement axés sur l’entraînement, les raisons d’utiliser un pipeline sont plus variées que les autres méthodes d’entraînement. En règle générale, vous pouvez utiliser un pipeline dans les cas suivants :
    * Vous souhaitez planifier des processus sans assistance comme des tâches d’entraînement durables ou une préparation de données.
    * Utilisation de plusieurs étapes coordonnées sur des ressources de calcul et des emplacements de stockage hétérogènes.
    * Utilisation du pipeline comme modèle réutilisable pour des scénarios spécifiques, comme le réentraînement ou le scoring par lots.
    * Suivi et versioning des sources de données, entrées et sorties pour votre workflow.
    * Votre workflow est implémenté par différentes équipes qui travaillent de façon indépendante sur des étapes spécifiques. Les étapes peuvent ensuite être regroupées dans un pipeline pour implémenter le workflow.
  • Concepteur : Le concepts Azure Machine Learning offre une introduction simple à l’apprentissage automatique pour la génération d’une preuve de concepts, ou pour les utilisateurs peu expérimentés en matière de codage. Elle permet d’entraîner des modèles par glisser-déposer via une interface utilisateur web. Vous pouvez utiliser du code Python en phase de conception ou entraîner des modèles sans écrire de code.

  • Azure CLI : l’interface CLI d’apprentissage automatique fournit des commandes pour les tâches courantes d’Azure Machine Learning et est souvent employée pour l’écriture de scripts et l’automatisation des tâches. Par exemple, après avoir créé un script ou un pipeline de formation, vous pouvez utiliser Azure CLI pour lancer une formation selon un calendrier précis ou dès que les fichiers de données utilisés pour la formation sont mis à jour. Pour les modèles d’entraînement, elle propose des commandes qui soumettent les tâches d’entraînement. Elle peut soumettre des tâches utilisant des configurations d’exécution ou des pipelines.

Chacune de ces méthodes d’entraînement peut utiliser différents types de ressources de calcul pour l’entraînement. Ces ressources sont communément appelées cibles de calcul. Une cible de calcul peut être un ordinateur local ou une ressource cloud, comme une capacité de calcul Azure Machine Learning, Azure HDInsight ou une machine virtuelle distante.

Kit de développement logiciel (SDK) Python

Le SDK Azure Machine Learning pour Python vous permet de créer et exécuter des workflows de machine learning avec Azure Machine Learning. Vous pouvez interagir avec le service à partir d’une session Python interactive, de notebooks Jupyter, de Visual Studio Code ou d’un autre IDE.

Envoyer une commande

Un travail d’apprentissage générique avec Azure Machine Learning peut être défini à l’aide de la command(). La commande est ensuite utilisée avec vos scripts d’apprentissage pour effectuer l’apprentissage d’un modèle sur la cible de calcul spécifiée.

Vous pouvez commencer avec une commande pour votre ordinateur local avant de passer si besoin à une autre pour une cible de calcul basée sur le cloud. Lorsque vous modifiez la cible de calcul, vous modifiez uniquement le paramètre de calcul dans la commande que vous utilisez. Une exécution consigne aussi des informations sur la tâche d’entraînement, notamment les entrées, les sorties et les journaux.

Machine Learning automatisé

Définissez les itérations, la configuration des hyperparamètres, la caractérisation et d’autres paramètres. Pendant l’entraînement, Azure Machine Learning teste différents algorithmes et paramètres en parallèle. L’entraînement s’arrête une fois qu’il a atteint les critères de sortie que vous avez définis.

Conseil

Outre le Kit de développement logiciel (SDK) Python, vous pouvez utiliser le Machine Learning automatisé via Azure Machine Learning Studio.

Pipeline de machine learning

Les pipelines d’apprentissage automatique peuvent utiliser les méthodes d’apprentissage mentionnées précédemment. Les pipelines visent plus à créer un workflow et ne se limitent donc pas au simple entraînement de modèles.

Fonctionnement d’un travail de formation

Le cycle de vie de formation Azure est constitué des éléments suivants :

  1. Compression des fichiers dans votre dossier de projet et chargement dans le cloud.

    Conseil

    Pour empêcher que les fichiers inutiles soient inclus dans l’instantané, créez un fichier « ignore» (.gitignore ou .amlignore) dans le répertoire. Ajoutez dans ce fichier les fichiers et répertoires à exclure. Pour plus d’informations sur la syntaxe à utiliser dans ce fichier, consultez syntaxe et modèles pour .gitignore. Le fichier .amlignore utilise la même syntaxe. Si les deux fichiers existent, le fichier .amlignore est utilisé, et non le fichier .gitignore.

  2. Scale-up de votre cluster de calcul (ou calcul serverless)

  3. Création ou téléchargement du Dockerfile sur le nœud de calcul

    1. Le système calcule un code de hachage pour :
    2. Le système utilise ce code de hachage comme clé pour rechercher le Dockerfile dans l’espace de travail Azure Container Registry (ACR).
    3. Si le Dockerfile est introuvable, il recherche une correspondance dans l’ensemble d’ACR.
    4. Si le Dockerfile est introuvable, le système génère une nouvelle image (qui sera mise en cache et inscrite auprès de l’espace de travail ACR).
  4. Téléchargement de votre Fichier projet compressé vers le stockage temporaire sur le nœud de calcul

  5. Décompression du Fichier projet

  6. Nœud de calcul exécutant python <entry script> <arguments>

  7. Enregistrement des journaux, des fichiers de modèle et des autres fichiers écrits dans ./outputs dans le compte de stockage associé à l’espace de travail

  8. Scale down du calcul, notamment la suppression du stockage temporaire

Concepteur Azure Machine Learning

Le concepteur vous permet d’effectuer l’apprentissage de modèles via une interface de glisser-déplacer dans votre navigateur web.

Azure CLI

L’interface CLI de machine learning est une extension d’Azure CLI. Elle propose des commandes CLI multiplateformes à utiliser avec Azure Machine Learning. En règle générale, l’interface CLI sert à automatiser les tâches, par exemple à entraîner un modèle Machine Learning.

VS Code

Vous pouvez utiliser l’extension VS Code pour exécuter et gérer vos travaux de formation. Pour en savoir plus, consultez le guide de procédures de gestion des ressources VS Code.

Étapes suivantes

Consultez Tutoriel : Créer des pipelines ML de production avec le Kit de développement logiciel (SDK) Python v2 dans un notebook Jupyter.