Monitorizar o Azure Machine Learning

Quando tem aplicações críticas e processos de negócio que dependem dos recursos do Azure, deverá querer monitorizar esses recursos quanto à disponibilidade, ao desempenho e à operação. Este artigo descreve os dados de monitorização gerados pela Azure Machine Learning e como analisar e alertar sobre estes dados com o Azure Monitor.

Dica

A informação neste documento é principalmente para administradores, uma vez que descreve a monitorização para o serviço de Aprendizagem automática Azure e serviços Azure associados. Se é cientista ou desenvolvedor de dados e pretende monitorizar informações específicas das suas séries de formação de modelos, consulte os seguintes documentos:

Se pretender monitorizar as informações geradas por modelos implantados em pontos finais online, consulte os pontos finais online do Monitor.

O que é o Azure Monitor?

A Azure Machine Learning cria dados de monitorização usando o Azure Monitor, que é um serviço completo de monitorização de pilhas em Azure. O Azure Monitor proporciona um conjunto completo de funcionalidades que pode utilizar para monitorizar os recursos do Azure. Este conjunto de funcionalidades também pode monitorizar recursos noutras clouds e no local.

Comece com o artigo Monitorizar os recursos do Azure com o Azure Monitor, que descreve os seguintes conceitos:

  • O que é o Azure Monitor?
  • Custos associados à monitorização
  • Dados de monitorização recolhidos em Azure
  • Recolha de dados configurada
  • Ferramentas padrão em Azure para analisar e alertar sobre a monitorização de dados

As seguintes secções baseiam-se neste artigo descrevendo os dados específicos recolhidos para a Azure Machine Learning. Estas secções também fornecem exemplos para configurar a recolha de dados e analisar estes dados com ferramentas Azure.

Dica

Para compreender os custos associados ao Azure Monitor, consulte o Uso e os custos estimados. Para entender o tempo que os seus dados demoram a aparecer no Azure Monitor, consulte o tempo de ingestão de dados do Registo.

Dados de monitorização da Azure Machine Learning

A Azure Machine Learning recolhe os mesmos tipos de dados de monitorização que outros recursos Azure que são descritos na monitorização de dados a partir de recursos Azure.

Consulte a referência de dados de monitorização da Azure Machine Learning para uma referência detalhada dos registos e métricas criados pela Azure Machine Learning.

Recolha e encaminhamento

As métricas de plataforma e o Registo de atividades são recolhidos e armazenados automaticamente, mas podem ser encaminhados para outras localizações através de uma definição de diagnóstico.

Os registos de recursos não são recolhidos nem armazenados até que crie uma definição de diagnóstico e os encaminhe para uma ou mais localizações. Quando você precisa gerir vários espaços de trabalho Azure Machine Learning, você poderia encaminhar registos para todos os espaços de trabalho para o mesmo destino de registo e consultar todos os registos de um único lugar.

Consulte Criar definição de diagnóstico para recolher registos e métricas da plataforma em Azure para o processo detalhado para criar uma definição de diagnóstico utilizando o portal do Azure, o Azure CLI ou PowerShell. Quando cria uma definição de diagnóstico, especifica quais as categorias de registos a recolher. As categorias de Azure Machine Learning estão listadas na referência de dados de monitorização de machine learning do Azure Machine Learning.

Importante

Ativar estas definições requer serviços Azure adicionais (conta de armazenamento, centro de eventos ou Log Analytics), que podem aumentar o seu custo. Para calcular um custo estimado, visite a calculadora de preços da Azure.

Pode configurar os seguintes registos para Azure Machine Learning:

