Activer la mise en cache des étapes - 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.

Activer la mise en cache des étapes

Pour activer la mise en cache des étapes, vous devez ajouter une CacheConfig propriété à la définition de l'étape. CacheConfigles propriétés utilisent le format suivant dans le fichier de définition du pipeline :

{     "CacheConfig": {         "Enabled": false,         "ExpireAfter": "<time>"     } }

Le champ Enabled indique si la mise en cache est activée pour l'étape en question. Vous pouvez définir le champ surtrue, ce qui indique d' SageMaker essayer de retrouver une exécution précédente de l'étape avec les mêmes attributs. Vous pouvez également définir le champ surfalse, qui indique d'exécuter l'étape SageMaker à chaque fois que le pipeline s'exécute. ExpireAfterest une chaîne au format ISO8601 qui définit le délai d'expiration. La durée ExpireAfter peut être une année, un mois, une semaine, un jour, une heure ou une minute. Chaque valeur est constituée d'un nombre suivi d'une lettre indiquant l'unité de durée. Par exemple :

  • « 30d » = 30 jours

  • « 5y » = 5 ans

  • « T16m » = 16 minutes

  • « 30dT5h » = 30 jours et 5 heures.

La discussion suivante décrit la procédure d'activation de la mise en cache pour les pipelines nouveaux ou préexistants à l'aide d'Amazon Python SageMaker . SDK

Activer la mise en cache pour les nouveaux pipelines

Pour les nouveaux pipelines, initialisez une instance CacheConfig avec enable_caching=True et fournissez-la en tant qu'entrée à l'étape de votre pipeline. L'exemple suivant active la mise en cache avec un délai d'expiration d'une heure pour une étape d'entraînement :

from sagemaker.workflow.pipeline_context import PipelineSession from sagemaker.workflow.steps import CacheConfig cache_config = CacheConfig(enable_caching=True, expire_after="PT1H") estimator = Estimator(..., sagemaker_session=PipelineSession()) step_train = TrainingStep( name="TrainAbaloneModel", step_args=estimator.fit(inputs=inputs), cache_config=cache_config )

Activer la mise en cache pour les pipelines préexistants

Pour activer la mise en cache pour les pipelines préexistants et déjà définis, activez la propriété enable_caching associée à l'étape et définissez expire_after sur une valeur de délai d'expiration. Enfin, mettez à jour le pipeline avec pipeline.upsert() ou pipeline.update(). Lorsque vous le réexécutez, l'exemple de code suivant active la mise en cache avec un délai d'expiration d'une heure pour une étape d'entraînement :

from sagemaker.workflow.pipeline_context import PipelineSession from sagemaker.workflow.steps import CacheConfig from sagemaker.workflow.pipeline import Pipeline cache_config = CacheConfig(enable_caching=True, expire_after="PT1H") estimator = Estimator(..., sagemaker_session=PipelineSession()) step_train = TrainingStep( name="TrainAbaloneModel", step_args=estimator.fit(inputs=inputs), cache_config=cache_config ) # define pipeline pipeline = Pipeline( steps=[step_train] ) # additional step for existing pipelines pipeline.update() # or, call upsert() to update the pipeline # pipeline.upsert()

Vous pouvez également mettre à jour la configuration du cache après avoir déjà défini le pipeline (préexistant), en autorisant l'exécution continue du code. L'exemple de code suivant illustre cette méthode :

# turn on caching with timeout period of one hour pipeline.steps[0].cache_config.enable_caching = True pipeline.steps[0].cache_config.expire_after = "PT1H" # additional step for existing pipelines pipeline.update() # or, call upsert() to update the pipeline # pipeline.upsert()

Pour des exemples de code plus détaillés et une discussion sur la façon dont SDK les paramètres Python affectent la mise en cache, consultez la section Configuration de la mise en cache dans la documentation Amazon SageMaker PythonSDK.