已关闭
[Bug][自提单]: 动态图开启pp2,加载自训权重不改策略续训,加载权重失败 #2359
Sunshine_Youngster创建于  6月16日关闭于  7月23日
Sunshine_Youngster
Sunshine_Youngster成员
6月16日 创建

Checklist

🐞 问题详细描述

哈希路由开启pp2续训,rank5/6/7加载权重失败,rank0-4加载成功
image.png

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

不开哈希路由,单纯pp2的ds3:1dense+3moe续训也同样失败

详细的环境信息描述

mf master
ms matser
hp master

其他辅助信息

版本信息

master

Thanks for contributing 🎉!

likedislike
Sunshine_YoungsterSunshine_Youngster成员
6月16日 添加了label:bug
此处折叠了6条事件消息 查看更多
Sunshine_YoungsterSunshine_Youngster成员
6月16日 修改了issue 的描述
Sunshine_Youngster
Sunshine_Youngster成员
6月16日 评论:

问题根因:

  1. 开pp的时候,模型会被切成N份,当前保存metadata.json只有0卡保存,其他卡等待;
  2. 保存metadata的时候,会区分模型权重和优化器权重,是依靠权重名是否在model_keys里面来判定的,model_keys在开了pp后,0卡只能拿到当前对应的pp切分模型,所以model_keys是缺失了(不是全局的);
  3. 因此,存下来的meta只有0卡对应的stage的模型meta信息是正确的,其他stage的meta信息,会把本来存在model里面的模型权重,文件名定向到opt里面
  4. 这就导致了加载的时候,读了一个错误的meta,对应的文件里面加载不到需要的权重,因此报错

转昱坤解决

likedislike
zhanxiaojie111
zhanxiaojie111
6月16日 评论:

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

likedislike
MindSpore-BotMindSpore-Bot成员
6月18日 关闭了 issue
此处折叠了13条事件消息 查看更多
Yyule100成员
6月22日 移除了负责人 lanshaozuishuai
yule100成员
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

likedislike
zhanxiaojie111
zhanxiaojie111
6月25日 评论:

回归时间:20260625
回归版本:ms:commit_id = '[sha1]:bfb35d9b
hp:commit d4ca5e5
mf:commit c326d4ec0a160741bae5c112ce4c9153cea32a88
回归结果:image.png
回归结论:回归通过

likedislike
Sunshine_YoungsterSunshine_Youngster成员
7月23日 issue状态由 VALIDATION 改变为 DONE
Sunshine_YoungsterSunshine_Youngster成员
7月23日 关闭了 issue