

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criar uma linha de base de desvio de polarização
<a name="clarify-model-monitor-bias-drift-baseline"></a>

Depois de configurar sua aplicação para capturar dados de inferência em tempo real ou de transformação em lote, a primeira tarefa para monitorar o desvio de polarização é criar uma linha de base. Isso envolve configurar as entradas de dados, quais grupos são confidenciais, como as predições são capturadas e o modelo e suas métricas de desvio pós-treinamento. Em seguida, você precisa iniciar o trabalho de linha de base.

O monitor de desvio de modelo pode detectar o desvio de polarização dos modelos de ML regularmente. Semelhante aos outros tipos de monitoramento, o procedimento padrão para criar um modelo de monitor de polarização é primeiro estabelecer uma linha de base e, em seguida, estabelecer uma programação de monitoramento.

```
model_bias_monitor = ModelBiasMonitor(
    role=role,
    sagemaker_session=sagemaker_session,
    max_runtime_in_seconds=1800,
)
```

O `DataConfig` armazena informações sobre o conjunto de dados a ser analisado (por exemplo, o arquivo do conjunto de dados), seu formato (ou seja, linhas CSV ou JSON), cabeçalhos (se houver) e rótulo.

```
model_bias_baselining_job_result_uri = f"{baseline_results_uri}/model_bias"
model_bias_data_config = DataConfig(
    s3_data_input_path=validation_dataset,
    s3_output_path=model_bias_baselining_job_result_uri,
    label=label_header,
    headers=all_headers,
    dataset_type=dataset_type,
)
```

A `BiasConfig` é a configuração dos grupos confidenciais no conjunto de dados. Normalmente, o desvio é medido computando uma métrica e comparando-a entre grupos. O grupo de interesse é chamado de *faceta*. Para o desvio pós-treinamento, você também deve levar em consideração o rótulo positivo.

```
model_bias_config = BiasConfig(
    label_values_or_threshold=[1],
    facet_name="Account Length",
    facet_values_or_threshold=[100],
)
```

A `ModelPredictedLabelConfig` especifica como extrair um rótulo previsto da saída do modelo. Neste exemplo, o limite de 0,8 foi escolhido com a expectativa de rotatividade de clientes com frequência. Para saídas mais complicadas, há mais algumas opções, como “rótulo” é o índice, nome ou JMESPath localização do rótulo previsto na carga útil de resposta do endpoint.

```
model_predicted_label_config = ModelPredictedLabelConfig(
    probability_threshold=0.8,
)
```

A `ModelConfig` é a configuração relacionada ao modelo a ser usado para inferência. Para calcular as métricas de desvio pós-treinamento, o cálculo precisa obter inferências para o nome do modelo fornecido. Para fazer isso, o trabalho de processamento usa o modelo para criar um endpoint efêmero (também conhecido como *endpoint de sombra*). O trabalho de processamento exclui o endpoint de sombra após a conclusão dos cálculos. Essa configuração também é usada pelo monitor de explicabilidade.

```
model_config = ModelConfig(
    model_name=model_name,
    instance_count=endpoint_instance_count,
    instance_type=endpoint_instance_type,
    content_type=dataset_type,
    accept_type=dataset_type,
)
```

Agora você pode iniciar o trabalho de definição de linha de base.

```
model_bias_monitor.suggest_baseline(
    model_config=model_config,
    data_config=model_bias_data_config,
    bias_config=model_bias_config,
    model_predicted_label_config=model_predicted_label_config,
)
print(f"ModelBiasMonitor baselining job: {model_bias_monitor.latest_baselining_job_name}")
```

O monitor programado pega automaticamente o nome do trabalho de linha de base e o aguarda antes do início do monitoramento.