Integración de Amazon SageMaker Experiments - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Integración de Amazon SageMaker Experiments

Amazon SageMaker Model Building Pipelines está estrechamente integrado con Amazon SageMaker Experiments. De forma predeterminada, cuando SageMaker Pipelines crea y ejecuta una canalización, se crean las siguientes entidades de SageMaker Experiments si no existen:

  • Un experimento para la canalización

  • Un grupo de ejecución para cada ejecución de la canalización

  • Una ejecución que se añade al grupo de ejecuciones por cada SageMaker trabajo creado en un paso de ejecución de la canalización

Puedes comparar métricas, como la precisión del entrenamiento del modelo, entre varias ejecuciones en proceso, del mismo modo que puedes comparar dichas métricas entre varios grupos de ejecuciones de un experimento de entrenamiento con SageMaker modelos.

El siguiente ejemplo muestra los parámetros relevantes de la clase Pipeline en Amazon SageMaker Python SDK.

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

Si no quiere que se cree un experimento y grupo de ejecuciones para la canalización, configure pipeline_experiment_config en None.

nota

La integración de los experimentos se introdujo en Amazon SageMaker Python SDK v2.41.0.

Las siguientes reglas de nomenclatura se aplican en función de lo que especifique para los parámetros ExperimentName y TrialName de pipeline_experiment_config:

  • Si no especifica un ExperimentName, se usará el name de la canalización como nombre del experimento.

    Si especifica un ExperimentName, se usará como nombre del experimento. Si existe un experimento con ese nombre, los grupos de ejecuciones creados por la canalización se agregan al experimento existente. Si no existe un experimento con ese nombre, se crea uno nuevo.

  • Si no especifica un TrialName, se utiliza el ID de ejecución de la canalización como nombre del grupo de ejecuciones.

    Si especifica un TrialName, se usará como nombre del grupo de ejecuciones. Si existe un grupo de ejecuciones con ese nombre, las ejecuciones creados por la canalización se agregan al grupo de ejecuciones existente. Si no existe un grupo de ejecuciones con ese nombre, se crea uno nuevo.

nota

Las entidades del experimento no se eliminan cuando se elimina la canalización que las creó. Puede usar los SageMaker experimentos API para eliminar las entidades.

Para obtener información sobre cómo ver las entidades del SageMaker experimento asociadas a una canalización, consulteVea las entidades experimentales creadas por SageMaker canalizaciones. Para obtener más información sobre SageMaker los experimentos, consulteGestione Amazon SageMaker Experiments en Studio Classic.

En las siguientes secciones se muestran ejemplos de las reglas anteriores y de cómo se representan en el archivo de definición de la canalización. Para obtener más información sobre los archivos de definición de las canalizaciones, consulte SageMaker Descripción general de las canalizaciones.

Comportamiento predeterminado

Cree una canalización

Se omite pipeline_experiment_config. El valor predeterminado ExperimentName es el name de la canalización. El valor predeterminado de TrialName es el ID de ejecución.

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

Archivo de definición de la canalización

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

Deshabilitar la integración de experimentos

Cree una canalización

pipeline_experiment_config se establece en None.

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

Archivo de definición de la canalización

Es igual que en el ejemplo de valores predeterminados anterior, sin la PipelineExperimentConfig.

Especificar un nombre de experimento personalizado

Se utiliza un nombre de experimento personalizado. El nombre del grupo de ejecuciones se establece en el ID de ejecución, como ocurre con el comportamiento predeterminado.

Cree una canalización

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

Archivo de definición de la canalización

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

Especifique un nombre personalizado del grupo de ejecuciones

Se utiliza un nombre personalizado del grupo de ejecuciones y se anexa al ID de ejecución. El nombre del experimento se establece en el nombre de la canalización, como ocurre con el comportamiento predeterminado.

Cree una canalización

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] )

Archivo de definición de la canalización

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