缓存管道步骤 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

缓存管道步骤

当你使用步骤签名缓存时,之前 SageMaker 管道执行一个步骤,它试图找到以前用相同参数调用的步骤的执行情况。SageMaker Pipeline 会检查呼叫签名是否相同。Pipeline 不会检查参数所指向的数据或代码是否已更改。如果 Pipeline 找到之前的执行,它会创建缓存命中。然后,Pipeline 在执行过程中传播缓存命中的值,而不是重新计算步骤。

步骤缓存只考虑成功执行,因此它永远不会重复使用失败的执行。如果在超时期限内存在多个成功执行,Pipeline 将使用结果来执行最近一次成功执行。如果在超时期内没有成功执行匹配,则 Pipeline 不会重复使用任何步骤。 如果执行者找到仍在进行的上一步执行的缓存命中,则两个步骤都将继续执行并更新缓存(如果成功)。

你必须选择加入分步缓存,否则默认情况下它处于关闭状态。启用步骤缓存时,还必须定义超时。此超时定义了以前的执行时间可以考虑重复使用的时间。

步骤缓存仅限于单个管道的范围,因此您无法重复使用其他管道中的步骤。即使另一个管道中存在步骤签名匹配,也不会重复使用该步骤。

步骤缓存可用于以下步骤类型:

启用步骤缓存

要启用步骤缓存,必须添加CacheConfig属性到步骤定义中。

CacheConfig属性在管道定义文件中使用以下格式。

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

这些区域有:Enabled字段可能为 true 或 false。ExpireAfter是定义超时时间段的字符串。任何 ISO 8601 持续时间字符串都是有效的ExpireAfter值。这些区域有:ExpireAfter持续时间可包含年、月、周、日、小时和分钟值。每个值都由一个数字组成,后跟一个字母表示它所用的持续时间单位。 例如:

  • “30d” = 三十天

  • “5y” = 五年

  • “t16m” = 16 分钟

  • “30dt5h” = 30 天零 5 个小时。

以下示例说明如何使用 Amazon 对训练步骤启用缓存。 SageMaker Python 开发工具包。

from sagemaker.workflow.steps import CacheConfig cache_config = CacheConfig(enable_caching=True, expire_after="PT1H") step_train = TrainingStep( name="TrainAbaloneModel", estimator=xgb_train, inputs=inputs, cache_config=cache_config )