Structure et exécution du pipeline - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Structure et exécution du pipeline

Structure du pipeline

Une instance Amazon SageMaker Model Building Pipelines est composée d'un nameparameters, etsteps. Les noms des pipelines doivent être uniques au sein d'une paire (account, region). Tous les paramètres utilisés dans les définitions d'étapes doivent être définis dans le pipeline. Les étapes du pipeline répertoriées déterminent automatiquement leur ordre d'exécution en fonction de leurs dépendances de données les unes par rapport aux autres. Le service SageMaker Pipelines résout les relations entre les étapes du DAG de dépendance aux données afin de créer une série d'étapes que l'exécution complète. Voici un exemple de structure de pipeline.

from sagemaker.workflow.pipeline import Pipeline pipeline_name = f"AbalonePipeline" pipeline = Pipeline( name=pipeline_name, parameters=[ processing_instance_type, processing_instance_count, training_instance_type, model_approval_status, input_data, batch_data, ], steps=[step_process, step_train, step_eval, step_cond], )

Exécution de pipelines à l'aide de la configuration de parallélisme

Par défaut, un pipeline effectue toutes les étapes pouvant être exécutées en parallèle. Vous pouvez contrôler ce comportement à l'aide de la propriété ParallelismConfiguration lors de la création ou de la mise à jour d'un pipeline, ainsi que lors du démarrage ou de la nouvelle tentative d'exécution d'un pipeline.

Les configurations de parallélisme sont appliquées par exécution. Par exemple, si deux exécutions sont démarrées, elles peuvent chacune exécuter un maximum de 50 étapes simultanément, pour un total de 100 étapes exécutées simultanément. De plus, la ou les ParallelismConfiguration(s) spécifiées lors du démarrage, de la nouvelle tentative ou de la mise à jour d'une exécution sont prioritaires par rapport aux configurations de parallélisme définies dans le pipeline.

Exemple Création d'une exécution de pipeline avec ParallelismConfiguration
pipeline = Pipeline( name="myPipeline", steps=[step_process, step_train] ) pipeline.create(role, parallelism_config={"MaxParallelExecutionSteps": 50})