Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste artigo, você aprenderá a configurar aplicativos, processos ou fluxos de trabalho de CI/CD com base em eventos baseados no Azure Machine Learning. Por exemplo, você pode configurar emails de notificação de falha ou execuções de pipeline de ML quando determinadas condições são detectadas usando Grade de Eventos do Azure.
O Azure Machine Learning gerencia todo o ciclo de vida do processo de machine learning, incluindo treinamento de modelo, implantação de modelo e monitoramento. Usando a Grade de Eventos, você pode reagir a eventos Azure Machine Learning, como a conclusão de execuções de treinamento e o registro e implantação de modelos, usando arquiteturas modernas sem servidor. Em seguida, você pode assinar e consumir eventos, como alteração no status da execução, conclusão da execução, registro de modelo e implantação de modelo, dentro de um espaço de trabalho.
Use a Grade de Eventos para ações controladas por eventos:
- Enviar emails sobre falhas e conclusão de execução
- Usar uma função do Azure depois que um modelo é registrado
- Transmitir eventos do Azure Machine Learning para vários destinos
Importante
Os itens marcados (versão prévia) neste artigo estão atualmente em versão prévia pública. A versão prévia é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de funcionalidades. Para obter mais informações, veja Termos de Uso Complementares de Versões Prévias do Microsoft Azure.
Pré-requisitos
Para usar a Grade de Eventos, você precisa de acesso de colaborador ou proprietário ao Workspace do Azure Machine Learning para o qual você cria eventos.
Registre o provedor de recursos
Microsoft.EventGridna sua assinatura do Azure. Esse registro é necessário para que você possa criar assinaturas de evento.az provider register --namespace Microsoft.EventGrid --waitSe você planeja usar o exemplo do Logic Apps, registre também o provedor
Microsoft.Logic.az provider register --namespace Microsoft.Logic --waitSe você planeja seguir o exemplo da CLI, instale a
eventgridextensão CLI do Azure.az extension add --name eventgridSe você planeja seguir o exemplo da CLI com o Hub de Eventos como destino, precisará de um namespace e hub existentes do Hub de Eventos. Consulte Criar um hub de eventos se você precisar criar um.
O modelo e os tipos de evento
A Grade de Eventos do Azure lê eventos de origens, como o Azure Machine Learning e outros serviços do Azure. Ele envia esses eventos para manipuladores de eventos, como Hubs de Eventos do Azure, Azure Functions, Aplicativos Lógicos e outros. O diagrama a seguir mostra como a Grade de Eventos conecta fontes e manipuladores, mas não é uma lista abrangente de integrações com suporte.
Para obter mais informações sobre fontes de eventos e manipuladores de eventos, consulte o que é a Grade de Eventos?.
Tipos de eventos para o Azure Machine Learning
Azure Machine Learning fornece eventos em vários pontos do ciclo de vida do machine learning:
| Tipo de evento | Descrição |
|---|---|
Microsoft.MachineLearningServices.RunCompleted |
Gerado quando uma execução de experimento de machine learning é concluída |
Microsoft.MachineLearningServices.ModelRegistered |
Exibido quando um novo modelo ou versão de modelo é registrado com sucesso |
Microsoft.MachineLearningServices.ModelDeployed |
Exibido quando um ou mais modelos são implantados com sucesso em um ponto de extremidade |
Microsoft.MachineLearningServices.RunStatusChanged |
Exibido quando o status de execução é alterado |
Filtrar e assinar eventos
Grade de Eventos do Azure publica esses eventos. No portal do Azure, do PowerShell ou da CLI do Azure, você pode assinar facilmente os eventos especificando um ou mais tipos de evento e filtrando as condições.
Ao configurar seus eventos, aplique filtros para disparar apenas em dados de evento específicos. No exemplo a seguir, para eventos de status de execução alterado, é possível filtrar por tipos de execução. O evento só dispara quando os critérios são atendidos. Para obter mais informações sobre os dados de evento nos quais você pode filtrar, consulte o esquema da Grade de Eventos do Azure Machine Learning.
O controle de acesso baseado em função do Azure (Azure RBAC) protege as assinaturas de eventos do Azure Machine Learning. Somente um colaborador ou proprietário do workspace pode criar, atualizar e excluir assinaturas de evento. Você pode aplicar filtros a assinaturas de evento durante a criação da assinatura do evento ou em um momento posterior.
Acesse o portal do Azure, selecione uma nova assinatura ou uma existente.
Selecione a entrada Eventos no painel esquerdo e selecione + Assinatura de evento.
Selecione a guia filtros e role para baixo até filtros Avançados. Em Chave e Valor, defina os tipos de propriedade que você quer filtrar. Aqui você pode ver que o evento é disparado quando o tipo de execução for uma execução de pipeline ou etapa de pipeline.
Filtrar por tipo de evento: uma assinatura de evento pode especificar um ou mais tipos de evento do Azure Machine Learning.
Filtrar por assunto do evento: a Grade de Eventos do Azure é compatível com filtros de assuntos baseados em correspondências de começa com e termina com, para que os eventos com o assunto correspondente sejam entregues ao assinante. Diferentes eventos de machine learning têm um formato de assunto distinto.
Tipo de evento Formato do assunto Exemplo de assunto 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_38dbaa94Filtragem avançada: a Grade de Eventos do Azure também é compatível com a filtragem avançada com base no esquema de evento publicado. Os detalhes do esquema de eventos do Azure Machine Learning podem ser encontrados em Esquema de eventos da Grade de Eventos do Azure para o Azure Machine Learning. Para o evento
Microsoft.MachineLearningServices.ModelRegistered, filtrar o valor da tag do modelo:--advanced-filter data.ModelTags.key1 StringIn value1Para saber mais sobre como aplicar filtros, confira Filtrar eventos para a Grade de Eventos.
Consumir eventos do Machine Learning
Aplicativos que manipulam eventos do Machine Learning devem seguir algumas práticas recomendadas:
- Como várias assinaturas podem rotear eventos para o mesmo manipulador de eventos, não suponha que os eventos sejam de uma fonte específica. Verifique o tópico da mensagem para garantir que ela venha do espaço de trabalho de aprendizado de máquina que você espera.
- Da mesma forma, verifique se o eventType é aquele que você pode processar. Não suponha que todos os eventos recebidos sejam os tipos esperados.
- Como as mensagens podem chegar fora de ordem e após algum atraso, use os campos de etag para entender se suas informações sobre objetos ainda estão atualizadas. Além disso, use os campos do sequenciador para entender a ordem de eventos em qualquer objeto específico.
- Ignore os campos que você não entende. Essa prática ajuda a mantê-lo resiliente a novos recursos que podem ser adicionados no futuro.
- Operações de Azure Machine Learning com falha ou canceladas não disparam um evento. Por exemplo, se uma implantação de modelo falhar, Microsoft.MachineLearningServices.ModelDeployed não é acionado. Considere esse modo de falha ao projetar seus aplicativos. Você sempre pode usar Azure Machine Learning SDK, CLI ou portal para verificar o status de uma operação e entender os motivos detalhados da falha.
O Grade de Eventos do Azure permite criar manipuladores de mensagens desacoplados, que podem ser acionados por eventos do Azure Machine Learning. Alguns exemplos notáveis de manipuladores de mensagens incluem:
- Azure Functions
- Aplicativo Lógico do Azure
- Hubs de Eventos do Azure
- Pipeline do Azure Data Factory
- Webhooks genéricos, que você pode hospedar na plataforma Azure ou em outro lugar
Configurar no portal do Azure
Abra o portal do Azure e acesse o Workspace do Azure Machine Learning.
Na barra à esquerda, selecione Eventos e Assinaturas de Evento.
Selecione o tipo de evento a ser consumido.
Selecione o ponto de extremidade para publicar o evento. Na seguinte captura de tela, o Hub de eventos é o ponto de extremidade selecionado:
Ao confirmar sua seleção, selecione Criar. Após a configuração, esses eventos são enviados para o seu endpoint.
Para confirmar se a assinatura foi criada , selecione>Assinaturas de Eventos em seu workspace e verifique se sua nova assinatura aparece na lista.
Configurar com a CLI
Você pode instalar o CLI do Azure mais recente ou usar o Azure Cloud Shell fornecido como parte de sua assinatura Azure. Instale a eventgrid extensão, conforme descrito em Pré-requisitos.
O exemplo a seguir demonstra como selecionar uma assinatura Azure e criar uma nova assinatura de evento para 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"
Para confirmar se a assinatura foi criada com êxito, execute:
az eventgrid event-subscription show \
--name {eventGridFilterName} \
--source-resource-id /subscriptions/{subId}/resourceGroups/{RG}/providers/Microsoft.MachineLearningServices/workspaces/{wsName}
Exemplos
Exemplo: enviar alertas de email
Use os Aplicativos Lógicos do Azure para configurar emails para todos os seus eventos. Personalize com condições e especifique os destinatários para permitir a colaboração e o reconhecimento entre equipes que trabalham juntas.
Na portal do Azure, acesse o Workspace do Azure Machine Learning e selecione a guia de eventos na barra à esquerda. Nela, selecione Aplicativos Lógicos.
Faça login na interface do usuário do Logic App e selecione o serviço de Machine Learning como o tipo de tópico.
Selecione o evento para o qual você deseja ser notificado. Por exemplo, a captura de tela a seguir mostra RunCompleted.
Em seguida, adicione uma etapa para consumir esse evento e pesquise o email. Há várias contas de email diferentes que você pode usar para receber eventos. Você também pode configurar condições sobre quando enviar um alerta por email.
Selecione Enviar um email e preencha os parâmetros. No assunto, inclua o Tipo de Evento e o Tópico para ajudar a filtrar eventos. Você também pode incluir um link para a página do workspace para as execuções no corpo da mensagem.
Para salvar essa ação, selecione Salvar Como no canto esquerdo da página.
Para verificar se o alerta funciona, dispare um evento de qualificação - por exemplo, conclua uma execução de treinamento - e confirme se o email chega aos destinatários especificados.
Próximas etapas
Para saber mais sobre a Grade de Eventos e experimentar Azure Machine Learning eventos, confira: