Étapes de mise à niveau des services web Azure Container Instances vers des points de terminaison en ligne managés

Les points de terminaison en ligne managés vous aident à déployer vos modèles ML en un tournemain. Les points de terminaison en ligne managés fonctionnent avec des ordinateurs de processeur et GPU puissants dans Azure de manière évolutive et entièrement gérée. Les points de terminaison en ligne gérés prennent en charge la fourniture, la mise à l’échelle et le monitoring de vos modèles, ce qui vous évite la surcharge liée à la configuration et à la gestion de l’infrastructure sous-jacente. Vous trouverez des détails dans Déployer et scorer un modèle Machine Learning en utilisant un point de terminaison en ligne.

Vous pouvez faire le déploiement directement sur la nouvelle cible de calcul avec vos modèles et environnements précédents, ou utiliser les scripts que nous fournissons pour exporter les services actuels, puis faire le déploiement sur la nouvelle ressource de calcul sans impacter vos services existants. Si vous créez et supprimez régulièrement des services web Azure Container Instances (ACI), nous vous recommandons vivement de déployer directement et de ne pas utiliser les scripts.

Important

L’URL de scoring change après la mise à niveau. Par exemple, l’URL de scoring pour le service web ACI ressemble à ceci : http://aaaaaa-bbbbb-1111.westus.azurecontainer.io/score. L’URI de scoring pour un point de terminaison en ligne managé ressemble à ceci : https://endpoint-name.westus.inference.ml.azure.com/score.

Scénarios pris en charge et différences

Mode d’authentification

Aucune authentification n’est prise en charge pour le point de terminaison en ligne managé. Si vous utilisez les scripts de mise à niveau, cela devient une authentification par clé. Pour l’authentification par clé, les clés d’origine sont utilisées. L’authentification basée sur un jeton est également prise en charge.

TLS

Pour le service ACI sécurisé avec HTTPS, vous n’avez plus besoin de fournir vos propres certificats, tous les points de terminaison en ligne managés sont protégés par TLS.

Les noms DNS personnalisés ne sont pas pris en charge.

Besoins en ressources

ContainerResourceRequirements n’est pas pris en charge, vous pouvez choisir la référence SKU appropriée pour votre inférence. L’outil de mise à niveau associe le processeur/la mémoire requis à la référence SKU correspondante. Si vous choisissez de redéployer manuellement via CLI/SDK V2, nous vous suggérons aussi la référence SKU correspondante pour votre nouveau déploiement.

Demande d’UC Mémoire demandée en Go Référence SKU suggérée
(0, 1] (0, 1.2] DS1 V2
(1, 2] (1.2, 1.7] F2s V2
(1, 2] (1.7, 4.7] DS2 V2
(1, 2] (4.7, 13.7] E2s V3
(2, 4] (0, 5.7] F4s V2
(2, 4] (5.7, 11.7] DS3 V2
(2, 4] (11.7, 16] E4s V3

« ( » signifie supérieur à et « ] » signifie inférieur ou égal à. Par exemple, « (0, 1] » signifie « supérieur à 0 et inférieur ou égal à 1 ».

Important

Lors de la mise à niveau à partir d’ACI, quelques changements sont apportés à la façon dont vous êtes facturé. Consultez notre blog pour une comparaison sommaire des coûts qui vous aidera à choisir les bonnes références SKU de machine virtuelle pour votre charge de travail.

Isolement réseau

Pour les scénarios d’espace de travail privé et de réseau virtuel, consultez Utiliser l’isolement réseau avec des points de terminaison en ligne managés.

Important

Comme il existe de nombreux paramètres pour votre espace de travail et votre réseau virtuel, nous vous suggérons vivement de redéployer via l’extension Azure CLI v2 pour le machine learning au lieu de l’outil de script.

Non pris en charge

  • EncryptionProperties pour un conteneur ACI n’est pas pris en charge.
  • Les services web ACI déployés via deploy_from_model et deploy_from_image ne sont pas pris en charge par l’outil de mise à niveau. Redéployez manuellement via CLI/SDK V2.

Étapes de la mise à niveau

Avec notre interface de ligne de commande ou notre Kit de développement logiciel (SDK)

Redéployez manuellement avec vos fichiers de modèle et votre définition d’environnement. Vous trouverez nos exemples sur azureml-examples. Plus précisément, il s’agit de l’exemple de SDK pour point de terminaison en ligne managé.

Avec notre outil de mise à niveau

Cet outil crée automatiquement un point de terminaison en ligne managé en fonction de vos services web existants. Vos services d’origine ne seront pas affectés. Vous pouvez acheminer le trafic en toute sécurité vers le nouveau point de terminaison, puis supprimer l’ancien.

Notes

Le script de mise à niveau est un exemple de script qui est fourni sans contrat de niveau de service (SLA).

Utilisez les étapes suivantes pour exécuter les scripts :

Conseil

Le nouveau point de terminaison créé par les scripts est créé sous le même espace de travail.

  1. Utilisez un interpréteur de commandes bash pour exécuter les scripts. Par exemple, une session de terminal sur Linux ou le Sous-système Windows pour Linux (WSL).

  2. Installez le SDK Python V1 pour exécuter le script Python.

  3. Installez Azure CLI.

  4. Clonez le référentiel dans votre environnement local. Par exemple : git clone https://github.com/Azure/azureml-examples.

  5. Modifiez les valeurs suivantes dans le fichier migrate-service.sh. Remplacez les valeurs par celles qui s’appliquent à votre configuration.

    • <SUBSCRIPTION_ID> - ID d’abonnement de votre abonnement Azure contenant votre espace de travail.
    • <RESOURCEGROUP_NAME> - Groupe de ressources qui contient votre espace de travail.
    • <WORKSPACE_NAME> - Nom de l’espace de travail.
    • <SERVICE_NAME> - Nom de votre service ACI existant.
    • <LOCAL_PATH> - Chemin local où les ressources et modèles utilisés par le script sont téléchargés.
    • <NEW_ENDPOINT_NAME> - Nom du nouveau point de terminaison qui va être créé. Pour le nouveau point de terminaison, nous vous recommandons de choisir un autre nom que le nom du service précédent. Sinon, le service d’origine ne s’affiche pas si vous vérifiez vos points de terminaison dans le portail.
    • <NEW_DEPLOYMENT_NAME> - Nom du déploiement sur le nouveau point de terminaison.
  6. Exécutez le script bash. Par exemple : ./migrate-service.sh. Il faut environ 5 à 10 minutes pour terminer le nouveau déploiement.

    Conseil

    Si vous recevez une erreur indiquant que le script n’est pas exécutable ou qu’un éditeur s’ouvre lorsque vous essayez d’exécuter le script, utilisez la commande suivante pour marquer le script comme exécutable :

    chmod +x migrate-service.sh
    
  7. Une fois le déploiement correctement terminé, vous pouvez vérifier le point de terminaison avec la commande az ml online-endpoint invoke.

Nous contacter

Si vous avez des questions ou des commentaires sur le script de mise à niveau, contactez-nous à l’adresse moeonboard@microsoft.com.

Étapes suivantes