Integração SageMaker com Amazon Experiments - 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á.

Integração SageMaker com Amazon Experiments

O Amazon SageMaker Model Building Pipelines está estreitamente integrado ao Amazon SageMaker Experiments. Por padrão, quando o SageMaker Pipelines cria e executa um pipeline, as seguintes entidades SageMaker Experiments são criadas, caso não existam:

  • Um experimento para o pipeline

  • Um grupo de execução para cada execução do pipeline

  • Uma execução que é adicionada ao grupo de execução para cada SageMaker trabalho criado em uma etapa de execução do pipeline

Você pode comparar métricas, como a precisão do treinamento de modelos, em várias execuções de pipeline, da mesma forma que pode comparar essas métricas em vários grupos de execução de um experimento de treinamento de SageMaker modelo.

O exemplo a seguir mostra os parâmetros relevantes da classe Pipeline no Amazon SageMaker Python SDK.

Pipeline( name="MyPipeline", parameters=[...], pipeline_experiment_config=PipelineExperimentConfig( ExecutionVariables.PIPELINE_NAME, ExecutionVariables.PIPELINE_EXECUTION_ID ), steps=[...] )

Se você não quiser criar um grupo de experimentos e execuções para o pipeline, defina pipeline_experiment_config como None.

nota

A integração de experimentos foi introduzida no Amazon SageMaker Python SDK v2.41.0.

As regras de nomenclatura a seguir se aplicam com base no que você especifica para os parâmetros ExperimentName e TrialName de pipeline_experiment_config:

  • Se você não especificar o ExperimentName, o pipeline name será usado para o nome do experimento.

    Se você especificar o ExperimentName, ele será usado para o nome do experimento. Se existir um experimento com esse nome, os grupos de execução criados pelo pipeline serão adicionados ao experimento existente. Se um experimento com esse nome não existir, um novo experimento será criado.

  • Se você não especificar o TrialName, o ID de execução do pipeline será usado para o nome do grupo de execução.

    Se você especificar o TrialName, ele será usado para o nome do grupo de execução. Se existir um grupo de execução com esse nome, as execuções criadas pelo pipeline serão adicionadas ao grupo de execução existente. Se um grupo de execução com esse nome não existir, um novo grupo de execução será criado.

nota

As entidades do experimento não são excluídas quando o pipeline que criou as entidades é excluído. Você pode usar os SageMaker Experimentos API para excluir as entidades.

Para obter informações sobre como visualizar as entidades do SageMaker experimento associadas a um pipeline, consulteExibir entidades de experimentos criadas por SageMaker pipelines. Para obter mais informações sobre SageMaker experimentos, consulteGerencie SageMaker experiências da Amazon no Studio Classic.

As seções a seguir mostram exemplos das regras anteriores e como elas são representadas no arquivo de definição de pipeline. Para obter mais informações sobre os arquivos de definição de pipeline, consulte SageMaker Visão geral dos oleodutos.

Comportamento padrão

Criar um pipeline

A pipeline_experiment_config é omitida. O ExperimentName é padrão para o pipeline name. O TrialName é padrão para o ID da execução.

pipeline_name = f"MyPipeline" pipeline = Pipeline( name=pipeline_name, parameters=[...], steps=[step_train] )

Arquivo de definição de pipeline

{ "Version": "2020-12-01", "Parameters": [ { "Name": "InputDataSource" }, { "Name": "InstanceCount", "Type": "Integer", "DefaultValue": 1 } ], "PipelineExperimentConfig": { "ExperimentName": {"Get": "Execution.PipelineName"}, "TrialName": {"Get": "Execution.PipelineExecutionId"} }, "Steps": [...] }

Desabilitar a integração de experimentos

Criar um pipeline

A pipeline_experiment_config é definida como None.

pipeline_name = f"MyPipeline" pipeline = Pipeline( name=pipeline_name, parameters=[...], pipeline_experiment_config=None, steps=[step_train] )

Arquivo de definição de pipeline

É o mesmo do exemplo padrão anterior, sem a PipelineExperimentConfig.

Especifique um nome de experimento personalizado

Um nome de experimento personalizado é usado. O nome do grupo de execução é definido como o ID de execução, como acontece com o comportamento padrão.

Criar um pipeline

pipeline_name = f"MyPipeline" pipeline = Pipeline( name=pipeline_name, parameters=[...], pipeline_experiment_config=PipelineExperimentConfig( "CustomExperimentName", ExecutionVariables.PIPELINE_EXECUTION_ID ), steps=[step_train] )

Arquivo de definição de pipeline

{ ..., "PipelineExperimentConfig": { "ExperimentName": "CustomExperimentName", "TrialName": {"Get": "Execution.PipelineExecutionId"} }, "Steps": [...] }

Especificar um nome de grupo de execução personalizado

Um nome de grupo de execução personalizado é usado e anexado ao ID de execução. O nome do experimento é definido como o nome do pipeline, como acontece com o comportamento padrão.

Criar um pipeline

pipeline_name = f"MyPipeline" pipeline = Pipeline( name=pipeline_name, parameters=[...], pipeline_experiment_config=PipelineExperimentConfig( ExecutionVariables.PIPELINE_NAME, Join(on="-", values=["CustomTrialName", ExecutionVariables.PIPELINE_EXECUTION_ID]) ), steps=[step_train] )

Arquivo de definição de pipeline

{ ..., "PipelineExperimentConfig": { "ExperimentName": {"Get": "Execution.PipelineName"}, "TrialName": { "On": "-", "Values": [ "CustomTrialName", {"Get": "Execution.PipelineExecutionId"} ] } }, "Steps": [...] }