Schéma YAML du modèle de déploiement CLI (v2)

APPLIES TO :Azure CLI ml extension v2 (actuel)

Le schéma JSON source se trouve à l’adresse https://azuremlschemas.azureedge.net/latest/deploymentTemplate.schema.json.

Note

La syntaxe YAML détaillée dans ce document est basée sur le schéma JSON pour la dernière version de l’extension ML CLI v2. Le fonctionnement de cette syntaxe est garanti uniquement avec la dernière version de l’extension ML CLI v2. Vous trouverez les schémas des versions d’extension plus anciennes sur https://azuremlschemasprod.azureedge.net/.

Syntaxe YAML

Clé Catégorie Description Valeurs autorisées Valeur par défaut
$schema string Schéma YAML. Si vous utilisez l’extension Azure Machine Learning VS Code pour créer le fichier YAML, y compris $schema en haut de votre fichier vous permet d’appeler des achèvements de schéma et de ressources.
name string Required. Nom du modèle de déploiement.
version chaîne ou entier Version du modèle de déploiement.
description string Description du modèle de déploiement.
display_name string Nom complet du modèle de déploiement. Utilisé par les surfaces d’interface utilisateur (comme le portail Foundry) pour présenter une étiquette conviviale aux consommateurs lorsqu’ils choisissent un modèle de déploiement.
tags Objet Dictionnaire de balises pour le modèle de déploiement.
type string Type du modèle de déploiement.
deployment_template_type string Required. Type de modèle de déploiement. « Géré » est la seule valeur actuellement autorisée.
environment string Required. Environnement à utiliser pour le modèle de déploiement. Cette valeur doit être une référence à un environnement versionné existant dans un registre. Utilisez la azureml://registries/<registry-name>/environments/<environment-name>/versions/<version> syntaxe.

Note: Les environnements délimités à l’espace de travail (à l’aide azureml:<name>:<version> de la syntaxe) et les définitions d’environnement inline ne sont pas pris en charge pour les modèles de déploiement.
environment_variables Objet Dictionnaire des paires clé-valeur de variable d’environnement à définir pour le déploiement. Vous pouvez accéder à ces variables d’environnement à partir de vos scripts de scoring.
instance_count integer Required. Nombre d’instances à utiliser pour le déploiement. Spécifiez la valeur en fonction de la charge de travail attendue.
default_instance_type string Required. Type d’instance par défaut à utiliser lors du déploiement avec ce modèle.
allowed_instance_types liste de chaînes Les types d’instances que les consommateurs sont autorisés à définir lorsqu’ils déploient un modèle qui utilise ce modèle. Spécifiez les types d’instances sous forme de liste de chaînes.
model_mount_path string Chemin d’accès pour monter le modèle dans le conteneur.
scoring_path string Required. Chemin d’accès du point de terminaison de scoring.
scoring_port integer Required. Port du point de terminaison de scoring.
liveness_probe Objet Paramètres de sonde Liveness pour surveiller régulièrement l’intégrité du conteneur. Consultez ProbeSettings pour l’ensemble de propriétés configurables.
readiness_probe Objet Paramètres de la sonde de préparation pour la validation si le conteneur est prêt à servir le trafic. Consultez ProbeSettings pour l’ensemble de propriétés configurables.
request_settings Objet Demander des paramètres pour le déploiement. Consultez RequestSettings pour l’ensemble de propriétés configurables.

ProbeSettings

Clé Catégorie Description Valeur par défaut
failure_threshold integer En cas d’échec d’une sonde, le système tente failure_threshold des heures avant de renoncer. Abandonner dans le cas d’une sonde liveness signifie que le conteneur est redémarré. Dans le cas d’une sonde de préparation, le conteneur est marqué Comme non lu. La valeur minimale est 1. 30
initial_delay integer Nombre de secondes après le démarrage du conteneur avant le lancement de la sonde. La valeur minimale est 1. 10
method string Méthode HTTP à utiliser pour la sonde.
path string Chemin d’accès de la sonde.
period integer Fréquence (en secondes) d’exécution de la sonde. 10
port integer Port à sonder.
scheme string Schéma à utiliser pour la sonde (par exemple, HTTP ou HTTPS).
success_threshold integer Nombre minimal de réussites consécutives pour que la probe soit considérée comme réussie après avoir échoué. La valeur minimale est 1. 1
timeout integer Nombre de secondes après lesquelles la sonde expire. La valeur minimale est 1. 2

