Créer des travaux Azure Machine Learning

Effectué

La première étape de l’opérationnalisation d’un modèle Machine Learning consiste à l’exécuter en tant que travail Azure Machine Learning. Vous pouvez exécuter des scripts individuels en tant que travaux de commande, ou des groupes de scripts en tant que travail de pipeline.

L’équipe de science des données vous donne son travail dans un notebook Jupyter dans lequel les données sont chargées, transformées et entraînées. Pour préparer le code et le modèle pour la production, vous devez :

  • Refactoriser le notebook en scripts.
  • Vous référer aux scripts dans la définition du travail.
  • Déclencher le travail pour entraîner le modèle.

Refactoriser le code en scripts

Pour préparer un modèle Machine Learning pour la production, vous devez d’abord préparer votre code pour la production. Lorsque vous avez un notebook Jupyter qui doit être converti en code de production, vous devez :

  • Nettoyer le code non essentiel.
  • Exporter votre code vers des scripts Python.
  • Utiliser des fonctions dans vos scripts.

En utilisant des fonctions dans vos scripts, il sera plus facile de tester la qualité de votre code. Lorsque vous avez un script que vous souhaitez exécuter, vous pouvez utiliser un travail Azure Machine Learning pour exécuter le code.

Définir un travail Azure Machine Learning

Pour définir un travail dans Azure Machine Learning, vous pouvez créer un fichier YAML. Peu importe si vous souhaitez exécuter un script en tant que travail de commande ou plusieurs scripts séquentiellement en tant que pipeline. Pour les travaux de commande et de pipeline, vous devez créer un fichier YAML qui fournit les détails suivants :

  • Quels sont les scripts à exécuter.
  • Quelles sont les entrées et sorties pour chaque script.
  • Le calcul qui sera utilisé pour exécuter les scripts.
  • L’environnement qui doit être installé sur le calcul pour exécuter les scripts.

Le code YAML suivant présente un exemple de travail de commande qui utilise une ressource de données inscrite comme entrée lors de l’exécution du script main.py :

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >-
  python main.py 
  --diabetes-csv ${{inputs.diabetes}}
inputs:
  diabetes:
    path: azureml:diabetes-data:1
    mode: ro_mount
environment: azureml:basic-env-scikit@latest
compute: azureml:aml-instance
experiment_name: diabetes-data-example
description: Train a classification model on diabetes data using a registered dataset as input.

Dans le fichier YAML, vous trouverez les détails nécessaires à inclure :

  • code fait référence au dossier local, qui stocke les scripts que vous souhaitez exécuter. La clé command spécifie que le script main.py du dossier src doit être exécuté à l’aide de la valeur inputs.diabetes pour le paramètre diabetes-csv.
  • La version 1 de la ressource de données inscrite diabetes-data dans l’espace de travail Azure Machine Learning est montée sur le calcul à utiliser comme entrée pour le script.
  • L’instance de calcul aml-instance sera utilisée pour exécuter les scripts.
  • La dernière version de l’environnement basic-env-scikit personnalisé inscrit sera installée sur l’instance de calcul avant d’exécuter le script.

Pour tester la définition YAML du travail, vous pouvez le déclencher à l’aide de l’interface CLI v2.

Déclencher un travail Azure Machine Learning

Chaque fois que vous souhaitez exécuter un travail Azure Machine Learning, vous pouvez utiliser l’interface CLI v2. L’interface CLI v2 peut être installée sur votre appareil local, ou vous pouvez utiliser Azure Cloud Shell.

Que vous souhaitiez déclencher des exécutions à partir de votre appareil local ou à l’aide d’Azure Cloud Shell, vous devez d’abord installer l’extension Azure Machine Learning.

Pour l’installer sur Windows, utilisez la commande suivante :

az extension add -n ml -y

Une fois que vous avez installé l’extension Azure Machine Learning pour l’interface CLI et que vous avez accès à l’abonnement Azure avec lequel vous souhaitez travailler, vous pouvez envoyer un travail Azure Machine Learning à l’aide de la commande suivante :

az ml job create --file job.yml

Notes

Pour en savoir plus sur la façon de gérer des travaux Azure Machine Learning avec l’interface CLI (v2), consultez la documentation de référence sur az ml job.