功能特点
断点续训特性在Kubernetes(以下简称K8s)集群中训练任务出现故障时,使系统能够感知故障,将故障资源进行处理或隔离,并根据训练任务需要重新分配资源,通过之前保存的周期性的ckpt重新拉起训练任务继续训练,缩短损失时间。
断点续训主要分为故障发现、故障处理和训练重启三个阶段,每个阶段的说明如下。
- 故障发现:通过MindCluster Ascend Device Plugin、MindCluster Volcano和MindCluster NodeD三个组件提供的能力检查节点、芯片、参数面网络或业务面的健康状态和故障类型。
- 故障处理:故障发生后,根据上报的故障信息进行故障处理。分为以下两种模式。
- 重调度模式:在该模式下存在以下两种重调度策略。
- 直接重调度:训练过程中发生确定的故障,系统将故障节点或芯片进行隔离,直接对任务进行重调度。
- 无条件重试:训练过程中发生未确定故障,导致任务容器异常退出,系统无条件对任务进行重调度。
- 优雅容错模式:当训练时芯片设备出现故障后,系统将尝试对故障芯片进行自动恢复,如果可以恢复则将任务原地拉起继续训练,不能恢复则回退至重调度模式。如果用户训练时没有备用资源或者期望设备自动恢复,推荐选择优雅容错模式。
若设备之间采用网线直连的方式进行组网,芯片故障发生后,优雅容错会重置设备导致网络故障。该故障会触发重调度模式,任务Pod将会被重调度。
- 重调度模式:在该模式下存在以下两种重调度策略。
- 训练重启:在任务重新调度之后,训练任务会使用故障前自动保存的ckpt,重新拉起训练任务继续训练,缩短训练损失时间。
父主题: 特性说明