Esquema YAML de agendamento da CLI (v2) para o monitoramento do modelo (versão prévia)
APLICA-SE A: Extensão de ML da CLI do Azurev2 (atual)
A sintaxe YAML detalhada neste documento baseia-se no esquema JSON da última versão da extensão de ML da CLI v2. Essa sintaxe só tem a garantia de funcionar com a última versão da extensão de ML da CLI v2. O esquema JSON abrangente pode ser visualizado em https://azuremlschemas.azureedge.net/latest/monitorSchedule.schema.json. Encontre os esquemas para as versões mais antigas da extensão em https://azuremlschemasprod.azureedge.net/.
Sintaxe YAML
Chave | Type | Descrição | Valores permitidos |
---|---|---|---|
$schema |
string | O esquema YAML. | |
name |
string | Obrigatórios. Nome da agenda. | |
description |
string | Descrição do agendamento. | |
tags |
objeto | Dicionário de marcas para o agendamento. | |
trigger |
objeto | Obrigatórios. A configuração do gatilho para definir a regra de quando disparar o trabalho. Um dos dois é obrigatório, RecurrenceTrigger ou CronTrigger . |
|
create_monitor |
objeto | Obrigatórios. A definição do monitor que será disparado por um agendamento. MonitorDefinition é obrigatório. |
Configuração de gatilho
Gatilho de recorrência
Chave | Type | Descrição | Valores permitidos |
---|---|---|---|
type |
string | Obrigatórios. Especifica o tipo de agendamento. | recurrence |
frequency |
string | Obrigatórios. Especifica a unidade de tempo que descreve a frequência com que o agendamento é acionado. | minute , hour , day , week , month |
interval |
Número inteiro | Obrigatórios. Especifica o intervalo no qual o agendamento é acionado. | |
start_time |
string | Descreve a data e a hora de início com fuso horário. Se start_time for omitido, o primeiro trabalho será executado instantaneamente e os trabalhos futuros serão disparado com base no agendamento, dizendo que start_time será igual ao tempo criado pelo trabalho. Se a hora de início estiver no passado, o primeiro trabalho será executado no próximo tempo de execução calculado. |
|
end_time |
string | Descreve a data e a hora de término com fuso horário. Se end_time for omitido, o agendamento continuará sendo executado até que seja explicitamente desabilitado. |
|
timezone |
string | Especifica o fuso horário da recorrência. Se omitido, por padrão será UTC. | Consulte o apêndice para obter valores de fuso horário |
pattern |
objeto | Especifica o padrão da recorrência. Se o padrão for omitido, os trabalhos serão disparados de acordo com a lógica de start_time, frequência e intervalo. |
Agendamento de recorrência
O agendamento de recorrência define o padrão de recorrência, contendo hours
, minutes
e weekdays
.
- Quando a frequência é
day
, o padrão pode especificarhours
eminutes
. - Quando a frequência é
week
emonth
, o padrão pode especificarhours
,minutes
eweekdays
.
Chave | Type | Valores permitidos |
---|---|---|
hours |
inteiro ou matriz de inteiro | 0-23 |
minutes |
inteiro ou matriz de inteiro | 0-59 |
week_days |
cadeia de caracteres ou matriz de cadeias de caracteres | monday , tuesday , wednesday , thursday , friday , saturday , , sunday |
CronTrigger
Chave | Type | Descrição | Valores permitidos |
---|---|---|---|
type |
string | Obrigatórios. Especifica o tipo de agendamento. | cron |
expression |
string | Obrigatórios. Especifica a expressão cron para definir como disparar trabalhos. expressão usa a expressão crontab padrão para expressar um agendamento recorrente. Uma única expressão é composta por cinco campos delimitados por espaço:MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK |
|
start_time |
string | Descreve a data e a hora de início com fuso horário. Se start_time for omitido, o primeiro trabalho será executado instantaneamente e os trabalhos futuros serão disparados com base no agendamento, dizendo que start_time será igual à hora de criação do trabalho. Se a hora de início estiver no passado, o primeiro trabalho será executado no próximo tempo de execução calculado. | |
end_time |
string | Descreve a data e a hora de término com fuso horário. Se end_time for omitido, o agendamento continuará a ser executado até que seja explicitamente desabilitado. | |
timezone |
string | Especifica o fuso horário da recorrência. Se omitido, por padrão será UTC. | Consulte o apêndice para obter valores de fuso horário |
Definição do monitor
Chave | Type | Descrição | Valores permitidos | Valor padrão |
---|---|---|---|---|
compute |
Objeto | Obrigatório. Descrição dos recursos de computação do Pool do Spark para executar o trabalho de monitoramento. | ||
compute.instance_type |
String | Obrigatório. O tipo de instância de computação a ser usado para o pool do Spark. | 'standard_e4s_v3', 'standard_e8s_v3', 'standard_e16s_v3', 'standard_e32s_v3', 'standard_e64s_v3' | n/d |
compute.runtime_version |
String | Opcional. Define a versão do runtime do Spark. | 3.3 |
3.3 |
monitoring_target |
Objeto | Ativo(s) do Azure Machine Learning associado(s) ao monitoramento de modelos. | ||
monitoring_target.ml_task |
String | Tarefa de machine learning para o modelo. | Os valores permitidos são: classification , regression , question_answering |
|
monitoring_target.endpoint_deployment_id |
String | Opcional. A ID do ponto de extremidade/implantação do Azure Machine Learning associado no formato azureml:myEndpointName:myDeploymentName . Esse campo é obrigatório se seu ponto de extremidade/implantação tiver permitido que a coleta de dados do modelo seja usada para monitoramento do modelo. |
||
monitoring_target.model_id |
String | Opcional. A ID do modelo associado para o monitoramento do modelo. | ||
monitoring_signals |
Objeto | Dicionário dos sinais de monitoramento a serem incluídos. A chave é um nome para o sinal de monitoramento dentro do contexto do monitor e o valor é um objeto contendo uma especificação do sinal de monitoramento. Opcional para o monitoramento do modelo básico que usa os dados recentes de produção anteriores como linha de base de comparação e tem 3 sinais de monitoramento: descompasso de dados, descompasso de previsão e qualidade de dados. | ||
alert_notification |
Cadeia de caracteres ou objeto | Descrição dos destinatários da notificação do alerta. | Um dos dois destinos de alerta é permitido: azmonitoring de cadeia de caracteres ou emails de objeto que contém uma matriz de destinatários de email |
|
alert_notification.emails |
Objeto | Lista de endereços de email para receber uma notificação de alerta. |
Sinais de monitoramento
Descompasso de dados
À medida que os dados usados para treinar o modelo evoluem na produção, a distribuição dos dados pode mudar, resultando em uma incompatibilidade entre os dados de treinamento e os dados do mundo real que o modelo está sendo usado para prever. O descompasso de dados é um fenômeno que ocorre no aprendizado de máquina quando as propriedades estatísticas dos dados de entrada usados para treinar o modelo são alteradas ao longo do tempo.
Chave | Type | Descrição | Valores permitidos | Valor padrão |
---|---|---|---|---|
type |
String | Obrigatório. Tipo de sinal de monitoramento. O componente de processamento do sinal de monitoramento predefinido é carregado automaticamente de acordo com o type especificado aqui. |
data_drift |
data_drift |
production_data |
Objeto | Opcional. Descrição dos dados de produção a serem analisados para o sinal de monitoramento. | ||
production_data.input_data |
Objeto | Opcional. Descrição da fonte de dados de entrada, consulte a especificação dados de entrada do trabalho. | ||
production_data.data_context |
String | O contexto dos dados, refere-se aos dados de produção do modelo e pode ser entradas ou saídas do modelo | model_inputs |
|
production_data.data_window |
Objeto | Opcional. Janela de dados dos dados de referência a serem usados, como os dados de linha de base de comparação. | Permitir somente a janela de dados sem interrupção ou janela de dados fixa. Para usar a janela de dados sem interrupção, especifique as propriedades production_data.data_window.lookback_window_offset e production_data.data_window.lookback_window_size . Para usar as janelas de dados fixas, especifique as propriedades production_data.data_window.window_start e production_data.data_window.window_end . Todos os valores de propriedade devem estar no formato ISO8601. |
|
production_data.pre_processing_component |
String | ID do componente no formato de azureml:myPreprocessing@latest para um componente registrado. Isso é necessário se production_data.data.input_data.type for uri_folder , consulte especificação do componente de pré-processamento. |
||
reference_data |
Objeto | Opcional. Dados recentes de produção passada são usados como dados de linha de base de comparação se isso não for especificado. A recomendação é usar dados de treinamento como linha de base de comparação. | ||
reference_data.input_data |
Objeto | Descrição da fonte de dados de entrada, consulte a especificação dados de entrada do trabalho. | ||
reference_data.data_context |
String | O contexto dos dados, refere-se ao contexto em que o conjunto de dados foi usado anteriormente | model_inputs , training , test , validation |
|
reference_data.data_column_names.target_column |
Objeto | Opcional. Se os dados forem de treinamento, essa propriedade será necessária para monitorar os reference_data N principais recursos para descompasso de dados. |
||
reference_data.data_window |
Objeto | Opcional. Janela de dados dos dados de referência a serem usados, como os dados de linha de base de comparação. | Permitir somente a janela de dados sem interrupção ou janela de dados fixa. Para usar a janela de dados sem interrupção, especifique as propriedades reference_data.data_window.lookback_window_offset e reference_data.data_window.lookback_window_size . Para usar as janelas de dados fixas, especifique as propriedades reference_data.data_window.window_start e reference_data.data_window.window_end . Todos os valores de propriedade devem estar no formato ISO8601. |
|
reference_data_data.pre_processing_component |
String | ID do componente no formato de azureml:myPreprocessing@latest para um componente registrado. Isso é obrigatório se reference_data.input_data.type for uri_folder , consulte a especificação do componente de pré-processamento. |
||
features |
Objeto | Opcional. Os recursos de destino devem ser monitorados quanto ao descompasso dos dados. Alguns modelos podem ter centenas ou milhares de recursos, é sempre recomendável especificar os recursos interessados para monitoramento. | Um dos seguintes valores: lista de nomes de recursos, features.top_n_feature_importance ou all_features |
O padrão é features.top_n_feature_importance = 10 se production_data.data_context for training , caso contrário, o padrão será all_features |
alert_enabled |
Boolean | Ativar ou desativar a notificação do alerta para o sinal de monitoramento. True ou False |
||
metric_thresholds |
Objeto | Lista de propriedades de métricas e limites para o sinal de monitoramento. Quando o limite for excedido e alert_enabled for true , o usuário receberá uma notificação de alerta. |
||
metric_thresholds.numerical |
Objeto | Opcional. Lista de métricas e limites no formato key:value , key é o nome da métrica, value é o limite. |
Nomes de métrica numéricos permitidos: jensen_shannon_distance , normalized_wasserstein_distance , population_stability_index , two_sample_kolmogorov_smirnov_test |
|
metric_thresholds.categorical |
Objeto | Opcional. Lista de métricas e limites no formato 'key:value', 'key' é o nome da métrica, 'value' é o limite. | Nomes de métricas categóricas permitidos: jensen_shannon_distance , chi_squared_test , population_stability_index |
Descompasso da previsão
O descompasso do previsão rastreia as mudanças na distribuição das saídas de previsão de um modelo comparando-as com dados rotulados de validação ou teste ou dados recentes de produção anteriores.
Chave | Type | Descrição | Valores permitidos | Valor padrão |
---|---|---|---|---|
type |
String | Obrigatório. Tipo de sinal de monitoramento. O componente de processamento do sinal de monitoramento predefinido é carregado automaticamente de acordo com o type especificado aqui. |
prediction_drift |
prediction_drift |
production_data |
Objeto | Opcional. Descrição dos dados de produção a serem analisados para o sinal de monitoramento. | ||
production_data.input_data |
Objeto | Opcional. Descrição da fonte de dados de entrada, consulte a especificação dados de entrada do trabalho. | ||
production_data.data_context |
String | O contexto dos dados, refere-se aos dados de produção do modelo e pode ser entradas ou saídas do modelo | model_outputs |
|
production_data.data_window |
Objeto | Opcional. Janela de dados dos dados de referência a serem usados, como os dados de linha de base de comparação. | Permitir somente a janela de dados sem interrupção ou janela de dados fixa. Para usar a janela de dados sem interrupção, especifique as propriedades production_data.data_window.lookback_window_offset e production_data.data_window.lookback_window_size . Para usar as janelas de dados fixas, especifique as propriedades production_data.data_window.window_start e production_data.data_window.window_end . Todos os valores de propriedade devem estar no formato ISO8601. |
|
production_data.pre_processing_component |
String | ID do componente no formato de azureml:myPreprocessing@latest para um componente registrado. Isso é necessário se production_data.data.input_data.type for uri_folder . Para obter mais informações sobre a especificação do componente de pré-processamento, consulte especificação do componente de pré-processamento. |
||
reference_data |
Objeto | Opcional. Dados recentes de produção passada são usados como dados de linha de base de comparação se isso não for especificado. A recomendação é usar dados de treinamento como linha de base de comparação. | ||
reference_data.input_data |
Objeto | Descrição da fonte de dados de entrada, consulte a especificação dados de entrada do trabalho. | ||
reference_data.data_context |
String | O contexto dos dados, refere-se ao contexto em que o conjunto de dados foi usado anteriormente | model_inputs , training , test , validation |
|
reference_data.data_column_names.target_column |
Objeto | Opcional. Se 'reference_data' for dados de treinamento, essa propriedade será necessária para monitorar os principais recursos N para o descompasso de dados. | ||
reference_data.data_window |
Objeto | Opcional. Janela de dados dos dados de referência a serem usados, como os dados de linha de base de comparação. | Permitir somente a janela de dados sem interrupção ou janela de dados fixa. Para usar a janela de dados sem interrupção, especifique as propriedades reference_data.data_window.lookback_window_offset e reference_data.data_window.lookback_window_size . Para usar as janelas de dados fixas, especifique as propriedades reference_data.data_window.window_start e reference_data.data_window.window_end . Todos os valores de propriedade devem estar no formato ISO8601. |
|
reference_data_data.pre_processing_component |
String | ID do componente no formato de azureml:myPreprocessing@latest para um componente registrado. Isso é obrigatório se reference_data.input_data.type for uri_folder , consulte a especificação do componente de pré-processamento. |
||
features |
Objeto | Opcional. Os recursos de destino devem ser monitorados quanto ao descompasso dos dados. Alguns modelos podem ter centenas ou milhares de recursos, é sempre recomendável especificar os recursos interessados para monitoramento. | Um dos seguintes valores: lista de nomes de recursos, features.top_n_feature_importance ou all_features |
O padrão é features.top_n_feature_importance = 10 se production_data.data_context for training , caso contrário, o padrão será all_features |
alert_enabled |
Boolean | Ativar ou desativar a notificação do alerta para o sinal de monitoramento. True ou False |
||
metric_thresholds |
Objeto | Lista de propriedades de métricas e limites para o sinal de monitoramento. Quando o limite for excedido e alert_enabled for true , o usuário receberá uma notificação de alerta. |
||
metric_thresholds.numerical |
Objeto | Opcional. Lista de métricas e limites no formato 'key:value', 'key' é o nome da métrica, 'value' é o limite. | Nomes de métrica numéricos permitidos: jensen_shannon_distance , normalized_wasserstein_distance , population_stability_index , two_sample_kolmogorov_smirnov_test |
|
metric_thresholds.categorical |
Objeto | Opcional. Lista de métricas e limites no formato 'key:value', 'key' é o nome da métrica, 'value' é o limite. | Nomes de métricas categóricas permitidos: jensen_shannon_distance , chi_squared_test , population_stability_index |
Qualidade dos dados
O sinal de qualidade de dados rastreia problemas de qualidade de dados na produção, comparando com dados de treinamento ou dados recentes de produção anteriores.
Chave | Type | Descrição | Valores permitidos | Valor padrão |
---|---|---|---|---|
type |
String | Obrigatório. Tipo de sinal de monitoramento. O componente de processamento do sinal de monitoramento predefinido é carregado automaticamente de acordo com o type especificado aqui |
data_quality |
data_quality |
production_data |
Objeto | Opcional. Descrição dos dados de produção a serem analisados para o sinal de monitoramento. | ||
production_data.input_data |
Objeto | Opcional. Descrição da fonte de dados de entrada, consulte a especificação dados de entrada do trabalho. | ||
production_data.data_context |
String | O contexto dos dados, refere-se aos dados de produção do modelo e pode ser entradas ou saídas do modelo | model_inputs , model_outputs |
|
production_data.data_window |
Objeto | Opcional. Janela de dados dos dados de referência a serem usados, como os dados de linha de base de comparação. | Permitir somente a janela de dados sem interrupção ou janela de dados fixa. Para usar a janela de dados sem interrupção, especifique as propriedades production_data.data_window.lookback_window_offset e production_data.data_window.lookback_window_size . Para usar as janelas de dados fixas, especifique as propriedades production_data.data_window.window_start e production_data.data_window.window_end . Todos os valores de propriedade devem estar no formato ISO8601. |
|
production_data.pre_processing_component |
String | ID do componente no formato de azureml:myPreprocessing@latest para um componente registrado. Isso é necessário se production_data.input_data.type for uri_folder , consulte especificação do componente de pré-processamento. |
||
reference_data |
Objeto | Opcional. Dados recentes de produção passada são usados como dados de linha de base de comparação se isso não for especificado. A recomendação é usar dados de treinamento como linha de base de comparação. | ||
reference_data.input_data |
Objeto | Descrição da fonte de dados de entrada, consulte a especificação dados de entrada do trabalho. | ||
reference_data.data_context |
String | O contexto dos dados, refere-se ao contexto em que o conjunto de dados foi usado anteriormente | model_inputs , model_outputs , training , test , validation |
|
reference_data.data_column_names.target_column |
Objeto | Opcional. Se 'reference_data' for dados de treinamento, essa propriedade será necessária para monitorar os principais recursos N para o descompasso de dados. | ||
reference_data.data_window |
Objeto | Opcional. Janela de dados dos dados de referência a serem usados, como os dados de linha de base de comparação. | Permitir somente a janela de dados sem interrupção ou janela de dados fixa. Para usar a janela de dados sem interrupção, especifique as propriedades reference_data.data_window.lookback_window_offset e reference_data.data_window.lookback_window_size . Para usar as janelas de dados fixas, especifique as propriedades reference_data.data_window.window_start e reference_data.data_window.window_end . Todos os valores de propriedade devem estar no formato ISO8601. |
|
reference_data.pre_processing_component |
String | ID do componente no formato de azureml:myPreprocessing@latest para um componente registrado. Isso é necessário se reference_data.input_data.type for uri_folder , consulte especificação do componente de pré-processamento. |
||
features |
Objeto | Opcional. Recursos de destino a serem monitorados quanto à qualidade dos dados. Alguns modelos podem ter centenas ou milhares de recursos. É sempre recomendável especificar recursos de interesse para monitoramento. | Um dos seguintes valores: lista de nomes de recursos, features.top_n_feature_importance ou all_features |
O padrão para features.top_n_feature_importance = 10 se reference_data.data_context for training , caso contrário, o padrão será all_features |
alert_enabled |
Boolean | Ativar ou desativar a notificação do alerta para o sinal de monitoramento. True ou False |
||
metric_thresholds |
Objeto | Lista de propriedades de métricas e limites para o sinal de monitoramento. Quando o limite for excedido e alert_enabled for true , o usuário receberá uma notificação de alerta. |
||
metric_thresholds.numerical |
Objeto | Lista Opcional de métricas e limites no formato key:value , key é o nome da métrica, value é o limite. |
Nomes de métrica numéricos permitidos: data_type_error_rate , null_value_rate , out_of_bounds_rate |
|
metric_thresholds.categorical |
Objeto | Lista Opcional de métricas e limites no formato key:value , key é o nome da métrica, value é o limite. |
Nomes de métricas categóricas permitidos: data_type_error_rate , null_value_rate , out_of_bounds_rate |
Descompasso de atribuição de recursos (versão prévia)
A atribuição de recursos de um modelo pode mudar ao longo do tempo devido a mudanças na distribuição dos dados, mudanças nas relações entre os recursos ou mudanças no problema subjacente que está sendo resolvido. O descompasso da atribuição de recursos é um fenômeno que ocorre em modelos de aprendizado de máquina quando a importância ou a contribuição de recursos para a saída da previsão muda ao longo do tempo.
Chave | Type | Descrição | Valores permitidos | Valor padrão |
---|---|---|---|---|
type |
String | Obrigatório. Tipo de sinal de monitoramento. O componente de processamento do sinal de monitoramento predefinido é carregado automaticamente de acordo com o type especificado aqui |
feature_attribution_drift |
feature_attribution_drift |
production_data |
Array | Opcional, padrão para dados coletados associados ao ponto de extremidade do Azure Machine Learning se isso não for fornecido. O production_data é uma lista de conjuntos de dados e seus metadados associados, ele deve incluir os dados de entradas de modelo e saídas de modelo. Pode ser um único conjunto de dados com entradas e saídas de modelo, ou pode ser dois conjuntos de dados separados contendo uma entrada de modelo e uma saída de modelo. |
||
production_data.input_data |
Objeto | Opcional. Descrição da fonte de dados de entrada, consulte a especificação dados de entrada do trabalho. | ||
production_data.input_data.data_column_names |
Objeto | Nomes de coluna de correlação e de coluna de previsão no formato key:value , necessários para a junção de dados. |
As chaves permitidas são: correlation_id , target_column |
|
production_data.data_context |
String | O contexto dos dados. Refere-se aos dados de entradas do modelo de produção. | model_inputs , model_outputs , model_inputs_outputs |
|
production_data.data_window |
Objeto | Opcional. Janela de dados dos dados de referência a serem usados, como os dados de linha de base de comparação. | Permitir somente a janela de dados sem interrupção ou janela de dados fixa. Para usar a janela de dados sem interrupção, especifique as propriedades production_data.data_window.lookback_window_offset e production_data.data_window.lookback_window_size . Para usar as janelas de dados fixas, especifique as propriedades production_data.data_window.window_start e production_data.data_window.window_end . Todos os valores de propriedade devem estar no formato ISO8601. |
|
production_data.pre_processing_component |
String | ID do componente no formato de azureml:myPreprocessing@latest para um componente registrado. Isso é necessário se production_data.input_data.type for uri_folder , consulte especificação do componente de pré-processamento. |
||
production_data.data_window_size |
String | Opcional. Tamanho da janela de dados em dias com o formato ISO8601, por exemplo, P7D . Essa é a janela de dados de produção a ser computada para problemas de qualidade de dados. |
Por padrão, o tamanho da janela de dados é o último período de monitoramento. | |
reference_data |
Objeto | Opcional. Dados recentes de produção passada são usados como dados de linha de base de comparação se isso não for especificado. A recomendação é usar dados de treinamento como linha de base de comparação. | ||
reference_data.input_data |
Objeto | Descrição da fonte de dados de entrada, consulte a especificação dados de entrada do trabalho. | ||
reference_data.data_context |
String | O contexto dos dados refere-se ao contexto em que o conjunto de dados foi usado anteriormente. Descompasso de dados dos recursos do Fro, somente training dados permitidos. |
training |
|
reference_data.data_column_names.target_column |
String | Obrigatório. | ||
reference_data.data_window |
Objeto | Opcional. Janela de dados dos dados de referência a serem usados, como os dados de linha de base de comparação. | Permitir somente a janela de dados sem interrupção ou janela de dados fixa. Para usar a janela de dados sem interrupção, especifique as propriedades reference_data.data_window.lookback_window_offset e reference_data.data_window.lookback_window_size . Para usar as janelas de dados fixas, especifique as propriedades reference_data.data_window.window_start e reference_data.data_window.window_end . Todos os valores de propriedade devem estar no formato ISO8601. |
|
reference_data.pre_processing_component |
String | ID do componente no formato de azureml:myPreprocessing@latest para um componente registrado. Isso é necessário se reference_data.input_data.type for uri_folder , consulte especificação do componente de pré-processamento. |
||
alert_enabled |
Boolean | Ativar ou desativar a notificação do alerta para o sinal de monitoramento. True ou False |
||
metric_thresholds |
Objeto | Nome da métrica e limite para descompasso de dados dos recursos no formato key:value , em que key é o nome da métrica e value é o limite. Quando o limite for excedido e alert_enabled estiver ativado, o usuário receberá uma notificação de alerta. |
Nome da métrica permitido: normalized_discounted_cumulative_gain |
Sinal de monitoramento personalizado
Sinal de monitoramento personalizado por meio de um componente personalizado do Azure Machine Learning.
Chave | Type | Descrição | Valores permitidos | Valor padrão |
---|---|---|---|---|
type |
String | Obrigatório. Tipo de sinal de monitoramento. O componente de processamento do sinal de monitoramento predefinido é carregado automaticamente de acordo com o type especificado aqui. |
custom |
custom |
component_id |
String | Obrigatório. A ID do componente do Azure Machine Learning correspondente ao seu sinal personalizado. Por exemplo azureml:mycustomcomponent:1 |
||
input_data |
Objeto | Opcional. Descrição dos dados de entrada a serem analisados pelo sinal de monitoramento, consulte a especificação dos dados de entrada do trabalho. | ||
input_data.<data_name>.data_context |
String | O contexto dos dados, refere-se aos dados de produção do modelo e pode ser entradas ou saídas do modelo | model_inputs |
|
input_data.<data_name>.data_window |
Objeto | Opcional. Janela de dados dos dados de referência a serem usados, como os dados de linha de base de comparação. | Permitir somente a janela de dados sem interrupção ou janela de dados fixa. Para usar a janela de dados sem interrupção, especifique as propriedades input_data.<data_name>.data_window.lookback_window_offset e input_data.<data_name>.data_window.lookback_window_size . Para usar as janelas de dados fixas, especifique as propriedades input_data.<data_name>.data_window.window_start e input_data.<data_name>.data_window.window_end . Todos os valores de propriedade devem estar no formato ISO8601. |
|
input_data.<data_name>.pre_processing_component |
String | ID do componente no formato de azureml:myPreprocessing@latest para um componente registrado. Isso é necessário se input_data.<data_name>.input_data.type for uri_folder , consulte especificação do componente de pré-processamento. |
||
alert_enabled |
Boolean | Ativar ou desativar a notificação do alerta para o sinal de monitoramento. True ou False |
||
metric_thresholds.metric_name |
Objeto | Nome da métrica personalizada. | ||
threshold |
Objeto | Limite aceitável para a métrica personalizada. |
Desempenho de modelo (versão prévia)
O desempenho do modelo acompanha o desempenho objetivo da saída de um modelo em produção, comparando-o aos dados verídicos básicos coletados.
Chave | Type | Descrição | Valores permitidos | Valor padrão |
---|---|---|---|---|
type |
String | Obrigatório. Tipo de sinal de monitoramento. O componente de processamento do sinal de monitoramento predefinido é carregado automaticamente de acordo com o type especificado aqui |
model_performance |
model_performance |
production_data |
Array | Opcional, padrão para dados coletados associados ao ponto de extremidade do Azure Machine Learning se isso não for fornecido. O production_data é uma lista de conjuntos de dados e seus metadados associados, ele deve incluir os dados de entradas de modelo e saídas de modelo. Pode ser um único conjunto de dados com entradas e saídas de modelo, ou pode ser dois conjuntos de dados separados contendo uma entrada de modelo e uma saída de modelo. |
||
production_data.input_data |
Objeto | Opcional. Descrição da fonte de dados de entrada, consulte a especificação dados de entrada do trabalho. | ||
production_data.input_data.data_column_names |
Objeto | Nomes de coluna de correlação e de coluna de previsão no formato key:value , necessários para a junção de dados. |
As chaves permitidas são: correlation_id , target_column |
|
production_data.data_context |
String | O contexto dos dados. Refere-se aos dados de entradas do modelo de produção. | model_inputs , model_outputs , model_inputs_outputs |
|
production_data.data_window |
Objeto | Opcional. Janela de dados dos dados de referência a serem usados, como os dados de linha de base de comparação. | Permitir somente a janela de dados sem interrupção ou janela de dados fixa. Para usar a janela de dados sem interrupção, especifique as propriedades production_data.data_window.lookback_window_offset e production_data.data_window.lookback_window_size . Para usar as janelas de dados fixas, especifique as propriedades production_data.data_window.window_start e production_data.data_window.window_end . Todos os valores de propriedade devem estar no formato ISO8601. |
|
production_data.pre_processing_component |
String | ID do componente no formato de azureml:myPreprocessing@latest para um componente registrado. Isso é necessário se production_data.input_data.type for uri_folder , consulte especificação do componente de pré-processamento. |
||
production_data.data_window_size |
String | Opcional. Tamanho da janela de dados em dias com o formato ISO8601, por exemplo, P7D . Essa é a janela de dados de produção a ser computada para problemas de qualidade de dados. |
Por padrão, o tamanho da janela de dados é o último período de monitoramento. | |
reference_data |
Objeto | Opcional. Dados recentes de produção passada são usados como dados de linha de base de comparação se isso não for especificado. A recomendação é usar dados de treinamento como linha de base de comparação. | ||
reference_data.input_data |
Objeto | Descrição da fonte de dados de entrada, consulte a especificação dados de entrada do trabalho. | ||
reference_data.data_context |
String | O contexto dos dados refere-se ao contexto em que o conjunto de dados foi usado anteriormente. Descompasso de dados dos recursos do Fro, somente training dados permitidos. |
training |
|
reference_data.data_column_names.target_column |
String | Obrigatório. | ||
reference_data.data_window |
Objeto | Opcional. Janela de dados dos dados de referência a serem usados, como os dados de linha de base de comparação. | Permitir somente a janela de dados sem interrupção ou janela de dados fixa. Para usar a janela de dados sem interrupção, especifique as propriedades reference_data.data_window.lookback_window_offset e reference_data.data_window.lookback_window_size . Para usar as janelas de dados fixas, especifique as propriedades reference_data.data_window.window_start e reference_data.data_window.window_end . Todos os valores de propriedade devem estar no formato ISO8601. |
|
reference_data.pre_processing_component |
String | ID do componente no formato de azureml:myPreprocessing@latest para um componente registrado. Isso é necessário se reference_data.input_data.type for uri_folder , consulte especificação do componente de pré-processamento. |
||
alert_enabled |
Boolean | Ativar ou desativar a notificação do alerta para o sinal de monitoramento. True ou False |
||
metric_thresholds.classification |
Objeto | Lista Opcional de métricas e limites no formato key:value , key é o nome da métrica, value é o limite. |
Nomes de métrica de classification permitidos: accuracy , precision , recall |
|
metric_thresholds.regression |
Objeto | Lista Opcional de métricas e limites no formato key:value , key é o nome da métrica, value é o limite. |
Nomes de métrica de regression permitidos: mae , mse , rmse |
Comentários
O comando az ml schedule
pode ser usado para gerenciar modelos do Azure Machine Learning.
Exemplos
Os exemplos da CLI de monitoramento estão disponíveis no repositório GitHub de exemplos. Algumas delas são as seguintes:
YAML: monitor pronto para uso
APLICA-SE A: Extensão de ML da CLI do Azurev2 (atual)
# out-of-box-monitoring.yaml
$schema: http://azureml/sdk-2-0/Schedule.json
name: credit_default_model_monitoring
display_name: Credit default model monitoring
description: Credit default model monitoring setup with minimal configurations
trigger:
# perform model monitoring activity daily at 3:15am
type: recurrence
frequency: day #can be minute, hour, day, week, month
interval: 1 # #every day
schedule:
hours: 3 # at 3am
minutes: 15 # at 15 mins after 3am
create_monitor:
compute: # specify a spark compute for monitoring job
instance_type: standard_e4s_v3
runtime_version: "3.3"
monitoring_target:
ml_task: classification # model task type: [classification, regression, question_answering]
endpoint_deployment_id: azureml:credit-default:main # azureml endpoint deployment id
alert_notification: # emails to get alerts
emails:
- abc@example.com
- def@example.com
YAML: Monitor avançado
APLICA-SE A: Extensão de ML da CLI do Azurev2 (atual)
# advanced-model-monitoring.yaml
$schema: http://azureml/sdk-2-0/Schedule.json
name: fraud_detection_model_monitoring
display_name: Fraud detection model monitoring
description: Fraud detection model monitoring with advanced configurations
trigger:
# perform model monitoring activity daily at 3:15am
type: recurrence
frequency: day #can be minute, hour, day, week, month
interval: 1 # #every day
schedule:
hours: 3 # at 3am
minutes: 15 # at 15 mins after 3am
create_monitor:
compute:
instance_type: standard_e4s_v3
runtime_version: "3.3"
monitoring_target:
ml_task: classification
endpoint_deployment_id: azureml:credit-default:main
monitoring_signals:
advanced_data_drift: # monitoring signal name, any user defined name works
type: data_drift
# reference_dataset is optional. By default referece_dataset is the production inference data associated with Azure Machine Learning online endpoint
reference_data:
input_data:
path: azureml:credit-reference:1 # use training data as comparison reference dataset
type: mltable
data_context: training
data_column_names:
target_column: DEFAULT_NEXT_MONTH
features:
top_n_feature_importance: 10 # monitor drift for top 10 features
metric_thresholds:
numerical:
jensen_shannon_distance: 0.01
categorical:
pearsons_chi_squared_test: 0.02
advanced_data_quality:
type: data_quality
# reference_dataset is optional. By default reference_dataset is the production inference data associated with Azure Machine Learning online endpoint
reference_data:
input_data:
path: azureml:credit-reference:1
type: mltable
data_context: training
features: # monitor data quality for 3 individual features only
- SEX
- EDUCATION
metric_thresholds:
numerical:
null_value_rate: 0.05
categorical:
out_of_bounds_rate: 0.03
feature_attribution_drift_signal:
type: feature_attribution_drift
# production_data: is not required input here
# Please ensure Azure Machine Learning online endpoint is enabled to collected both model_inputs and model_outputs data
# Azure Machine Learning model monitoring will automatically join both model_inputs and model_outputs data and used it for computation
reference_data:
input_data:
path: azureml:credit-reference:1
type: mltable
data_context: training
data_column_names:
target_column: DEFAULT_NEXT_MONTH
metric_thresholds:
normalized_discounted_cumulative_gain: 0.9
alert_notification:
emails:
- abc@example.com
- def@example.com
Apêndice
Fuso horário
O agendamento atual dá suporte aos fusos horários a seguir. A chave pode ser usada diretamente no SDK do Python, enquanto o valor pode ser usado no trabalho YAML. A tabela está organizada por UTC (Tempo Universal Coordenado).
UTC | Chave | Valor |
---|---|---|
UTC -12:00 | DATELINE_STANDARD_TIME | “Hora Oficial do Meridiano de Data” |
UTC -11:00 | UTC_11 | "UTC-11" |
UTC - 10:00 | ALEUTIAN_STANDARD_TIME | Hora Padrão das Aleutas |
UTC - 10:00 | HAWAIIAN_STANDARD_TIME | “Hora Oficial do Havaí” |
UTC -09:30 | MARQUESAS_STANDARD_TIME | “Hora Oficial de Marquesas” |
UTC -09:00 | ALASKAN_STANDARD_TIME | “Hora Oficial do Alasca” |
UTC -09:00 | UTC_09 | "UTC-09" |
UTC -08:00 | PACIFIC_STANDARD_TIME_MEXICO | “Hora Oficial do Pacífico (México)” |
UTC -08:00 | UTC_08 | "UTC-08" |
UTC -08:00 | PACIFIC_STANDARD_TIME | “Hora Oficial do Pacífico” |
UTC -07:00 | US_MOUNTAIN_STANDARD_TIME | “Hora Oficial das Montanhas dos EUA” |
UTC -07:00 | MOUNTAIN_STANDARD_TIME_MEXICO | “Hora Padrão das Montanhas (México)” |
UTC -07:00 | MOUNTAIN_STANDARD_TIME | “Hora Oficial das Montanhas” |
UTC -06:00 | CENTRAL_AMERICA_STANDARD_TIME | “Hora Oficial da América Central” |
UTC -06:00 | CENTRAL_STANDARD_TIME | “Hora Oficial Central” |
UTC -06:00 | EASTER_ISLAND_STANDARD_TIME | “Hora Oficial da Ilha da Páscoa” |
UTC -06:00 | CENTRAL_STANDARD_TIME_MEXICO | “Hora Oficial Central (México)” |
UTC -06:00 | CANADA_CENTRAL_STANDARD_TIME | “Hora Oficial do Canadá Central” |
UTC -05:00 | SA_PACIFIC_STANDARD_TIME | “Hora Oficial do Pacífico na América do Sul” |
UTC -05:00 | EASTERN_STANDARD_TIME_MEXICO | “Hora Oficial Oriental (México)” |
UTC -05:00 | EASTERN_STANDARD_TIME | “Hora Oficial do Leste dos EUA” |
UTC -05:00 | HAITI_STANDARD_TIME | “Hora Oficial do Haiti” |
UTC -05:00 | CUBA_STANDARD_TIME | “Hora Oficial de Cuba” |
UTC -05:00 | US_EASTERN_STANDARD_TIME | “Hora Oficial do Leste dos EUA” |
UTC -05:00 | TURKS_AND_CAICOS_STANDARD_TIME | “Hora Oficial Turcos e Caicos” |
UTC -04:00 | PARAGUAY_STANDARD_TIME | “Hora Oficial do Paraguai” |
UTC -04:00 | ATLANTIC_STANDARD_TIME | “Hora Oficial do Atlântico” |
UTC -04:00 | VENEZUELA_STANDARD_TIME | “Hora Oficial da Venezuela” |
UTC -04:00 | CENTRAL_BRAZILIAN_STANDARD_TIME | “Hora Oficial do Brasil Central” |
UTC -04:00 | SA_WESTERN_STANDARD_TIME | “Hora Oficial do Oeste da América do Sul” |
UTC -04:00 | PACIFIC_SA_STANDARD_TIME | “Hora Oficial do Pacífico SA” |
UTC -03:30 | NEWFOUNDLAND_STANDARD_TIME | “Hora Oficial de Newfoundland” |
UTC -03:00 | TOCANTINS_STANDARD_TIME | “Hora Oficial de Tocantins” |
UTC -03:00 | E_SOUTH_AMERICAN_STANDARD_TIME | “E. Hora Oficial do Brasil” |
UTC -03:00 | SA_EASTERN_STANDARD_TIME | “Hora Oficial de Buenos Aires” |
UTC -03:00 | ARGENTINA_STANDARD_TIME | “Hora Oficial da Argentina” |
UTC -03:00 | GREENLAND_STANDARD_TIME | “Hora Oficial da Groenlândia” |
UTC -03:00 | MONTEVIDEO_STANDARD_TIME | “Hora Oficial de Montevidéu” |
UTC -03:00 | SAINT_PIERRE_STANDARD_TIME | “Hora Oficial de Saint Pierre” |
UTC -03:00 | BAHIA_STANDARD_TIM | “Hora Oficial da Bahia” |
UTC -02:00 | UTC_02 | "UTC-02" |
UTC -02:00 | MID_ATLANTIC_STANDARD_TIME | “Hora Oficial do Atlântico Central” |
UTC -01:00 | AZORES_STANDARD_TIME | “Hora Oficial dos Açores” |
UTC -01:00 | CAPE_VERDE_STANDARD_TIME | “Hora Oficial do Cabo Verde” |
UTC | UTC | UTC |
UTC +00:00 | GMT_STANDARD_TIME | “Hora Oficial GMT” |
UTC +00:00 | GREENWICH_STANDARD_TIME | “Hora Oficial de Greenwich” |
UTC +01:00 | MOROCCO_STANDARD_TIME | “Hora Oficial do Marrocos” |
UTC +01:00 | W_EUROPE_STANDARD_TIME | "W. Hora Oficial da Europa Ocidental” |
UTC +01:00 | CENTRAL_EUROPE_STANDARD_TIME | “Hora Oficial da Europa Central” |
UTC +01:00 | ROMANCE_STANDARD_TIME | “Hora Oficial Românica” |
UTC +01:00 | CENTRAL_EUROPEAN_STANDARD_TIME | “Hora Oficial da Europa Central” |
UTC +01:00 | W_CENTRAL_AFRICA_STANDARD_TIME | "W. “Hora Oficial do Centro-oeste da África” |
UTC +02:00 | NAMIBIA_STANDARD_TIME | “Hora Oficial da Namíbia” |
UTC +02:00 | JORDAN_STANDARD_TIME | “Hora Oficial da Jordânia” |
UTC +02:00 | GTB_STANDARD_TIME | “Hora Oficial GTB” |
UTC +02:00 | MIDDLE_EAST_STANDARD_TIME | “Hora Oficial do Oriente Médio” |
UTC +02:00 | EGYPT_STANDARD_TIME | “Hora Oficial do Egito” |
UTC +02:00 | E_EUROPE_STANDARD_TIME | “E. Hora Oficial da Europa Ocidental” |
UTC +02:00 | SYRIA_STANDARD_TIME | “Hora Oficial da Síria” |
UTC +02:00 | WEST_BANK_STANDARD_TIME | “Hora Oficial de West Bank” |
UTC +02:00 | SOUTH_AFRICA_STANDARD_TIME | “Hora Oficial da África do Sul” |
UTC +02:00 | FLE_STANDARD_TIME | “Hora Oficial FLE” |
UTC +02:00 | ISRAEL_STANDARD_TIME | “Hora Oficial de Israel” |
UTC +02:00 | KALININGRAD_STANDARD_TIME | “Hora Oficial de Kaliningrado” |
UTC +02:00 | LIBYA_STANDARD_TIME | “Hora Oficial da Líbia” |
UTC +03:00 | TÜRKIYE_STANDARD_TIME | "Hora Padrão da Turquia" |
UTC +03:00 | ARABIC_STANDARD_TIME | “Hora Oficial Arábica” |
UTC +03:00 | ARAB_STANDARD_TIME | “Hora Oficial Árabe” |
UTC +03:00 | BELARUS_STANDARD_TIME | “Hora Oficial de Belarus” |
UTC +03:00 | RUSSIAN_STANDARD_TIME | “Hora Oficial Russa” |
UTC +03:00 | E_AFRICA_STANDARD_TIME | “E. Hora Oficial do Leste da África” |
UTC +03:30 | IRAN_STANDARD_TIME | “Hora Oficial do Irã” |
UTC +04:00 | ARABIAN_STANDARD_TIME | “Hora Oficial Árabe” |
UTC +04:00 | ASTRAKHAN_STANDARD_TIME | “Hora Oficial de Astrakhan” |
UTC +04:00 | AZERBAIJAN_STANDARD_TIME | “Hora Oficial do Azerbaijão” |
UTC +04:00 | RUSSIA_TIME_ZONE_3 | “Fuso Horário da Rússia 3” |
UTC +04:00 | MAURITIUS_STANDARD_TIME | “Hora Oficial de Maurício” |
UTC +04:00 | GEORGIAN_STANDARD_TIME | “Hora Oficial da Geórgia” |
UTC +04:00 | CAUCASUS_STANDARD_TIME | “Hora Oficial do Cáucaso” |
UTC +04:30 | AFGHANISTAN_STANDARD_TIME | “Hora Oficial do Afeganistão” |
UTC +05:00 | WEST_ASIA_STANDARD_TIME | “Hora Oficial do Oeste da Ásia” |
UTC +05:00 | EKATERINBURG_STANDARD_TIME | “Hora Oficial de Ecaterimburgo” |
UTC +05:00 | PAKISTAN_STANDARD_TIME | “Hora Oficial do Paquistão” |
UTC +05:30 | INDIA_STANDARD_TIME | “Hora Oficial da Índia” |
UTC +05:30 | SRI_LANKA_STANDARD_TIME | “Hora Oficial do Sri Lanka” |
UTC +05:45 | NEPAL_STANDARD_TIME | “Hora Oficial do Nepal” |
UTC +06:00 | CENTRAL_ASIA_STANDARD_TIME | “Hora Oficial da Ásia Central” |
UTC +06:00 | BANGLADESH_STANDARD_TIME | “Hora Oficial de Bangladesh” |
UTC +06:30 | MYANMAR_STANDARD_TIME | “Hora Oficial de Mianmar” |
UTC +07:00 | N_CENTRAL_ASIA_STANDARD_TIME | "N. Hora Oficial do Centro-Norte da Ásia” |
UTC +07:00 | SE_ASIA_STANDARD_TIME | “Hora Oficial do Sudeste da Ásia” |
UTC +07:00 | ALTAI_STANDARD_TIME | “Hora Oficial de Altai” |
UTC +07:00 | W_MONGOLIA_STANDARD_TIME | "W. “Hora Oficial da Mongólia Ocidental” |
UTC +07:00 | NORTH_ASIA_STANDARD_TIME | “Hora Oficial do Norte da Ásia” |
UTC +07:00 | TOMSK_STANDARD_TIME | “Hora Oficial de Tomsk” |
UTC +08:00 | CHINA_STANDARD_TIME | “Hora Oficial da China” |
UTC +08:00 | NORTH_ASIA_EAST_STANDARD_TIME | “Hora Oficial do Nordeste da Ásia” |
UTC +08:00 | SINGAPORE_STANDARD_TIME | “Hora Oficial de Singapura” |
UTC +08:00 | W_AUSTRALIA_STANDARD_TIME | "W. “Hora Oficial da Austrália Central” |
UTC +08:00 | TAIPEI_STANDARD_TIME | “Hora Oficial de Taipé” |
UTC +08:00 | ULAANBAATAR_STANDARD_TIME | “Hora Oficial de Ulan Bator” |
UTC +08:45 | AUS_CENTRAL_W_STANDARD_TIME | “Hora Oficial do Centro-Oeste da Austrália” |
UTC +09:00 | NORTH_KOREA_STANDARD_TIME | “Hora Oficial da Coreia do Norte” |
UTC +09:00 | TRANSBAIKAL_STANDARD_TIME | “Hora Oficial de Transbaikal” |
UTC +09:00 | TOKYO_STANDARD_TIME | “Hora Oficial de Tóquio” |
UTC +09:00 | KOREA_STANDARD_TIME | “Hora Oficial da Coreia do Sul” |
UTC +09:00 | YAKUTSK_STANDARD_TIME | “Hora Oficial de Yakutsk” |
UTC +09:30 | CEN_AUSTRALIA_STANDARD_TIME | "Cen. Hora Oficial da Austrália Central” |
UTC +09:30 | AUS_CENTRAL_STANDARD_TIME | “Hora Oficial da Austrália Central” |
UTC +10:00 | E_AUSTRALIAN_STANDARD_TIME | “E. Hora Oficial da Austrália Central” |
UTC +10:00 | AUS_EASTERN_STANDARD_TIME | “Hora Oficial do Leste da Austrália” |
UTC +10:00 | WEST_PACIFIC_STANDARD_TIME | “Hora Oficial do Oeste do Pacífico” |
UTC +10:00 | TASMANIA_STANDARD_TIME | “Hora Oficial da Tasmânia” |
UTC +10:00 | VLADIVOSTOK_STANDARD_TIME | “Hora Oficial de Vladivostok” |
UTC +10:30 | LORD_HOWE_STANDARD_TIME | “Hora Oficial de Lord Howe” |
UTC +11:00 | BOUGAINVILLE_STANDARD_TIME | “Hora Oficial de Bougainville” |
UTC +11:00 | RUSSIA_TIME_ZONE_10 | “Fuso Horário da Rússia 10” |
UTC +11:00 | MAGADAN_STANDARD_TIME | “Hora Oficial de Magadan” |
UTC +11:00 | NORFOLK_STANDARD_TIME | “Hora Oficial de Norfolk” |
UTC +11:00 | SAKHALIN_STANDARD_TIME | “Hora Oficial de Sakhalin” |
UTC +11:00 | CENTRAL_PACIFIC_STANDARD_TIME | “Hora Oficial do Pacífico Central” |
UTC +12:00 | RUSSIA_TIME_ZONE_11 | “Fuso Horário da Rússia 11” |
UTC +12:00 | NEW_ZEALAND_STANDARD_TIME | “Hora Oficial da Nova Zelândia” |
UTC +12:00 | UTC_12 | "UTC+12" |
UTC +12:00 | FIJI_STANDARD_TIME | “Hora Oficial de Fiji” |
UTC +12:00 | KAMCHATKA_STANDARD_TIME | “Hora Oficial de Kamchatka” |
UTC +12:45 | CHATHAM_ISLANDS_STANDARD_TIME | “Hora Oficial das Ilhas Chatham” |
UTC +13:00 | TONGA__STANDARD_TIME | “Hora Oficial de Tonga” |
UTC +13:00 | SAMOA_STANDARD_TIME | “Hora Oficial de Samoa” |
UTC +14:00 | LINE_ISLANDS_STANDARD_TIME | “Hora Oficial das Ilhas Line” |