Partager des modèles, des composants et des environnements entre les espaces de travail avec des registres
Le registre Azure Machine Learning vous permet de collaborer entre les espaces de travail au sein de votre organisation. À l’aide de registres, vous pouvez partager des modèles, des composants et des environnements.
Il existe deux scénarios dans lesquels vous souhaitez utiliser le même ensemble de modèles, de composants et d’environnements dans plusieurs espaces de travail :
- MLOps entre espaces de travail : vous effectuez l'apprentissage d’un modèle dans un espace de travail
dev
et devez le déployer danstest
et les espaces de travailprod
. Dans ce cas, vous souhaitez disposer d’une traçabilité de bout en bout entre les points de terminaison sur lesquels le modèle est déployé dans les espaces de travailtest
ouprod
et du travail d’apprentissage, des métriques, du code, des données et de l’environnement utilisés pour effectuer l'apprentissage du modèle dans l’espace de travaildev
. - Partager et réutiliser des modèles et des pipelines entre différentes équipes : le partage et la réutilisation améliorent la collaboration et la productivité. Dans ce scénario, vous pouvez publier un modèle entraîné et les composants et environnements associés utilisés pour effectuer l'apprentissage vers un catalogue central. À partir de là, les collègues des autres équipes peuvent rechercher et réutiliser les ressources que vous avez partagées dans leurs propres expériences.
Dans cet article, vous allez apprendre à :
- Créer un environnement et un composant dans le registre.
- Utiliser le composant du registre pour soumettre un travail d’apprentissage de modèle dans un espace de travail.
- Inscrire le modèle entraîné dans le registre.
- Déployer le modèle à partir du registre sur un point de terminaison en ligne dans l’espace de travail, puis à envoyer une requête d’inférence.
Prérequis
Avant de suivre les étapes décrites dans cet article, vérifiez que vous disposez des composants requis suivants :
- Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer. Essayez la version gratuite ou payante d’Azure Machine Learning.
Registre Azure Machine Learning pour partager des modèles, des composants et des environnements. Pour créer un registre, consultez Découvrir comment créer un registre.
Un espace de travail Azure Machine Learning. Si vous n’en avez pas, procédez comme suit dans le Guide de démarrage rapide : Créer des ressources d’espace de travail pour en créer un.
Important
La région Azure (emplacement) où vous créez votre espace de travail doit figurer dans la liste des régions prises en charge pour le registre Azure Machine Learning
Azure CLI et l’extension
ml
ou le Kit de développement logiciel (SDK) Python Azure Machine Learning v2 :Pour installer Azure CLI et l’extension, consultez Installer, configurer et utiliser l’interface CLI (v2).
Important
Les exemples CLI de cet article supposent que vous utilisez l’interpréteur de commandes Bash (ou compatible). Par exemple, à partir d’un système Linux ou d’un sous-système Windows pour Linux.
Les exemples supposent également que vous avez configuré les valeurs par défaut pour Azure CLI afin que vous n’ayez pas à spécifier les paramètres de votre abonnement, espace de travail, groupe de ressources ou emplacement. Pour définir les paramètres par défaut, utilisez les commandes suivantes. Remplacez les paramètres suivants par des valeurs pour votre configuration :
- Remplacez
<subscription>
par l’identifiant de votre abonnement Azure. - Remplacez
<workspace>
par le nom de votre espace de travail Azure Machine Learning. - Remplacez
<resource-group>
par le groupe de ressources Azure qui contient votre espace de travail. - Remplacez
<location>
par la région Azure qui contient votre espace de travail.
az account set --subscription <subscription> az configure --defaults workspace=<workspace> group=<resource-group> location=<location>
Vous pouvez afficher les valeurs par défaut actuelles à l’aide de la commande
az configure -l
.- Remplacez
Cloner un dépôt d’exemples
Les exemples de code de cet article sont basés sur l’exemple nyc_taxi_data_regression
dans le référentiel d’exemples. Pour utiliser ces fichiers dans votre environnement de développement, utilisez les commandes suivantes pour cloner le référentiel et modifier les répertoires pour l’exemple :
git clone https://github.com/Azure/azureml-examples
cd azureml-examples
Pour l’exemple de CLI, remplacez les répertoires cli/jobs/pipelines-with-components/nyc_taxi_data_regression
par votre clone local du référentiel d’exemples.
cd cli/jobs/pipelines-with-components/nyc_taxi_data_regression
Créer une connexion SDK
Conseil
Cette étape est nécessaire uniquement lors de l’utilisation du Kit de développement logiciel (SDK) Python.
Créez une connexion cliente à la fois à l’espace de travail et au registre Azure Machine Learning :
ml_client_workspace = MLClient( credential=credential,
subscription_id = "<workspace-subscription>",
resource_group_name = "<workspace-resource-group",
workspace_name = "<workspace-name>")
print(ml_client_workspace)
ml_client_registry = MLClient(credential=credential,
registry_name="<REGISTRY_NAME>",
registry_location="<REGISTRY_REGION>")
print(ml_client_registry)
Créer un environnement dans le registre
Les environnements définissent le conteneur Docker et les dépendances Python nécessaires pour exécuter des travaux d’apprentissage ou déployer des modèles. Pour plus d'informations sur les environnements, consultez la documentation suivante :
Conseil
La même commande CLI az ml environment create
peut être utilisée pour créer des environnements dans un espace de travail ou un registre. L’exécution de la commande avec la commande --workspace-name
crée l’environnement dans un espace de travail, tandis que l’exécution de la commande avec --registry-name
crée l’environnement dans le registre.
Nous allons créer un environnement qui utilise l’image Docker python:3.8
et installe les packages Python nécessaires pour exécuter un travail d’apprentissage à l’aide de l’infrastructure SciKit Learn. Si vous avez cloné les exemples de référentiel et que vous êtes dans le dossier cli/jobs/pipelines-with-components/nyc_taxi_data_regression
, vous devez pouvoir voir le fichier de définition d’environnement env_train.yml
qui fait référence au fichier Docker env_train/Dockerfile
. env_train.yml
est affiché ci-dessous pour votre référence :
$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: SKLearnEnv
version: 1
build:
path: ./env_train
Créez l’environnement à l’aide de az ml environment create
comme suit.
az ml environment create --file env_train.yml --registry-name <registry-name>
Si vous obtenez une erreur indiquant qu’un environnement avec ce nom et cette version existent déjà dans le registre, vous pouvez modifier le champ version
dans env_train.yml
ou spécifier une version différente sur l’interface CLI qui remplace la valeur de version dans env_train.yml
.
# use shell epoch time as the version
version=$(date +%s)
az ml environment create --file env_train.yml --registry-name <registry-name> --set version=$version
Conseil
version=$(date +%s)
fonctionne uniquement dans Linux. Remplacez $version
par un nombre aléatoire si cela ne fonctionne pas.
Notez name
et version
de l’environnement de la sortie de la commande az ml environment create
et utilisez-les avec les commandes az ml environment show
comme suit. Vous aurez besoin de name
et version
dans la section suivante lorsque vous créez un composant dans le registre.
az ml environment show --name SKLearnEnv --version 1 --registry-name <registry-name>
Conseil
Si vous avez utilisé un nom ou une version d’environnement différente, remplacez les paramètres --name
et --version
en conséquence.
Vous pouvez également utiliser az ml environment list --registry-name <registry-name>
pour répertorier tous les environnements dans le registre.
Vous pouvez parcourir tous les environnements dans Azure Machine Learning Studio. Veillez à accéder à l’interface utilisateur globale et à rechercher l’entrée Registres.
Créer un composant dans le registre
Les composants sont des blocs de construction réutilisables de pipelines Machine Learning dans Azure Machine Learning. Vous pouvez packager le code, la commande, l’environnement, l’interface d’entrée et l’interface de sortie de l’étape d’un pipeline individuel dans un composant. Vous pouvez ensuite réutiliser le composant sur plusieurs pipelines sans avoir à vous soucier du portage des dépendances et du code chaque fois que vous écrivez un autre pipeline.
La création d’un composant dans un espace de travail vous permet d’utiliser le composant dans n’importe quel travail de pipeline au sein de cet espace de travail. La création d’un composant dans un registre vous permet d’utiliser le composant dans n’importe quel pipeline dans n’importe quel espace de travail au sein de votre organisation. La création de composants dans un registre est un excellent moyen de créer des utilitaires réutilisables modulaires ou des tâches d’apprentissage partagées qui peuvent être utilisées à des fins d’expérimentation par différentes équipes au sein de votre organisation.
Pour plus d'informations sur les composants, consultez la documentation suivante :
Utilisation des composants dans des pipelines (SDK)
Important
Le Registre prend uniquement en charge les ressources nommées (données/modèle/composant/environnement). Si vous souhaitez référencer une ressource dans un registre, vous devez d’abord la créer dans le registre. Si vous souhaitez référencer un composant ou un environnement dans le composant de pipeline, en particulier pour le cas de composant de pipeline, vous devez d’abord créer le composant ou l’environnement dans le registre.
Assurez-vous d’être dans le dossier cli/jobs/pipelines-with-components/nyc_taxi_data_regression
. Vous trouverez le fichier de définition de composant train.yml
qui empaquette un script d’entraînement Scikit Learn train_src/train.py
et l’environnement organisé AzureML-sklearn-0.24-ubuntu18.04-py37-cpu
. Nous allons utiliser l’environnement Scikit Learn créé à l’étape précédente au lieu de l’environnement organisé. Vous pouvez modifier le champ environment
dans train.yml
pour faire référence à votre environnement Scikit Learn. Le fichier de définition de composant résultant train.yml
est similaire à l’exemple suivant :
# <component>
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
name: train_linear_regression_model
display_name: TrainLinearRegressionModel
version: 1
type: command
inputs:
training_data:
type: uri_folder
test_split_ratio:
type: number
min: 0
max: 1
default: 0.2
outputs:
model_output:
type: mlflow_model
test_data:
type: uri_folder
code: ./train_src
environment: azureml://registries/<registry-name>/environments/SKLearnEnv/versions/1`
command: >-
python train.py
--training_data ${{inputs.training_data}}
--test_data ${{outputs.test_data}}
--model_output ${{outputs.model_output}}
--test_split_ratio ${{inputs.test_split_ratio}}
Si vous avez utilisé un nom ou une version différente, la représentation plus générique ressemble à ceci : environment: azureml://registries/<registry-name>/environments/<sklearn-environment-name>/versions/<sklearn-environment-version>
. Veillez donc à remplacer <registry-name>
, <sklearn-environment-name>
et <sklearn-environment-version>
en conséquence. Vous exécutez ensuite la commande az ml component create
pour créer le composant comme suit.
az ml component create --file train.yml --registry-name <registry-name>
Conseil
La même commande CLI az ml component create
peut être utilisée pour créer des environnements dans un espace de travail ou un registre. L’exécution de la commande avec la commande --workspace-name
crée le composant dans un espace de travail, tandis que l’exécution de la commande avec --registry-name
crée l’environnement dans le registre.
Si vous préférez ne pas modifier train.yml
, vous pouvez remplacer le nom de l’environnement dans l’interface CLI comme suit :
az ml component create --file train.yml --registry-name <registry-name>` --set environment=azureml://registries/<registry-name>/environments/SKLearnEnv/versions/1
# or if you used a different name or version, replace `<sklearn-environment-name>` and `<sklearn-environment-version>` accordingly
az ml component create --file train.yml --registry-name <registry-name>` --set environment=azureml://registries/<registry-name>/environments/<sklearn-environment-name>/versions/<sklearn-environment-version>
Conseil
Si vous obtenez une erreur indiquant que le nom du composant existe déjà dans le registre, vous pouvez modifier la version dans train.yml
ou remplacer la version sur l’interface CLI par une version aléatoire.
Notez name
et version
du composant de la sortie de la commande az ml component create
et utilisez-les avec les commandes az ml component show
comme suit. Vous aurez besoin de name
et version
dans la section suivante lorsque vous créez et envoyez un travail d’apprentissage dans l’espace de travail.
az ml component show --name <component_name> --version <component_version> --registry-name <registry-name>
Vous pouvez également utiliser az ml component list --registry-name <registry-name>
pour répertorier tous les composants dans le registre.
Vous pouvez parcourir tous les composants dans Azure Machine Learning Studio. Veillez à accéder à l’interface utilisateur globale et à rechercher l’entrée Registres.
Exécuter un travail de pipeline dans un espace de travail à l’aide d’un composant à partir du registre
Lors de l’exécution d’un travail de pipeline qui utilise un composant à partir d’un registre, les ressources de calcul et les données d’apprentissage sont locales à l’espace de travail. Pour plus d'informations sur l’exécution des travaux, consultez la documentation suivante :
- Exécution de travaux (CLI)
- Exécution de travaux (SDK)
- Travaux de pipeline avec des composants (CLI)
- Travaux de pipeline avec des composants (SDK)
Nous allons exécuter un travail de pipeline avec le composant d’apprentissage Scikit Learn créé dans la section précédente pour effectuer l'apprentissage d’un modèle. Vérifiez que vous êtes dans le dossier cli/jobs/pipelines-with-components/nyc_taxi_data_regression
. Le jeu de données d’apprentissage se trouve dans le dossier data_transformed
. Modifiez la section component
dans la section train_job
du fichier single-job-pipeline.yml
pour faire référence au composant d’apprentissage créé dans la section précédente. Le single-job-pipeline.yml
résultant est illustré ci-dessous.
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: nyc_taxi_data_regression_single_job
description: Single job pipeline to train regression model based on nyc taxi dataset
jobs:
train_job:
type: command
component: azureml://registries/<registry-name>/component/train_linear_regression_model/versions/1
compute: azureml:cpu-cluster
inputs:
training_data:
type: uri_folder
path: ./data_transformed
outputs:
model_output:
type: mlflow_model
test_data:
L’aspect clé est que ce pipeline va s’exécuter dans un espace de travail à l’aide d’un composant qui n’est pas dans l’espace de travail spécifique. Le composant se trouve dans un registre qui peut être utilisé avec n’importe quel espace de travail de votre organisation. Vous pouvez exécuter ce travail de formation dans n’importe quel espace de travail auquel vous avez accès sans avoir à vous soucier de rendre le code et l’environnement d’apprentissage disponibles dans cet espace de travail.
Avertissement
- Avant d’exécuter le travail de pipeline, vérifiez que l’espace de travail dans lequel vous exécuterez le travail se trouve dans une région Azure prise en charge par le registre dans lequel vous avez créé le composant.
- Vérifiez que l’espace de travail a un cluster de calcul portant le nom
cpu-cluster
ou modifiez le champcompute
sousjobs.train_job.compute
par le nom de votre calcul.
Exécutez le travail de pipeline avec la commande az ml job create
.
az ml job create --file single-job-pipeline.yml
Conseil
Si vous n’avez pas configuré l’espace de travail et le groupe de ressources par défaut, comme expliqué dans la section Prérequis, vous devez spécifier les paramètres --workspace-name
et --resource-group
pour que az ml job create
fonctionne.
Vous pouvez également ignorer la modification single-job-pipeline.yml
et remplacer le nom du composant utilisé par train_job
dans l’interface CLI.
az ml job create --file single-job-pipeline.yml --set jobs.train_job.component=azureml://registries/<registry-name>/component/train_linear_regression_model/versions/1
Étant donné que le composant utilisé dans le travail d’apprentissage est partagé par le biais d’un registre, vous pouvez envoyer le travail à n’importe quel espace de travail auquel vous avez accès dans votre organisation, même entre différents abonnements. Par exemple, si vous avez dev-workspace
, test-workspace
et prod-workspace
, l’exécution du travail d’apprentissage dans ces trois espaces de travail est aussi simple que l’exécution de trois commandes az ml job create
.
az ml job create --file single-job-pipeline.yml --workspace-name dev-workspace --resource-group <resource-group-of-dev-workspace>
az ml job create --file single-job-pipeline.yml --workspace-name test-workspace --resource-group <resource-group-of-test-workspace>
az ml job create --file single-job-pipeline.yml --workspace-name prod-workspace --resource-group <resource-group-of-prod-workspace>
Dans Azure Machine Learning Studio, sélectionnez le lien de point de terminaison dans la sortie du travail pour afficher le travail. Ici, vous pouvez analyser les métriques d’apprentissage, vérifier que le travail utilise le composant et l’environnement à partir du registre et passer en revue le modèle entraîné. Notez le name
du travail de la sortie ou recherchez les mêmes informations dans la présentation du travail dans Azure Machine Learning Studio. Vous aurez besoin de ces informations pour télécharger le modèle entraîné dans la section suivante sur la création de modèles dans le registre.
Créer un modèle dans le registre
Dans cette section, vous allez apprendre à créer des modèles dans un registre. Passez en revue la gestion des modèles pour en savoir plus sur la gestion des modèles dans Azure Machine Learning. Nous allons examiner deux façons différentes de créer un modèle dans un registre. Tout d’abord, à partir de fichiers locaux. Ensuite, en copiant un modèle inscrit dans l’espace de travail dans un registre.
Dans les deux options, vous allez créer un modèle avec le format MLflow, ce qui vous aidera à déployer ce modèle pour l’inférence sans écrire de code d’inférence.
Créer un modèle dans le registre à partir de fichiers locaux
Téléchargez le modèle, qui est disponible comme sortie de train_job
en remplaçant <job-name>
par le nom du travail de la section précédente. Le modèle avec les fichiers de métadonnées MLflow doit être disponible dans le ./artifacts/model/
.
# fetch the name of the train_job by listing all child jobs of the pipeline job
train_job_name=$(az ml job list --parent-job-name <job-name> --query [0].name | sed 's/\"//g')
# download the default outputs of the train_job
az ml job download --name $train_job_name
# review the model files
ls -l ./artifacts/model/
Conseil
Si vous n’avez pas configuré l’espace de travail et le groupe de ressources par défaut, comme expliqué dans la section Prérequis, vous devez spécifier les paramètres --workspace-name
et --resource-group
pour que az ml model create
fonctionne.
Avertissement
La sortie de az ml job list
est passée à sed
. Cela fonctionne uniquement sur les interpréteurs de commandes Linux. Si vous êtes sur Windows, exécutez az ml job list --parent-job-name <job-name> --query [0].name
et supprimez les guillemets que vous voyez dans le nom du travail d’apprentissage.
Si vous ne parvenez pas à télécharger le modèle, vous pouvez trouver un exemple de modèle MLflow entraîné par le travail d’apprentissage dans la section précédente dans le dossier cli/jobs/pipelines-with-components/nyc_taxi_data_regression/artifacts/model/
.
Inscrire le modèle dans le registre :
# create model in registry
az ml model create --name nyc-taxi-model --version 1 --type mlflow_model --path ./artifacts/model/ --registry-name <registry-name>
Conseil
- Utilisez un nombre aléatoire pour le paramètre
version
si vous obtenez une erreur indiquant que le nom et la version du modèle existent. - La même commande CLI
az ml model create
peut être utilisée pour créer des modèles dans un espace de travail ou un registre. L’exécution de la commande avec la commande--workspace-name
crée le modèle dans un espace de travail, tandis que l’exécution de la commande avec--registry-name
crée le modèle dans le registre.
Partager un modèle d’un espace de travail dans le registre
Dans ce flux de travail, vous créerez d’abord le modèle dans l’espace de travail, puis le partagerez dans le registre. Ce flux de travail est utile lorsque vous souhaitez tester le modèle dans l’espace de travail avant de le partager. Par exemple, déployez-le sur des points de terminaison, essayez l’inférence avec certaines données de test, puis copiez le modèle dans un registre si tout semble correct. Ce flux de travail peut également être utile lorsque vous développez une série de modèles à l’aide de différentes techniques, infrastructures ou différents paramètres et que vous souhaitez promouvoir un seul d’entre eux dans le registre en tant que candidat de production.
Vérifiez que vous disposez du nom du travail de pipeline de la section précédente et remplacez-le dans la commande pour récupérer le nom du travail d’apprentissage ci-dessous. Vous allez ensuite inscrire le modèle de la sortie du travail d’apprentissage dans l’espace de travail. Notez comment le paramètre --path
fait référence à la sortie de train_job
avec la syntaxe azureml://jobs/$train_job_name/outputs/artifacts/paths/model
.
# fetch the name of the train_job by listing all child jobs of the pipeline job
train_job_name=$(az ml job list --parent-job-name <job-name> --workspace-name <workspace-name> --resource-group <workspace-resource-group> --query [0].name | sed 's/\"//g')
# create model in workspace
az ml model create --name nyc-taxi-model --version 1 --type mlflow_model --path azureml://jobs/$train_job_name/outputs/artifacts/paths/model
Conseil
- Utilisez un nombre aléatoire pour le paramètre
version
si vous obtenez une erreur indiquant que le nom et la version du modèle existent. - Si vous n’avez pas configuré l’espace de travail et le groupe de ressources par défaut, comme expliqué dans la section Prérequis, vous devez spécifier les paramètres
--workspace-name
et--resource-group
pour queaz ml model create
fonctionne.
Notez le nom et la version du modèle. Vous pouvez vérifier si le modèle est inscrit dans l’espace de travail en le parcourant dans l’interface utilisateur de Studio ou en utilisant la commande az ml model show --name nyc-taxi-model --version $model_version
.
Ensuite, vous partagerez désormais le modèle de l’espace de travail dans le registre.
# share model registered in workspace to registry
az ml model share --name nyc-taxi-model --version 1 --registry-name <registry-name> --share-with-name <new-name> --share-with-version <new-version>
Conseil
- Veillez à utiliser le nom et la version du modèle appropriés si vous l’avez modifié dans la commande
az ml model create
. - La commande ci-dessus dispose de deux paramètres facultatifs « --share-with-name » et « --share-with-version ». S’ils ne sont pas fournis, le nouveau modèle aura les mêmes nom et version que le modèle partagé.
Notez
name
etversion
du modèle de la sortie de la commandeaz ml model create
et utilisez-les avec les commandesaz ml model show
comme suit. Vous aurez besoin dename
etversion
dans la section suivante lorsque vous déployez le modèle sur un point de terminaison en ligne pour l’inférence.
az ml model show --name <model_name> --version <model_version> --registry-name <registry-name>
Vous pouvez également utiliser az ml model list --registry-name <registry-name>
pour répertorier tous les modèles du registre ou parcourir tous les composants de l’interface utilisateur d’Azure Machine Learning Studio. Veillez à accéder à l’interface utilisateur globale et recherchez le hub Registres.
La capture d’écran suivante montre un modèle dans un registre dans Azure Machine Learning Studio. Si vous avez créé un modèle à partir de la sortie du travail, puis copié le modèle de l’espace de travail vers le registre, vous verrez que le modèle a un lien vers le travail qui a effectué l’apprentissage du modèle. Vous pouvez utiliser ce lien pour accéder au travail d’apprentissage pour passer en revue le code, l’environnement et les données utilisés pour effectuer l'apprentissage du modèle.
Déployer un modèle à partir d’un registre vers un point de terminaison en ligne dans l’espace de travail
Dans la dernière section, vous allez déployer un modèle à partir du registre vers un point de terminaison en ligne dans un espace de travail. Vous pouvez choisir de déployer n’importe quel espace de travail auquel vous avez accès dans votre organisation, à condition que l’emplacement de l’espace de travail soit l’un des emplacements pris en charge par le registre. Cette fonctionnalité est utile si vous avez effectué l'apprentissage d’un modèle dans un espace de travail dev
et que vous devez maintenant déployer le modèle sur l’espace de travail test
ou prod
, tout en conservant les informations de traçabilité concernant le code, l’environnement et les données utilisées pour effectuer l'apprentissage du modèle.
Les points de terminaison en ligne vous permettent de déployer les modèles et d’envoyer des demandes d’inférence via les API REST. Pour plus d’informations, consultez Comment déployer et scorer un modèle Machine Learning en utilisant un point de terminaison en ligne.
Créez un point de terminaison en ligne.
az ml online-endpoint create --name reg-ep-1234
Mettez à jour la ligne model:
deploy.yml
disponible dans le dossier cli/jobs/pipelines-with-components/nyc_taxi_data_regression
pour faire référence au nom et à la version du modèle à partir de l’étape précédente. Créez un déploiement en ligne sur le point de terminaison en ligne. deploy.yml
est affiché ci-dessous pour votre référence.
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: demo
endpoint_name: reg-ep-1234
model: azureml://registries/<registry-name>/models/nyc-taxi-model/versions/1
instance_type: Standard_DS2_v2
instance_count: 1
Créez le déploiement en ligne. Le déploiement prend plusieurs minutes.
az ml online-deployment create --file deploy.yml --all-traffic
Récupérez l’URI de scoring et envoyez un exemple de demande de scoring. Des exemples de données pour la demande de scoring sont disponibles dans scoring-data.json
dans le dossier cli/jobs/pipelines-with-components/nyc_taxi_data_regression
.
ENDPOINT_KEY=$(az ml online-endpoint get-credentials -n reg-ep-1234 -o tsv --query primaryKey)
SCORING_URI=$(az ml online-endpoint show -n reg-ep-1234 -o tsv --query scoring_uri)
curl --request POST "$SCORING_URI" --header "Authorization: Bearer $ENDPOINT_KEY" --header 'Content-Type: application/json' --data @./scoring-data.json
Conseil
- La commande
curl
fonctionne uniquement sur Linux. - Si vous n’avez pas configuré l’espace de travail et le groupe de ressources par défaut, comme expliqué dans la section Prérequis, vous devez spécifier les paramètres
--workspace-name
et--resource-group
pour que les commandesaz ml online-endpoint
etaz ml online-deployment
fonctionnent.
Nettoyer les ressources
Si vous ne comptez pas utiliser le déploiement, vous devriez le supprimer pour réduire les coûts. L’exemple suivant supprime le point de terminaison et tous les déploiements sous-jacents :
az ml online-endpoint delete --name reg-ep-1234 --yes --no-wait