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

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

缓存管道步骤

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

步骤缓存仅考虑成功的执行,因此不会重复使用失败的执行。当超时期间内存在多个成功的执行时,Pipeline 将使用结果进行最近一次成功的执行。如果在超时期间内没有成功的执行匹配,Pipeline 将不会重复使用任何步骤。 如果执行程序发现仍在进行的上一步执行的缓存命中,则这两个步骤都会继续执行并更新缓存(如果它们成功)。

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

步骤缓存仅针对单个管道设定作用域,因此您不能重复使用另一个管道中的步骤。即使在另一个管道中存在步骤签名匹配,也不会重复使用该步骤。

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

  • 培训

  • 处理

  • 转换

启用步骤缓存

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

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

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

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

  • “30 天” = 三十天

  • “5 年” = 五年

  • “一亿六千米” = 16 分钟

  • “30 分钟时” = 30 天零 5 小时。

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

cache_config = CacheConfig(enable_caching=True, expire_after="PT1H") step_train = TrainingStep( name="TrainAbaloneModel", estimator=xgb_train, inputs=inputs, cache_config=cache_config )