Partager via


Effectuer l’apprentissage des modèles avec Azure Machine Learning (v1)

S’APPLIQUE À : SDK Python azureml v1

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
    Configuration d’exécution Une façon classique d’effectuer l’apprentissage de modèles consiste à utiliser un script d’apprentissage et une configuration de travail. La configuration du travail fournit les informations nécessaires à la configuration de l’environnement d’entraînement utilisé pour entraîner votre modèle. Vous pouvez spécifier votre script d’apprentissage, votre cible de calcul et votre environnement Azure Machine Learning dans votre configuration de travail, et exécuter un travail d’apprentissage.
    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.

Configuration de série de tests

Un travail d’apprentissage générique avec Azure Machine Learning peut être défini à l’aide de la classe ScriptRunConfig. La configuration de série de tests de script est ensuite utilisée avec vos scripts d’apprentissage pour effectuer l’apprentissage d’un modèle sur une cible de calcul.

Vous pouvez commencer avec une configuration d’exécution pour votre ordinateur local avant de passer si besoin à une autre pour une cible de calcul cloud. Quand vous changez de cible de calcul, vous ne changez que la configuration d’exécution utilisée. 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. Dans un pipeline, vous pouvez effectuer l’apprentissage d’un modèle en utilisant le Machine Learning automatisé ou des configurations de série de tests.

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, en ignorant ceux spécifiés dans .amlignore ou .gitignore
  2. Scale up de votre cluster de calcul
  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

Si vous choisissez d’effectuer l’apprentissage sur votre ordinateur local (« Configurer en tant qu’exécution locale »), vous n’avez pas besoin d’utiliser Docker. Vous pouvez utiliser Docker localement si vous le souhaitez (voir la section Configurer un pipeline de ML pour obtenir un exemple).

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.

Étapes suivantes

Découvrez comment Configurer une exécution d’apprentissage.