本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
中的服务作业重试策略 Amazon Batch
服务作业重试策略 Amazon Batch 允许在特定条件下自动重试失败的服务作业。
由于以下几个原因,服务作业可能需要多次尝试:
-
临时服务问题:内部服务错误、限制或临时中断可能会导致作业在提交或执行期间失败。
-
训练初始化失败:作业启动期间的问题,例如图像提取问题或初始化错误,可能会在重试时得到解决。
通过配置适当的重试策略,您可以提高作业成功率并减少对手动干预的需求,尤其是对于长时间运行的训练工作负载。
注意
服务作业会自动重试某些类型的故障,例如容量不足错误,而无需消耗您配置的重试次数。您的重试策略主要处理其他类型的故障,例如算法错误或服务问题。
配置重试策略
使用配置服务作业重试策略 ServiceJobRetryStrategy,它支持简单的重试计数和有条件的重试逻辑。
重试配置
最简单的重试策略指定服务作业失败时应进行的重试次数:
{ "retryStrategy": { "attempts": 3 } }
此配置允许在服务作业失败时最多重试 3 次。
重要
该attempts
值表示可以将作业置于该RUNNABLE
状态的总次数,包括初次尝试次数。值为 3 表示该作业最初将尝试一次,如果失败,则最多可再重试 2 次。
使用重试配置 evaluateOnExit
您可以使用evaluateOnExit
参数来指定应重试或允许作业失败的条件。当不同类型的故障需要不同的处理时,这很有用。
该evaluateOnExit
数组最多可以包含 5 个重试策略,每种策略都根据状态原因指定一个操作(RETRY
或EXIT
)和条件:
{ "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*
-匹配与容量相关的故障
提示
使用特定的模式匹配来适当地处理不同的错误类型。例如,重试内部服务器错误,但如果出现表明作业参数存在问题的验证错误,则立即失败。