【多模态大模型学习--模型训练踩坑】deepspeed.runtime.zero.utils.ZeRORuntimeException: The checkpoint being loaded use

deepspeed.runtime.zero.utils.ZeRORuntimeException: The checkpoint being loaded used a DP world size of 2 but the current world size is 8. Automatic adjustment of ZeRO’s optimizer state partitioning with a new world size is not currently supported.

省流版:

本次训练没有更改模型参数的存储路径,相当于接着上次的参数继续训练。我上次用了2卡,这次用8卡,两次配置不同导致了报错。所以要从头训练的话,设置一个新的保存路径即可。

错误类型:

错误名称为 ZeRORuntimeException,表明这是在使用Deepspeed的ZeRO优化器时发生的运行时异常。
错误描述:

报错说明加载的检查点(checkpoint)所使用的数据并行(DP, Data Parallelism)世界大小(world size)为2。在分布式训练中,“世界大小”指的是参与训练的进程数量,这里特指数据并行的进程数。
当前的训练配置中,世界大小被设置为了8,意味着现在有8个进程试图参与数据并行训练。

错误的关键在于,Deepspeed的ZeRO优化器目前不支持自动调整优化器状态的分区(partitioning),以适应从加载的检查点到当前配置的世界大小变化。这意味着,如果检查点是在不同数量的进程中保存的,直接在不同数量的进程中加载就会出现问题。

解决方案:

手动调整配置: 需要手动确保加载检查点时的训练配置与保存时完全一致,即调整当前的world size为2,以匹配检查点的设置。
重新训练: 如果需要使用8个进程进行训练,可能需要从头开始训练,而不是从这个特定的检查点恢复。
等待或贡献功能: 目前Deepspeed可能还没有实现自动调整优化器状态分区以适应不同世界大小的功能。可以关注Deepspeed的更新,或者如果具备相应技术能力,也可以考虑为Deepspeed贡献这部分功能。
总之,该错误是因为加载的训练状态与当前的分布式训练设置不匹配导致的,解决方法需要用户手动调整配置或重新考虑训练策略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值