Categoria Descrição
AmlComputeClusterEvent Eventos de clusters compute Azure Machine Learning.
AmlComputeClusterNodeEvent (preterido) Eventos de nós dentro de um cluster de cálculo de aprendizagem automática Azure.
AmlComputeJobEvent Eventos de empregos em execução no cálculo Azure Machine Learning.
AmlComputeCpuGpuUtilization Serviços ML computação cpu e gPU registos de utilização.
AmlRunStatusChangedEvent ML executar alterações de estado.
ModelsChangeEvent Eventos quando o modelo ML é acedido criado ou eliminado.
ModelsReadEvent Eventos quando o modelo ML é lido.
ModelsActionEvent Eventos quando o modelo ML é acedido.
ImplementaçãoReadEvent Eventos quando um modelo é lido.
ImplantaçãoEventaCI Eventos quando uma implementação de modelo acontece no ACI (muito tagarela).
DeploymenteventAKS Eventos quando uma implementação de modelo acontece em AKS (muito tagarela).
InferencingOperationAKS Eventos para inferência ou operação relacionada no tipo de computação AKS.
InferencingOperationACI Eventos para inferência ou operação relacionada com o tipo de computação ACI.
EnvironmentChangeEvent Eventos quando as configurações de ambiente ML são criadas ou eliminadas.
EnvironmentReadEvent Eventos quando as configurações do ambiente ML são lidas (muito tagarela).
DataLabelChangeEvent Eventos quando os rótulos de dados ou os seus projetos são criados ou eliminados.
DataLabelReadEvent Eventos quando os rótulos de dados ou os seus projetos são lidos.
ComputeInstanceEvent Eventos quando ml Compute Instance é acedido (muito tagarela).
DataStoreChangeEvent Eventos quando a loja de dados ML é criada ou eliminada.
DataStoreReadEvent Eventos quando a loja de dados ML é lida.
DataSetChangeEvent Eventos quando a loja de dados ML é criada ou eliminada.
DataSetReadEvent Eventos quando a loja de dados ML é lida.
PipelineChangeEvent Eventos quando o projeto de gasoduto ML ou o ponto final ou módulo são criados ou eliminados.
PipelineReadEvent Eventos quando o projeto do gasoduto ML ou o ponto final ou módulo são lidos.
RunEvent Eventos quando as experiências ml são criadas ou eliminadas.
RunReadEvent Eventos quando as experiências da ML são lidas.

Nota

A partir de fevereiro de 2022, a categoria AmlComputeClusterNodeEvent será depreciada. Recomendamos que utilize a categoria AmlComputeClusterEvent.

Nota

Quando ativa métricas numa definição de diagnóstico, a informação de dimensão não está atualmente incluída como parte da informação enviada para uma conta de armazenamento, centro de eventos ou análise de registo.

As métricas e registos que pode recolher são discutidos nas seguintes secções.

Análise de métricas

Pode analisar métricas para Azure Machine Learning, juntamente com métricas de outros serviços Azure, abrindo métricas a partir do menu Azure Monitor . Veja Introdução ao Explorador de Métricas do Azure para obter detalhes de como utilizar esta ferramenta.

Para obter uma lista das métricas da plataforma recolhidas, consulte as métricas de referência de dados de Aprendizagem automática de Azure.

Todas as métricas para Azure Machine Learning estão no espaço de trabalho do serviço de aprendizagem automática namespace.

Métricas Explorer com espaço de trabalho de serviço de aprendizagem automática selecionado

Para referência, pode ver uma lista de todas as métricas de recursos suportadas no Azure Monitor.

Dica

Os dados das métricas do Azure Monitor estão disponíveis durante 90 dias. No entanto, ao criar gráficos apenas 30 dias podem ser visualizados. Por exemplo, se quiser visualizar um período de 90 dias, deve quebrá-lo em três gráficos de 30 dias dentro do período de 90 dias.

Filtragem e divisão

Para métricas que suportam dimensões, pode aplicar filtros usando um valor de dimensão. Por exemplo, filtrar núcleos ativos para um nome de cluster de cpu-cluster.

Também pode dividir uma métrica por dimensão para visualizar como diferentes segmentos da métrica se comparam entre si. Por exemplo, dividir o Pipeline Step Type para ver uma contagem dos tipos de passos utilizados no gasoduto.

