Structure et exécution du pipeline - Amazon SageMaker AI

Structure et exécution du pipeline

Structure du pipeline

Une instance d’Amazon SageMaker Pipelines est composée des éléments name, parameters et steps. 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 Pipelines résout les relations entre les étapes présentes dans le graphique DAG de dépendance des données afin de créer une série d’étapes que l’exécution effectue. Voici un exemple de structure de pipeline.

Avertissement

Lorsque vous générez un pipeline via l’éditeur visuel ou le kit SageMaker AI Python SDK, n’incluez aucune information sensible dans les paramètres du pipeline ou dans les champs de définition des étapes (telle que des variables d’environnement). Ces champs seront visibles à l’avenir lorsqu’ils seront renvoyés dans une demande DescribePipeline.

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