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

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

中的服务作业重试策略 Amazon Batch

服务作业重试策略 Amazon Batch 允许在特定条件下自动重试失败的服务作业。

由于以下几个原因,服务作业可能需要多次尝试:

  • 临时服务问题:内部服务错误、限制或临时中断可能会导致作业在提交或执行期间失败。

  • 训练初始化失败:作业启动期间的问题,例如图像提取问题或初始化错误,可能会在重试时得到解决。

通过配置适当的重试策略,您可以提高作业成功率并减少对手动干预的需求,尤其是对于长时间运行的训练工作负载。

注意

服务作业会自动重试某些类型的故障,例如容量不足错误,而无需消耗您配置的重试次数。您的重试策略主要处理其他类型的故障,例如算法错误或服务问题。

配置重试策略

使用配置服务作业重试策略 ServiceJobRetryStrategy,它支持简单的重试计数和有条件的重试逻辑。

重试配置

最简单的重试策略指定服务作业失败时应进行的重试次数:

{ "retryStrategy": { "attempts": 3 } }

此配置允许在服务作业失败时最多重试 3 次。

重要

attempts值表示可以将作业置于该RUNNABLE状态的总次数,包括初次尝试次数。值为 3 表示该作业最初将尝试一次,如果失败,则最多可再重试 2 次。

使用重试配置 evaluateOnExit

您可以使用evaluateOnExit参数来指定应重试或允许作业失败的条件。当不同类型的故障需要不同的处理时,这很有用。

evaluateOnExit数组最多可以包含 5 个重试策略,每种策略都根据状态原因指定一个操作(RETRYEXIT)和条件:

{ "retryStrategy": { "attempts": 5, "evaluateOnExit": [ { "action": "RETRY", "onStatusReason": "Received status from SageMaker: InternalServerError*" }, { "action": "EXIT", "onStatusReason": "Received status from SageMaker: ValidationException*" }, { "action": "EXIT", "onStatusReason": "*" } ] } }

此配置:

  • 重试由于 SageMaker AI 内部服务器错误而失败的作业

  • 遇到验证异常(无法通过重试解决的客户端错误)的作业立即失败

  • 包括针对任何其他故障类型退出的包罗万象的规则

状态原因模式匹配

onStatusReason参数支持最多 512 个字符的模式匹配。模式可以使用通配符 (*),并与 SageMaker AI 返回的状态原因进行匹配。

对于服务作业, SageMaker 来自 AI 的状态消息以 “接收的状态来自 SageMaker:” 为前缀,以将其与 Amazon Batch生成的消息区分开来。常见模式包括:

  • Received status from SageMaker: InternalServerError*-匹配内部服务错误

  • Received status from SageMaker: ValidationException*-匹配客户端验证错误

  • Received status from SageMaker: ResourceLimitExceeded*-匹配资源限制错误

  • *CapacityError*-匹配与容量相关的故障

提示

使用特定的模式匹配来适当地处理不同的错误类型。例如,重试内部服务器错误,但如果出现表明作业参数存在问题的验证错误,则立即失败。