Para obter mais informações sobre filtragem e divisão, consulte as funcionalidades avançadas do Azure Monitor.

Análise de registos

A utilização do Azure Monitor Log Analytics requer que crie uma configuração de diagnóstico e permita enviar informações para registar análises. Para mais informações, consulte a secção Recolha e encaminhamento .

Os dados em Registos monitores Azure são armazenados em tabelas, com cada mesa a ter o seu próprio conjunto de propriedades únicas. A Azure Machine Learning armazena dados nas seguintes tabelas:

Tabela Descrição
AmlComputeClusterEvent Eventos de clusters compute Azure Machine Learning.
AmlComputeClusterNodeEvent (preterido) Eventos de nós dentro de um cluster de cálculo de aprendizagem automática Azure.
AmlComputeJobEvent Eventos de empregos em execução no cálculo Azure Machine Learning.
Evento AmlComputeInstanceEvent Eventos quando a ML Compute Instance é acedida (ler/escrever). A categoria inclui:ComputeInstanceEvent (muito tagarela).
AmlDataLabelEvent Eventos quando os rótulos de dados ou os seus projetos são acedidos (ler, criar ou apagar). A categoria inclui:DataLabelReadEvent,DataLabelChangeEvent.
AmlDataSetEvent Eventos quando um conjunto de dados ML registado ou não registado é acedido (ler, criar ou apagar). A categoria inclui:DataSetReadEvent,DataSetChangeEvent.
AmlDataStoreEvent Eventos quando a loja de dados ML é acedida (ler, criar ou apagar). A categoria inclui:DataStoreReadEvent,DataStoreChangeEvent.
AmlDeploymentEvent Eventos quando uma implementação de modelo acontece em ACI ou AKS. A categoria inclui:DeploymentReadEvent,DeploymentEventACI,DeploymentEventAKS.
Evento AmlInferencingEvent Eventos para inferência ou operação relacionada com o tipo de computação AKS ou ACI. A categoria inclui:InferencingOperationACI (muito tagarela), InferencingOperationAKS (muito tagarela).
Evento AmlModelsEvent Eventos quando o modelo ML é acedido (ler, criar ou apagar). Inclui eventos quando a embalagem de modelos e ativos acontecem em pacotes prontos a construir. A categoria inclui:ModelsReadEvent,ModelsActionEvent .
Evento AmlPipelineEvent Eventos quando o projeto de gasoduto ML ou o ponto final ou módulo são acedidos (ler, criar ou apagar). A categoria inclui:PipelineReadEvent,PipelineChangeEvent.
AmlRunEvent Eventos quando as experiências ml são acedidas (ler, criar ou apagar). A categoria inclui:RunReadEvent,RunEvent.
Evento AmlEnvironmentEvent Eventos quando configurações de ambiente ML (ler, criar ou apagar). A categoria inclui:EnvironmentReadEvent (muito chatty),EnvironmentChangeEvent.

Nota

A partir de fevereiro de 2022, a tabela AmlComputeClusterNodeEvent será depreciada. Recomendamos que utilize a tabela AmlComputeClusterEvent.

Importante

Quando seleciona Logs do menu Azure Machine Learning, o Log Analytics é aberto com o âmbito de consulta definido para o espaço de trabalho atual. Isto significa que as consultas de registo só incluirão dados desse recurso. Se pretender executar uma consulta que inclua dados de outras bases de dados ou dados de outros serviços Azure, selecione Registos no menu Azure Monitor . Consulte o âmbito de consulta de registo e o intervalo de tempo no Azure Monitor Log Analytics para obter mais detalhes.

Para obter uma referência detalhada dos registos e métricas, consulte a referência de dados de monitorização da Azure Machine Learning.

Consultas de Kusto da amostra

Importante

