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

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

缓存管道步骤

当您使用步骤签名缓存时,在 SageMaker Pipelines 执行步骤之前,它将尝试查找之前使用相同参数调用的步骤执行。 SageMaker管道检查调用签名是否相同。管道不会检查参数指向的数据或代码是否已更改。如果找到上一个执行,则会创建缓存命中。然后,管道在执行期间传播缓存命中的值,而不是重新计算步骤。

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

您必须选择使用步骤缓存,否则默认情况下将禁用。启用步骤缓存时,还必须定义超时。此超时定义可以考虑重复使用上一个执行的期限。

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

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

  • 培训

  • 处理

  • 转换

启用步骤缓存

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

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

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

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

  • “30d 30 天

  • “5y 五年

  • “T16m” = 16 分钟

  • “30dT5h” = 30 天和五小时。

以下示例说明如何使用 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 )