RequestSettings

Clé Catégorie Description Valeur par défaut
request_timeout_ms integer Délai d’expiration de la requête en millisecondes. 5000
max_concurrent_requests_per_instance integer Nombre maximal de requêtes simultanées par instance autorisées pour le déploiement. 1

Remarks

Les modèles de déploiement fournissent une configuration réutilisable pour le déploiement de modèles. Ils définissent l’environnement, les paramètres d’infrastructure et les configurations de sonde qui peuvent être appliqués lors de la création de déploiements.

Exemples

Des exemples sont présentés ci-dessous.

YAML : de base

$schema: https://azuremlschemas.azureedge.net/latest/deploymentTemplate.schema.json
name: my-deployment-template
version: 1
description: Basic deployment template example
deployment_template_type: Managed
environment: azureml://registries/my-registry/environments/my-environment/versions/1
instance_count: 1
default_instance_type: Standard_DS3_v2
scoring_path: /score
scoring_port: 5001

YAML : avec des variables d’environnement et des sondes

$schema: https://azuremlschemas.azureedge.net/latest/deploymentTemplate.schema.json
name: my-deployment-template
version: 1
description: Deployment template with environment variables and health probes
display_name: My deployment template
deployment_template_type: Managed
environment: azureml://registries/azureml/environments/minimal-ubuntu20.04-py38-cpu-inference/versions/latest
environment_variables:
  MODEL_PATH: /var/azureml-app/model
  SCORING_TIMEOUT: "60"
instance_count: 3
default_instance_type: Standard_DS3_v2
scoring_path: /score
scoring_port: 8080
liveness_probe:
  initial_delay: 30
  period: 10
  timeout: 2
  success_threshold: 1
  failure_threshold: 3
readiness_probe:
  initial_delay: 10
  period: 5
  timeout: 2
  success_threshold: 1
  failure_threshold: 3
request_settings:
  request_timeout_ms: 10000
  max_concurrent_requests_per_instance: 2

YAML : avec les types d’instances autorisés

$schema: https://azuremlschemas.azureedge.net/latest/deploymentTemplate.schema.json
name: my-deployment-template-restricted
version: 1
description: Deployment template with instance type restrictions
deployment_template_type: Managed
environment: azureml://registries/my-registry/environments/my-environment/versions/1
instance_count: 1
default_instance_type: Standard_DS3_v2
allowed_instance_types:
  - Standard_DS3_v2
  - Standard_DS4_v2
scoring_path: /score
scoring_port: 5001

YAML : avec les types d’instances autorisés (liste)

$schema: https://azuremlschemas.azureedge.net/latest/deploymentTemplate.schema.json
name: my-deployment-template-multi
version: 1
description: Deployment template that allows multiple instance types
deployment_template_type: Managed
environment: azureml://registries/my-registry/environments/my-environment/versions/1
instance_count: 1
default_instance_type: Standard_DS3_v2
allowed_instance_types:
  - Standard_DS3_v2
  - Standard_DS4_v2
  - Standard_DS5_v2
scoring_path: /score
scoring_port: 5001

YAML : avec le chemin de montage du modèle

$schema: https://azuremlschemas.azureedge.net/latest/deploymentTemplate.schema.json
name: my-deployment-template-custom-mount
version: 1
description: Deployment template with custom model mount path
deployment_template_type: Managed
environment: azureml://registries/my-registry/environments/my-environment/versions/1
instance_count: 1
default_instance_type: Standard_DS3_v2
scoring_path: /score
scoring_port: 5001
model_mount_path: /var/azureml-app/models

Étapes suivantes