Quando seleciona Logs do menu [nome de serviço], o Log Analytics é aberto com o âmbito de consulta definido para o atual espaço de trabalho Azure Machine Learning. Isto significa que as consultas de registo só incluirão dados desse recurso. Se pretender executar uma consulta que inclua dados de outros espaços de trabalho ou dados de outros serviços Azure, selecione Logs do menu Azure Monitor . Consulte o âmbito de consulta de registo e o intervalo de tempo no Azure Monitor Log Analytics para obter mais detalhes.

Seguem-se as consultas que pode utilizar para o ajudar a monitorizar os seus recursos de Aprendizagem automática Azure:

  • Conseguir empregos falhados nos últimos cinco dias:

    AmlComputeJobEvent
    | where TimeGenerated > ago(5d) and EventType == "JobFailed"
    | project  TimeGenerated , ClusterId , EventType , ExecutionState , ToolType
    
  • Obtenha registos de um nome de trabalho específico:

    AmlComputeJobEvent
    | where JobName == "automl_a9940991-dedb-4262-9763-2fd08b79d8fb_setup"
    | project  TimeGenerated , ClusterId , EventType , ExecutionState , ToolType
    
  • Obtenha eventos de cluster nos últimos cinco dias para clusters onde o tamanho VM é Standard_D1_V2:

    AmlComputeClusterEvent
    | where TimeGenerated > ago(4d) and VmSize == "STANDARD_D1_V2"
    | project  ClusterName , InitialNodeCount , MaximumNodeCount , QuotaAllocated , QuotaUtilized
    
  • Obtenha as alocações de nó de cluster nos últimos oito dias::

    AmlComputeClusterEvent
    | where TimeGenerated > ago(8d) and TargetNodeCount  > CurrentNodeCount
    | project TimeGenerated, ClusterName, CurrentNodeCount, TargetNodeCount
    

Quando ligar vários espaços de trabalho de Aprendizagem automática Azure ao mesmo espaço de trabalho do Log Analytics, pode consultar todos os recursos.

  • Obtenha o número de nós em execução em espaços de trabalho e aglomerados no último dia:

    AmlComputeClusterEvent
    | where TimeGenerated > ago(1d)
    | summarize avgRunningNodes=avg(TargetNodeCount), maxRunningNodes=max(TargetNodeCount)
             by Workspace=tostring(split(_ResourceId, "/")[8]), ClusterName, ClusterType, VmSize, VmPriority
    

Crie um painel de monitorização do espaço de trabalho utilizando um modelo

Um dashboard é uma visão focada e organizada dos seus recursos em nuvem no portal do Azure. Para obter mais informações sobre a criação de dashboards, consulte Criar, ver e gerir alertas métricos utilizando o Azure Monitor.

Para implementar um painel de amostras, pode utilizar um modelo disponível ao público. O painel de amostras baseia-se em consultas de Kusto, pelo que deve ativar a recolha de dados do Log Analytics para o seu espaço de trabalho Azure Machine Learning antes de implementar o painel de instrumentos.

Alertas

Pode aceder a alertas para a aprendizagem automática Azure, abrindo alertas a partir do menu Azure Monitor . Veja Criar, ver e gerir alertas de métricas com o Azure Monitor para obter detalhes acerca da criação de alertas.

As seguintes listas de tabelas são comuns e recomendadas regras de alerta métrico para a aprendizagem automática Azure:

Tipo de alerta Condição Descrição
Implementação de modelo falhou Tipo de agregação: Total, Operador: Maior do que, Valor limiar: 0 Quando uma ou mais implementações de modelos falharam
Percentagem de Utilização de Cots Tipo de agregação: Média, Operador: Maior do que, Valor limiar: 90 Quando a percentagem de utilização de quota é superior a 90%
Nódes Inutilizáveis Tipo de agregação: Total, Operador: Maior do que, Valor limiar: 0 Quando há um ou mais nódoas inutilizáveis

Passos seguintes