Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans cet article, vous allez apprendre à configurer des applications, des processus ou des flux de travail CI/CD basés sur des événements Azure Machine Learning. Par exemple, vous pouvez configurer des e-mails de notification d’échec ou des exécutions de pipeline ML lorsque certaines conditions sont détectées à l’aide de Azure Event Grid.
Azure Machine Learning gère l’ensemble du cycle de vie du processus Machine Learning, notamment l’entraînement du modèle, le déploiement de modèle et la surveillance. En utilisant Event Grid, vous pouvez réagir à des événements Azure Machine Learning, tels que la fin des exécutions d’entraînement et l’inscription et le déploiement de modèles, à l’aide d’architectures serverless modernes. Vous pouvez ensuite vous abonner à des événements tels que le changement d’état d’exécution, la fin de l’exécution, l’enregistrement de modèle et le déploiement de modèle dans un espace de travail, et les consommer.
Utilisez Event Grid pour les actions pilotées par les événements :
- Envoyer des e-mails à la fin d’une exécution et en cas d’échec d’exécution
- Utiliser une fonction Azure après l’inscription d’un modèle
- Diffuser des événements de Azure Machine Learning vers différents points de terminaison
Important
Les éléments marqués (préversion) dans cet article sont actuellement en préversion publique. La préversion est fournie sans contrat de niveau de service et n’est pas recommandée pour les charges de travail en production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.
Prérequis
Pour utiliser Event Grid, vous devez avoir un accès contributeur ou propriétaire à l’espace de travail Azure Machine Learning pour lequel vous allez créer des événements.
Enregistrez le fournisseur de ressources
Microsoft.EventGriddans votre abonnement Azure. Cette inscription est requise avant de pouvoir créer des abonnements aux événements.az provider register --namespace Microsoft.EventGrid --waitSi vous envisagez d’utiliser l’exemple Logic Apps, inscrivez également le
Microsoft.Logicfournisseur.az provider register --namespace Microsoft.Logic --waitSi vous envisagez de suivre l’exemple CLI, installez l’extension
eventgridAzure CLI.az extension add --name eventgridSi vous envisagez de suivre l’exemple CLI avec Event Hub comme destination, vous avez besoin d’un espace de noms et d’un hub Event Hub existants. Consultez Créer un event Hub si vous devez en créer un.
Modèle et types d’événements
Azure Event Grid lit les événements à partir de sources, comme Azure Machine Learning et d’autres services Azure. Il envoie ces événements à des gestionnaires d’événements tels que Azure Event Hubs, Azure Functions, Logic Apps et d’autres. Le diagramme suivant montre comment Event Grid connecte des sources et des gestionnaires, mais il n’est pas une liste complète des intégrations prises en charge.
Pour plus d’informations sur les sources d’événements et les gestionnaires d’événements, consultez Qu’est-ce que Event Grid ?.
Types d’événements pour Azure Machine Learning
Azure Machine Learning fournit des événements à différents points du cycle de vie du Machine Learning :
| Type d'événement | Descriptif |
|---|---|
Microsoft.MachineLearningServices.RunCompleted |
Déclenché lors de l’exécution d’une expérience Machine Learning terminée |
Microsoft.MachineLearningServices.ModelRegistered |
Déclenché lorsqu’un nouveau modèle ou une nouvelle version de modèle est enregistré avec succès |
Microsoft.MachineLearningServices.ModelDeployed |
Déclenché lorsqu’un ou plusieurs modèles sont correctement déployés sur un point de terminaison |
Microsoft.MachineLearningServices.RunStatusChanged |
Déclenché lorsqu’un statut d’exécution change |
Filtrer et s’abonner aux événements
Azure Event Grid publie ces événements. À l’aide du Portail Microsoft Azure, de PowerShell ou d'Azure CLI, les clients peuvent facilement s’abonner aux événements en spécifiant un ou plusieurs types d’événements, et en filtrant des conditions.
Lors de la configuration de vos événements, appliquez des filtres afin de ne déclencher les événements qu’en fonction de données d’événement spécifiques. Dans l’exemple ci-dessous, pour les événements de modification de l’état d’exécution, vous pouvez filtrer par type d’exécution. L’événement se déclenche uniquement lorsque les critères sont satisfaits. Pour plus d’informations sur les données d’événement sur lesquelles vous pouvez filtrer, consultez le schémaAzure Machine Learning Event Grid.
Azure contrôle d’accès en fonction du rôle (Azure RBAC) protège les abonnements pour les événements Azure Machine Learning. Seul le contributeur ou propriétaire d’un espace de travail peut créer, mettre à jour et supprimer des abonnements aux événements. Vous pouvez appliquer des filtres aux abonnements aux événements lors de la création de l’abonnement à l’événement ou ultérieurement.
Accédez au Portail Azure, sélectionnez un nouvel abonnement ou un abonnement existant.
Sélectionnez l’entrée Événements dans le volet gauche, puis sélectionnez + Abonnement Aux événements.
Sélectionnez l’onglet Filtres et faites défiler jusqu’aux filtres avancés. Pour les champs Clé et Valeur, fournissez les types de propriété par lesquels vous souhaitez filtrer. Ici, vous pouvez voir que l’événement se déclenche uniquement lorsque le type d’exécution est une exécution de pipeline ou une exécution d’étape de pipeline.
Filtrer par type d’événement : un abonnement aux événements peut spécifier un ou plusieurs types d’événements Azure Machine Learning.
Filtrer par sujet d’événement : Azure Event Grid prend en charge les filtres de sujet reposant sur les correspondances commence par et se termine par, afin que les événements dont l’objet correspond soient remis à l’abonné. Des événements d’apprentissage automatique différents ont un format de sujet différent.
Type d'événement Format du sujet Exemple de sujet Microsoft.MachineLearningServices.RunCompletedexperiments/{ExperimentId}/runs/{RunId}experiments/b1d7966c-f73a-4c68-b846-992ace89551f/runs/my_exp1_1554835758_38dbaa94Microsoft.MachineLearningServices.ModelRegisteredmodels/{modelName}:{modelVersion}models/sklearn_regression_model:3Microsoft.MachineLearningServices.ModelDeployedendpoints/{serviceId}endpoints/my_sklearn_aksMicrosoft.MachineLearningServices.RunStatusChangedexperiments/{ExperimentId}/runs/{RunId}experiments/b1d7966c-f73a-4c68-b846-992ace89551f/runs/my_exp1_1554835758_38dbaa94Filtrage avancé : Azure Event Grid prend également en charge le filtrage avancé basé sur le schéma d’événement publié. D’avantage d’informations sur le schéma des événement Azure Machine Learning peuvent être trouvées dans Schéma des événements Azure Event Grid pour Azure Machine Learning. Pour l’événement
Microsoft.MachineLearningServices.ModelRegistered, afin de filtrer la valeur de balise du modèle :--advanced-filter data.ModelTags.key1 StringIn value1Pour en savoir plus sur l’application de filtres, consultez Filtrer des événements pour Event Grid.
Consommer des événements Machine Learning
Les applications qui gèrent des événements Machine Learning doivent suivre certaines pratiques recommandées :
- Étant donné que plusieurs abonnements peuvent acheminer des événements vers le même gestionnaire d’événements, ne supposez pas que les événements proviennent d’une source particulière. Vérifiez l’objet du message pour vous assurer qu’il provient de l’espace de travail d’apprentissage automatique auquel vous vous attendez.
- De même, vérifiez que l’eventType est celui que vous pouvez traiter. Ne supposez pas que tous les événements que vous recevez sont les types attendus.
- Les messages pouvant arriver en désordre et après un certain temps, utilisez les champs etag pour comprendre si vos informations sur les objets sont toujours à jour. En outre, utilisez les champs de séquence pour comprendre l’ordre des événements sur un objet particulier.
- Ignorez les champs que vous ne comprenez pas. Cette pratique vous permet de rester résilient aux nouvelles fonctionnalités qui peuvent être ajoutées à l’avenir.
- Les opérations d'Azure Machine Learning ayant échoué ou annulées ne déclenchent pas d'événement. Par exemple, si un déploiement de modèle échoue, Microsoft. MachineLearningServices.ModelDeployed n'est pas déclenché. Prenez en compte ce mode d’échec lors de la conception de vos applications. Vous pouvez toujours utiliser Azure Machine Learning SDK, CLI ou portail pour vérifier l’état d’une opération et comprendre les raisons détaillées de l’échec.
Azure Event Grid vous permet de créer des gestionnaires de messages découplés, pouvant être déclenchés par des événements Azure Machine Learning. Voici quelques exemples notables de gestionnaires de messages :
- Les fonctions Azure
- Azure Logic Apps
- Azure Event Hubs
- Pipeline Azure Data Factory
- Webhooks génériques, que vous pouvez héberger sur la plateforme Azure ou ailleurs
Configuré dans le portail Azure
Ouvrez le Portail Azure et accédez à votre espace de travail Azure Machine Learning.
Dans la barre de gauche, sélectionnez Événements puis sélectionnez Abonnements aux événements.
Sélectionnez le type d’événement à consommer.
Sélectionnez le point de terminaison sur lequel publier l’événement. Dans la capture d’écran suivante, Event Hub est le point de terminaison sélectionné :
Lorsque vous confirmez votre sélection, sélectionnez Créer. Après la configuration, ces événements sont envoyés à votre point de terminaison.
Pour confirmer que l’abonnement a été créé, sélectionnez Événements>Abonnements aux événements dans votre espace de travail et vérifiez que votre nouvel abonnement apparaît dans la liste.
Configurer avec l’interface CLI
Vous pouvez installer la dernière Azure CLI ou utiliser le Azure Cloud Shell fourni dans le cadre de votre abonnement Azure. Veillez à installer l’extension eventgrid , comme décrit dans Conditions préalables.
L’exemple suivant montre comment sélectionner un abonnement Azure et créer un abonnement d’événement pour Azure Machine Learning :
# Select the Azure subscription that contains the workspace
az account set --subscription "<name or ID of the subscription>"
# Subscribe to the machine learning workspace. This example uses EventHub as a destination.
az eventgrid event-subscription create --name {eventGridFilterName} \
--source-resource-id /subscriptions/{subId}/resourceGroups/{RG}/providers/Microsoft.MachineLearningServices/workspaces/{wsName} \
--endpoint-type eventhub \
--endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/n1/eventhubs/EH1 \
--included-event-types Microsoft.MachineLearningServices.ModelRegistered \
--subject-begins-with "models/mymodelname"
Pour confirmer que l’abonnement a été créé avec succès, exécutez :
az eventgrid event-subscription show \
--name {eventGridFilterName} \
--source-resource-id /subscriptions/{subId}/resourceGroups/{RG}/providers/Microsoft.MachineLearningServices/workspaces/{wsName}
Exemples
Exemple : envoyer des alertes par e-mail
Utilisez Azure Logic Apps pour configurer des e-mails pour tous vos événements. Personnalisez avec des conditions et spécifiez des destinataires pour permettre la collaboration et la sensibilisation entre les équipes travaillant ensemble.
Dans la Portail Azure, accédez à votre espace de travail Azure Machine Learning et sélectionnez l’onglet Événements dans la barre de gauche. À partir de là, sélectionnez Applications logiques.
Connectez-vous à l’interface utilisateur de l’application logique et sélectionnez Machine Learning service comme type de rubrique.
Sélectionnez l’événement pour lequel vous souhaitez être averti. Par exemple, la capture d’écran suivante montre RunCompleted.
Ensuite, ajoutez une étape pour utiliser cet événement et rechercher un e-mail. Il existe plusieurs comptes de messagerie différents que vous pouvez utiliser pour recevoir des événements. Vous pouvez également configurer des conditions sur le moment où envoyer une alerte par e-mail.
Sélectionnez Envoyer un e-mail et renseignez les paramètres. Dans l’objet, incluez le type d’événement et la rubrique pour aider à filtrer les événements. Vous pouvez également inclure un lien vers la page de l’espace de travail pour les exécutions dans le corps du message.
Pour enregistrer cette action, sélectionnez Enregistrer sous dans le coin gauche de la page.
Pour vérifier que l’alerte fonctionne, déclenchez un événement éligible , par exemple, terminez une exécution d’entraînement et vérifiez que l’e-mail arrive aux destinataires spécifiés.
Étapes suivantes
Pour en savoir plus sur Event Grid et essayer Azure Machine Learning événements, consultez :