昇腾社区首页
中文
注册
开发者
下载

临终CKPT保存

尽管通过异步保存周期性CKPT能够降低周期性保存间隔,从而降低每次故障的损失,但是由于仍然具有保存开销,难以做到秒级的故障损失。因此,MindCluster集群调度组件提供临终保存CKPT能力,在故障时刻保存当前step初始的参数状态,从而将训练恢复的状态损失降低到一个“step”以内。

MindCluster MindIO Try To Persist(下文简称MindIO TTP)提供临终CKPT能力,帮助用户在故障时刻保存临终时刻CKPT。

了解临终CKPT保存的详细介绍,请参见故障恢复加速

了解临终CKPT保存的配置步骤,请参见配置临终CKPT保存

适配功能点

在临终CKPT中,框架首先初始化MindIO服务,启动服务后优化器更新时会上报对应状态到MindIO。随后,创建DP副本组和优化器副本,以保障模型参数的冗余备份。在异常发生时,通过异常捕获装饰器捕获故障模式,之后执行算子资源清理,基于副本完成临终CKPT保存。

对于非MindSpeed-LLM用户,需在框架侧完成表1的功能适配。

表1 临终CKPT保存框架适配功能点

适配功能点

功能简述

参考链接

初始化拉起

训练框架初始化时拉起MindIO服务。

对接非MindSpeed-LLM框架

上报优化器更新状态

优化器更新前上报优化器更新的开始和结束状态。

创建DP副本组

新增dp_cp/dp_ep副本组及gloo组创建逻辑,在原生Megatron分布式并行组创建后创建相关副本组。

优化器副本

接管、继承相关Megatron原生优化器功能,嵌入MindIO优化器副本管理逻辑。

异常捕获装饰器

使用异常捕获装饰器装饰train函数捕获故障模式。

算子资源清理

通过回调函数完成算子清理、恢复算子下发能力。

临终CKPT

通过新增回调函数、优化器副本dump方法完成临终CKPT保存。