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

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

管道步骤的重试策略

重试策略可帮助您在出错后自动重试流水线步骤。任何管道步骤都可能遇到异常,而发生异常的原因多种多样。在某些情况下,重试可以解决这些问题。通过管道步骤的重试策略,您可以选择是否重试特定管道步骤。

重试策略仅支持以下管道步骤:

注意

在优化步骤和 AutoML 步骤中运行的作业在内部进行重试,即使配置了重试策略,也不会重试 SageMaker.JOB_INTERNAL_ERROR 异常类型。您可以使用编程自己的重试策略。 SageMaker API

重试策略支持的异常类型

管道步骤的重试策略支持以下异常类型:

  • Step.SERVICE_FAULT:如果调用下游服务时发生内部服务器错误或瞬时错误,则会发生这些异常。管道会自动重试此类错误。使用重试策略,您可以覆盖此异常类型的默认重试操作。

  • Step.THROTTLING:调用下游服务时可能会出现节流异常。管道会自动重试此类错误。使用重试策略,您可以覆盖此异常类型的默认重试操作。

  • SageMaker.JOB_INTERNAL_ERROR:这些异常发生在 SageMaker 任务返回时InternalServerError。在这种情况下,启动新作业可能会解决暂时性问题。

  • SageMaker.CAPACITY_ERROR: 该 SageMaker 工作可能会遇到 Amazon EC2InsufficientCapacityErrors,从而导致 SageMaker 任务失败。您可以通过启动新 SageMaker 作业来重试,以避免出现此问题。

  • SageMaker.RESOURCE_LIMIT:运行 SageMaker 作业时,您可以超出资源限制配额。您可以稍等片刻,然后在短时间后重试运行 SageMaker 作业,看看资源是否已释放。

重试策略的JSON架构

管道的重试策略具有以下JSON架构:

"RetryPolicy": { "ExceptionType": [String] "IntervalSeconds": Integer "BackoffRate": Double "MaxAttempts": Integer "ExpireAfterMin": Integer }
  • ExceptionType:此字段需要以下字符串数组格式的异常类型。

    • Step.SERVICE_FAULT

    • Step.THROTTLING

    • SageMaker.JOB_INTERNAL_ERROR

    • SageMaker.CAPACITY_ERROR

    • SageMaker.RESOURCE_LIMIT

  • IntervalSeconds(可选):第一次重试前的秒数(默认为 1)。IntervalSeconds 的最大值为 43200 秒(12 小时)。

  • BackoffRate(可选):每次尝试时重试间隔增加的乘数(默认为 2.0)。

  • MaxAttempts(可选):一个正整数,表示重试的最大次数(默认为 5)。如果错误重复发生超过 MaxAttempts 指定次数,则停止重试并恢复正常错误处理。值为 0 表示永不重试错误。MaxAttempts 最大值为 20。

  • ExpireAfterMin(可选):一个正整数,表示重试的最大时间跨度。如果在执行步骤的 ExpireAfterMin 分钟数后再次出现错误,则停止重试并恢复正常的错误处理。值为 0 表示永不重试错误。ExpireAfterMin 的最大值为 14400 分钟(10 天)。

    注意

    只能给出 MaxAttemptsExpireAfterMin 中的一个,但不能同时给出两个;如果两者均 指定,则 MaxAttempts 变为默认值。如果在一个策略中标识了这两个属性,则重试策略会生成验证错误。