Activación del almacenamiento en caché de pasos - 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.

Activación del almacenamiento en caché de pasos

Para activar el almacenamiento en caché de pasos, debe añadir una CacheConfig propiedad a la definición del paso. CacheConfiglas propiedades utilizan el siguiente formato en el archivo de definición de canalización:

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

El campo Enabled indica si el almacenamiento en caché está activado para un paso concreto. Puede configurar el campo entrue, lo que indica que hay que SageMaker intentar buscar una ejecución anterior del paso con los mismos atributos. O bien, puede configurar el campo enfalse, lo que indica que se debe SageMaker ejecutar el paso cada vez que se ejecute la canalización. ExpireAfteres una cadena con un formato de duración ISO 8601 que define el período de tiempo de espera. La duración ExpireAfter puede ser un valor de año, mes, semana, día, hora o minuto. Cada valor consta de un número seguido de una letra que indica la unidad de duración. Por ejemplo:

  • “30d” = 30 días

  • “5y” = 5 años

  • “T16m” = 16 minutos

  • “30dT5h” = 30 días y 5 horas.

En la siguiente discusión se describe el procedimiento para activar el almacenamiento en caché para canalizaciones nuevas o preexistentes mediante Amazon Python. SageMaker SDK

Activación del almacenamiento en caché para nuevas canalizaciones

En el caso de canalizaciones nuevas, inicialice una instancia CacheConfig con enable_caching=True y proporcione esto como entrada al paso de canalización. En el siguiente ejemplo, se activa el almacenamiento en caché con un período de espera de 1 hora para un paso de entrenamiento:

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 )

Activación del almacenamiento en caché para canalizaciones preexistentes

Para activar el almacenamiento en caché de las canalizaciones preexistentes y ya definidas, active la propiedad enable_caching para el paso y establezca expire_after en un valor de tiempo de espera. Por último, actualiza la canalización con pipeline.upsert() o pipeline.update(). Una vez que se ejecute de nuevo, el siguiente ejemplo de código activa el almacenamiento en caché con un período de espera de 1 hora para un paso de entrenamiento:

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

Como alternativa, actualice la configuración de la caché una vez que haya definido la canalización (preexistente), lo que permitirá ejecutar el código de forma continua. En el siguiente ejemplo de código se muestra este método:

# 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()

Para obtener ejemplos de código más detallados y un análisis sobre cómo SDK los parámetros de Python afectan al almacenamiento en caché, consulte Configuración del almacenamiento en caché en la documentación de Amazon SageMaker PythonSDK.