已关闭
[Bug][自提单]: 动态图开启pp2,加载自训权重不改策略续训,加载权重失败 #2359
Sunshine_Youngster创建于 6月16日关闭于 7月23日
6月16日 添加了label:bug
此处折叠了6条事件消息 查看更多
6月16日 修改了issue 的描述
Sunshine_Youngster
6月16日 评论:
6月16日 评论:
问题根因:
- 开pp的时候,模型会被切成N份,当前保存metadata.json只有0卡保存,其他卡等待;
- 保存metadata的时候,会区分模型权重和优化器权重,是依靠权重名是否在model_keys里面来判定的,model_keys在开了pp后,0卡只能拿到当前对应的pp切分模型,所以model_keys是缺失了(不是全局的);
- 因此,存下来的meta只有0卡对应的stage的模型meta信息是正确的,其他stage的meta信息,会把本来存在model里面的模型权重,文件名定向到opt里面
- 这就导致了加载的时候,读了一个错误的meta,对应的文件里面加载不到需要的权重,因此报错
转昱坤解决


zhanxiaojie111
6月16日 评论:
6月16日 评论:
测试时间:20260616
deepseek 16卡 续训用例dp2mp2pp4ep4bs1mb8gas1cp1_910_16p_0001加载权重的时遇到相同报错
用此单跟踪


6月18日 关闭了 issue
此处折叠了13条事件消息 查看更多
yule100
6月22日 评论:
6月22日 评论:
问题根因:在pp场景下,模型会按层数切分,每个stage只会初始化当前stage的模型(不完整),而权重保存只会在rank0上保存,之前的model_keys和meta信息都只拿到了部分meta信息 导致最后存下来的meta信息和实际权重也是缺少的。故,在加载权重的时候,会报错找不到权重的parameter dict
修复方案:调用hyper-parallel的get_global_layout接口获取完整的meta信息和model_keys
修复pr:https://gitcode.com/mindspore/mindformers/pull/8429
自验结果:开启pp并行存权重,单卡和各种并行场景加载权重续训 截图见pr


zhanxiaojie111
6月25日 评论:
6月25日 评论:
回归时间:20260625
回归版本:ms:commit_id = '[sha1]:bfb35d9b
hp:commit d4ca5e5
mf:commit c326d4ec0a160741bae5c112ce4c9153cea32a88
回归结果:
回归结论:回归通过


7月23日 issue状态由 VALIDATION 改变为 DONE
7月23日 关闭了 issue
Checklist
🐞 问题详细描述
哈希路由开启pp2续训,rank5/6/7加载权重失败,rank0-4加载成功

如果改为pp4,则是rank3/5/7加载失败

不开哈希路由,单纯pp2的ds3:1dense+3moe续训也同样失败
详细的环境信息描述
mf master
ms matser
hp master
其他辅助信息
版本信息
master
Thanks for contributing 🎉!