Criar uma linha de base - Amazon SageMaker

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

Os cálculos da linha de base de estatísticas e restrições são necessários como um padrão em relação ao qual o desvio de dados e outros problemas de qualidade de dados podem ser detectados. O Model Monitor fornece um contêiner integrado que fornece a capacidade de sugerir automaticamente as restrições para CSV uma entrada planaJSON. Esse sagemaker-model-monitor-analyzercontêiner também fornece uma variedade de recursos de monitoramento de modelos, incluindo validação de restrições em relação a uma linha de base e emissão de métricas da Amazon CloudWatch . Esse contêiner é baseado na versão 3.3.0 do Spark e foi criado com a versão 2.0.2 do Deequ. Todos os nomes das colunas em seu conjunto de dados de linha de base devem estar em conformidade com o Spark. Para os nomes das colunas, use somente caracteres minúsculos e _ como o único caractere especial.

O conjunto de dados de treinamento usado para treinar o modelo geralmente é um bom conjunto de dados de linha de base. O esquema de dados do conjunto de dados de treinamento e o esquema do conjunto de dados de inferência devem ser uma correspondência exata (o número e a ordem dos recursos). Presume-se que as colunas de previsão de saída sejam as primeiras colunas no conjunto de dados de treinamento. No conjunto de dados de treinamento, você pode pedir SageMaker para sugerir um conjunto de restrições básicas e gerar estatísticas descritivas para explorar os dados. Para esse exemplo, faça upload do conjunto de dados de treinamento usado para treinar o modelo pré-treinado incluído neste exemplo. Se você já armazenou o conjunto de dados de treinamento no Amazon S3, poderá apontar diretamente para ele.

Para criar uma linha de base a partir de um conjunto de dados de treinamento

Quando você tiver seus dados de treinamento prontos e armazenados no Amazon S3, inicie um trabalho de processamento básico usando DefaultModelMonitor.suggest_baseline(..) o Amazon Python. SageMaker SDK Essa ação usa um Contêiner pré-construído Amazon SageMaker Model Monitor que gera estatísticas de linha de base e sugere restrições de linha de base para o conjunto de dados e as grava no local output_s3_uri especificado.

from sagemaker.model_monitor import DefaultModelMonitor from sagemaker.model_monitor.dataset_format import DatasetFormat my_default_monitor = DefaultModelMonitor( role=role, instance_count=1, instance_type='ml.m5.xlarge', volume_size_in_gb=20, max_runtime_in_seconds=3600, ) my_default_monitor.suggest_baseline( baseline_dataset=baseline_data_uri+'/training-dataset-with-header.csv', dataset_format=DatasetFormat.csv(header=True), output_s3_uri=baseline_results_uri, wait=True )
nota

Se você fornecer os nomes dos recursos/colunas no conjunto de dados de treinamento como a primeira linha e definir a header=True opção conforme mostrado na amostra de código anterior, SageMaker use o nome do recurso no arquivo de restrições e estatísticas.

As estatísticas de linha de base para o conjunto de dados estão contidas no arquivo statistics.json e as restrições de linha de base sugeridas estão contidas no arquivo constraints.json no local especificado com output_s3_uri.

Arquivos de saída para estatísticas e restrições do conjunto de dados tabular

Nome do arquivo Descrição
statistics.json

Espera-se que este arquivo tenha estatísticas colunares para cada recurso no conjunto de dados que é analisado. Para obter mais informações sobre o esquema desse arquivo, consulte Esquema para estatísticas (arquivo statistics.json).

constraints.json

Espera-se que este arquivo tenha as restrições sobre os recursos observados. Para obter mais informações sobre o esquema desse arquivo, consulte Esquema para restrições (arquivo constraints.json).

O Amazon SageMaker Python SDK fornece funções de conveniência descritas para gerar as estatísticas e restrições básicas. No entanto, se você quiser chamar o trabalho de processamento diretamente para essa finalidade, é necessário definir o mapa Environment como mostrado no exemplo a seguir:

"Environment": { "dataset_format": "{\"csv\”: { \”header\”: true}", "dataset_source": "/opt/ml/processing/sm_input", "output_path": "/opt/ml/processing/sm_output", "publish_cloudwatch_metrics": "Disabled", }