Migrer vers la mise en service de modèles
Cet article montre comment activer Model Service sur votre espace de travail et basculer vos modèles vers l’expérience de service de modèle d’IA De Mosaïque basée sur le calcul serverless.
Spécifications
- Modèle inscrit dans le Registre de modèles MLflow.
- Les autorisations sur les modèles inscrits sont décrites dans le guide de contrôle d’accès.
- Activer le calcul serverless sur votre espace de travail.
Modifications importantes
- Dans Model Serving, le format de la requête au point de terminaison et la réponse du point de terminaison sont légèrement différents du Model Serving MLflow hérité. Consultez Scoring d’un point de terminaison de modèle pour plus d’informations sur le nouveau protocole de format.
- Dans Model Serving, l’URL du point de terminaison inclut
serving-endpoints
au lieu demodel
. - Model Serving inclut une prise en charge complète de la gestion des ressources avec des flux de travail d’API.
- Model Serving est prêt pour la production et soutenu par le SLA Azure Databricks.
Migrer les modèles servis du Model Serving MLflow hérité vers Model Serving
Vous pouvez créer un point de terminaison Model Serving et effectuer une transition flexible des flux de travail de service de modèle sans désactiver le Model Serving MLflow hérité.
Les étapes suivantes montrent comment effectuer cette opération avec l’interface utilisateur. Pour chaque modèle sur lequel le Model Serving MLflow hérité est activé :
- Inscrivez votre modèle dans le catalogue Unity.
- Accédez à Points de terminaison de service dans la barre latérale de votre espace de travail Machine Learning.
- Suivez la procédure décrite dans Créer et configurer des points de terminaison de mise en service de modèles pour créer un point de terminaison de mise en service avec votre modèle.
- Effectuez la transition de votre application pour utiliser la nouvelle URL fournie par le point de terminaison de service pour interroger le modèle, ainsi que le nouveau format de scoring.
- Lorsque vos modèles sont transférés, vous pouvez accéder à Modèles dans la barre latérale de votre espace de travail Machine Learning.
- Sélectionnez le modèle pour lequel vous souhaitez désactiver la mise en servie de modèles MLflow héritée.
- Sous l’onglet Serving (Mise en service), sélectionnez Stop (Arrêter).
- Un message de confirmation s’affiche. Sélectionnez Stop Serving (Arrêter la mise en service).
Migrer des versions de modèle déployées vers Model Serving
Dans les versions précédentes de la fonctionnalité Model Serving, le point de terminaison de service a été créé en fonction de l’étape de la version de modèle inscrite : Staging
ou Production
. Pour migrer vos modèles servis à partir de cette expérience, vous pouvez répliquer ce comportement dans la nouvelle expérience Model Serving.
Cette section montre comment créer des points de terminaison de service de modèle distincts pour les versions de modèles Staging
et Production
. Les étapes suivantes montrent comment effectuer cette opération avec l’API de points de terminaison de service pour chacun de vos modèles servis.
Dans l’exemple, le nom du modèle inscrit modelA
a la version 1 dans l’étape du modèle Production
et la version 2 dans l’étape du modèle Staging
.
Créez deux points de terminaison pour votre modèle inscrit, un pour les versions de modèle
Staging
et un autre pour les versions de modèleProduction
.Pour les versions des modèles
Staging
:POST /api/2.0/serving-endpoints { "name":"modelA-Staging" "config": { "served_entities": [ { "entity_name":"model-A", "entity_version":"2", // Staging Model Version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }, }
Pour les versions des modèles
Production
:POST /api/2.0/serving-endpoints { "name":"modelA-Production" "config": { "served_entities": [ { "entity_name":"model-A", "entity_version":"1", // Production Model Version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }, }
Vérifiez l’état des points de terminaison.
Pour le point de terminaison de mise en lots :
GET /api/2.0/serving-endpoints/modelA-Staging
Pour le point de terminaison de production :
GET /api/2.0/serving-endpoints/modelA-Production
Une fois les points de terminaison prêts, interrogez le point de terminaison à l’aide de :
Pour le point de terminaison de mise en lots :
POST /serving-endpoints/modelA-Staging/invocations
Pour le point de terminaison de production :
POST /serving-endpoints/modelA-Production/invocations
Mettez à jour le point de terminaison en fonction des transitions de version du modèle.
Dans le scénario où un nouveau modèle version 3 est créé, vous pouvez faire passer le modèle version 2 à
Production
, tandis que la version 3 du modèle peut passer àStaging
et la version 1 du modèle estArchived
. Ces modifications peuvent être reflétées dans des points de terminaison de service de modèle distincts comme suit :Pour le point de terminaison
Staging
, mettez à jour le point de terminaison pour utiliser la nouvelle version du modèle dansStaging
.PUT /api/2.0/serving-endpoints/modelA-Staging/config { "served_entities": [ { "entity_name":"model-A", "entity_version":"3", // New Staging model version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }
Pour le point de terminaison
Production
, mettez à jour le point de terminaison pour utiliser la nouvelle version du modèle dansProduction
.PUT /api/2.0/serving-endpoints/modelA-Production/config { "served_entities": [ { "entity_name":"model-A", "entity_version":"2", // New Production model version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }
Migrer des workflows d’inférence MosaicML vers le service de modèles
Cette section fournit des conseils sur la migration de vos déploiements d’inférence MosaicML vers le service de modèles Mosaic AI et comprend un exemple de notebook.
Le tableau suivant récapitule la parité entre l’inférence MosaicML et le service de modèles sur Azure Databricks.
Inférence MosaicML | Service de modèles Mosaic AI |
---|---|
create_inference_deployment | Créer un point de terminaison de service de modèles |
update_inference_deployment | Mettre à jour un point de terminaison de service de modèles |
delete_inference_deployment | Supprimer un point de terminaison de service de modèles |
get_inference_deployment | Obtenir l’état d’un point de terminaison de service de modèles |
Le notebook suivant fournit un exemple guidé de migration d’un modèle llama-13b
de MosaicML vers le service de modèles Mosaic AI.